01-22-2015 04:11 AM
Agilent DSO-X 3014Aを使って3チャンネル同時に波形データを取得したいと考え、ドライバに入っているRead Waveformsのmultiple waveformsを用いてみたのですが、3チャンネル分の数値がどのようなフォーマットで出力されているのかよくわからず、波形データの分離がうまくいきません。
信号分割を用いて波形データの分離を試みたのですが、信号分割後のチャンネル1の配列しかまともに出力されておらず、信号分割前と、信号分割後のチャンネル2とチャンネル3はほとんど配列にデータが入っていない状態でした。
どのようにすれば波形データの分離が正しく行えるのでしょうか。
宜しくお願いします。
01-23-2015 09:55 AM
Read Waveformsの出力が配列なのでしたら、指標配列でそれぞれのチャンネルデータが取り出せると思います。
01-28-2015 03:08 AM
返信ありがとうございます。
添付の画像を見ていただければわかると思うのですが、分割前の配列に3つの数値しか入っていません。
自分では波形データに入っているらしい、Y(振幅)、dt(時間の差)、とt0(開始時間のタイムスタン
理想では、取得した3チャンネルのデータを分離させて1チャンネルごとに1次元配列として出力させたいです。
Multiple Waveformsで取得したデータの中身やデータの形式だけでも教えていただけると助かります。
01-28-2015 10:51 AM
xyz の表示がうまくいっていないのは、波形データの配列を数値の1次元配列で無理に表示しようとしているからかもしれません。本来は最低でも2次元配列でないと複数チャンネルのデータは表示できませんよね。LabVIEWが丁寧に配線を許可してしまっているのが問題ともいえますが。
以下のようにしてみるといけると思います。
02-02-2015 01:07 AM - 編集済み 02-02-2015 01:33 AM
返信ありがとうございます。
いろいろ試したところ、どうやらデータの分岐以前に波形データの読み込みがうまくいっていないことがわかりました。
Read Multiple Waveformで、データを読むチャンネルを整数型の配列で指定するときに、
0→channel1
1→channel2
2→channel3
という対応関係がありますが、この時指定する配列に1が入っていると(つまりchannel2のデータをとろうとすると)クエリエラーとなってしまいます。
エラーになってしまうのは配列に1(channel2)または3(channnel4)が一つでも入っているときです。
Read Multiple Waveformsをダブルクリックして仕様を確認しても原因がわかりませんでした。
また、Read Single Waveformで同様のことを試しても、同じ結果となりました。
ドライバのバグなのでしょうか?
因みに、ch1とch3のみでご教示いただいた方法で信号分割を試したところ、こちらはうまくいきました。
誠にありがとうございました。