02-19-2016 03:14 AM
いつもお世話になっております。
初めて利用させていただきます。
LabVIEWの使用経験はありません。
現在LabVIEWからオシロスコープを制御しようと試しています。
サンプルを実行したところでエラーが発生し、解決策がわからないため、質問します。
エラーを発生させずに、サンプルを実行するにはどのようにすればいいでしょうか?
・LabVIEWのバージョンとオシロスコープの種類は下記になります。
OS:Windows7
バージョン:LabVIEW2015(32ビット)
オシロスコープ:LeCroy WaveJet 314A
・ドライバーは下記URLから「LeCroy WaveJet Series Oscilloscope Certified LabVIEW Plug and Play (project-style) Instrument Driver」のLabVIEW2015対応版をダウンロードしてインストールしました。
・オシロスコープ自体のドライバはメーカーHPからダウンロードしてインストール済みです。
NI MAXの「デバイスとインターフェース」から検証ボタンを押すと「VISAセッションを開くのに成功しました」と出ます。
・実行したサンプルは[LeCroy WaveJet Series Edge Triggered Acquisition.vi]です。
何も変更を行っていません。
・発生するエラーは下記になります。
エラー:エラーコード85
エラーコード85がLeCroy WaveJet Series.lvlib:Error Query.vi->LeCroy WaveJet Series.lvlib:Configure Channel.vi->LeCroy WaveJet Series Edge Triggered Acquisition.vi内の文字列からスキャン (arg 1)で発生
以上、よろしくお願いいたします。
02-20-2016 08:48 PM
Wavejet 314AはMAXでどのように認識されていますか?
GPIBかEthernetケーブルかわかりませんが、いずれにせよMAXから「*IDN?」などのコマンドを投げて応答が返ってくる状態になれば制御できるものと思われます。
今の状態だと、おそらく以下の図の部分で予想されるデータ(エラーコードを表す数値)が返ってきていないと思われます。
MAXでどのように認識されているか、スクリーンショットを頂けると何か分かるかもしれません。
よろしくお願いします。
02-21-2016 06:47 PM
TAKASU様
返信ありがとうございます。
以下、回答になります。
>>GPIBかEthernetケーブルかわかりませんが
接続はUSBケーブルで行っています。オシロスコープにUSBポートしかついていませんでした。
>>いずれにせよMAXから「*IDN?」などのコマンドを投げて応答が返ってくる状態になれば制御できるものと思われます。
VISA Test Panelから「*IDN?\n」を投げた際の応答のスクリーンショットを載せておきます。
>>MAXでどのように認識されているか、スクリーンショットを頂けると何か分かるかもしれません。
どの部分を載せればいいのかわからなかったため、いくつか載せておきます。
見当違いの部分でしたら、申し訳ございません。
また、VISA Test PanelのView AttributesでIs Port ConnectedがErrorとなっていました。
こちらが原因なのでしょうか?
以上、よろしくお願いいたします。
02-22-2016 03:38 AM
「Error 85 Lecroy Scope labview」で検索すると似たような問題がヒットしましたのでUPします。
下記URLが一番近いと思います。
http://forums.ni.com/t5/LabVIEW/error-85-using-Lecroy-wavejet-324A/td-p/2341206
参考までに(ぺこ)
02-22-2016 06:56 PM
su-sann5073様
回答ありがとうございます。
英語なので解読が困難ですが、
教えていただいたリンク先のWrite.viを使用してみたところ、
エラー85の発生場所が変わりました。
とても参考になりました。
02-22-2016 07:21 PM
poko様
オシロのバグのようです(USBインタフェースでセミコロン付きで複数コマンドを送信するとオシロが/rを送信する場合がある?)
私も英語をうまく解読できなく的確なフォローができないですがポイントは(多分)
①オシロのファームウエアのバージョンを確認された方がいいともいます。(version 5.06が良い?)
②poko様がやられたWrite.viを変更するの件(←もしかしたら不要かも)
③Leonard33さんの最後のレス ←LabVIEWドライバ(LabVIEW 8.2.1) を見てみましたが同じ処理をしてましたので更新済みかと思います。
>エラー85の発生場所が変わりました。
根本的な解決にはなって無いようですね・・・
02-22-2016 08:59 PM
su-sann5073様、有用なリンクをありがとうございます。まさにこれですね。
*ESR?の戻り値が「\r+000000」のような形なんでしょうかね。計測器の戻り値を確認しつつ、計測器ドライバが適切にハンドルするように直すしかないかと思われます。(せっかく計測器ドライバがあるのに。。。)
そもそも*ESR?は計測器のエラーステータスリクエストなので、計測器でのエラーを気にしなければこのコマンドは実行しなくても良いかと思います。
実行しながらカスタマイズして頂ければと思います。
02-23-2016 01:43 AM
su-sann5073様
ポイントの解説ありがとうございます。
Write.viを変更した場合のがエラー発生個所が少なかったので、
変更して使用するようと思います。
02-23-2016 01:51 AM
TAKASU様
アドバイスありがとうございます。
「VISA Test Panel」から「*ESR?\n]」を投げた際の戻り値に、
「\r+000000\.」を確認しました。
毎回ではないですが、この形になることのほうが多いです。
参考に画像を添付しておきます。
測定器ドライバの修正は時間がかかりそうですので、
高確率でエラーの発生する箇所のエラー入出力は無視する方向で行きます。
02-24-2016 08:09 PM
poko様
文字列からスキャンのエラー85の動作を確認してみました。(LABVIEW2010で作成)
①先頭に\nや\rのみ又は、\nや\rに数値以外の文字がある⇒エラー85(arg 2)
②数値以外の文字⇒エラー85(arg 1)
Error Query.viでエラー85の時、数値以外の文字が受信されている可能があります。
ってことで、MAXで単独に確認するのも良いですがVI実行時の*ESR?の応答を見ながらカスタマイズした方が良いと思います。
①Error Query.viの文字列からスキャンに結線している入力文字列を別途文字列表示器('\'コード表示)を作成して結線
②Error Query.viを開いた状態で実行