11-04-2021 03:15 AM
皆様お世話になります。研究でLabviewを使わせていただいている学生です。
現在RIGOL社のオシロスコープの2チャンネルからデータを読み取り、それらの相互相関をとるプログラムを作成しております。
現在、取得するデータ長を増やすためVISA読み取り関数のバイトカウントを増やそうとしていたのですが、1012以上の値を渡すとリターンカウントが1012になってしまい、それぞれのデータ長もうまく増えませんでした。
読み取りデータに終端文字が入っていて途中で読み取りが終了しているのかとも考え、VISAopen関数をVISAシリアルポート構成関数に変更して終端文字で終了しないように変更しようともしたのですが、エラーが出てしまいその解決方法もわからないという状態です。
これらの解消法、もしくはその他の読み取りデータを増やす手段があれば教えていただきたいです。
解決済! 解決策の投稿を見る。
11-04-2021 10:15 PM
気になるのはオシロスコープから送信されてくるデータポイント数が管理されていないことです。VISA読み取りのバイト数だけいじっても変わりません。
エラーは読み取ったデータの先頭に#文字が含まれていないせいだと思います。前回読み切っていないデータの残りが読み込まれている可能性はないでしょうか?
RIGOLの機種は何ですか?
LabVIEWで計測器ドライバを探してもヒットしませんか?
11-07-2021 09:38 PM
お答えいただきありがとうございます。
返信が遅くなってしまい申し訳ありません。
使用している機種はRIGOL社のMSO5000シリーズのMSO5074という機種です。
計測器ドライバをLabVIEW IDFinderで検索してみたのですが、RIGOL社の他のシリーズのものがヒットするばかりで使用機種のものは見つかりませんでした。
読み取りエラーに関してですが、読み切っていないデータに考えが及んでいなかったため改めて確認してみようと思います。
基本的な質問で申し訳ないのですが、データポイント数の管理はどのように行うことができるのでしょうか。
11-07-2021 11:20 PM
波形データのバイト数はオシロスコープの1波形当たりのデータポイント数によって変わるはずですが、それが処理されていません。
WAV:DATA?コマンドを送ると、オシロスコープからはバイトカウントと波形データが返ってきます。
電圧変換のための係数は垂直軸の感度や分解能で決まるので、その値も読み込んでおく必要があります。
メーカーが同じ同世代の機種ならば共通部分のコマンドは同一のことが多いので、試しにDS4000シリーズあたりのドライバをインストールしてみたらいかがでしょうか。
サンプルファインダ(たぶんハードウェア入出力>>計測器ドライバ)で波形転送のサンプルVIが見つかると思います。上記のバイトカウントの処理もやってくれているはずです。
コマンドエラーが起こったらマニュアルと突き合わせて修正してください。
11-08-2021 12:12 AM
ありがとうございます。
教えていただいたことをも基にもう一度プログラムを見直してみようと思います。