LabVIEWでAgilent 3446Xシリーズメータ計測器ドライバを使用したときに遅延/タイムアウトが発生する

更新しました Oct 20, 2023

使用製品

ソフトウェア

  • LabVIEW

ドライバ

  • Instrument Drivers

その他

  • Keysight 34461A
  • Keysight 34465A
  • Keysight 34470A

問題

ドライバに同梱されているサンプルの1つを使用して、NI計測器ドライバネットワークで入手可能なAgilent 3446Xシリーズメータ計測器ドライバを使用してKeysightデジタルマルチメータと通信しようとしていますが、長いハングが発生し、その後に次のエラーが表示されます。

Agilent 3446X Series.lvlib:Error Query.vi->Agilent 3446X Series.lvlib:Reset.vi->Agilent 3446X Series.lvlib:Initialize.vi の VISA 読み取りでエラー -1073807339 が発生しました。
 
考えられる理由:
VISA: (Hex 0xBFFF0015) 操作が完了する前にタイムアウトが経過しました。


このエラーを解決してサンプルを実行するにはどうすればよいですか?

解決策

このエラーは、 Error Query.viVISA書き込みVISA読み取りの呼び出し間隔が近すぎることが原因で発生します。 これはAgilent 3446Xシリーズメーター計測器ドライバの一部です。このサブVIは、報告されたエラーで参照されているVIであるInitialize.viによって呼び出されます。

この問題を解決するには、いくつかのオプションがあります。
  • Error Query.viに軽微な編集を加えて、VI によって呼び出される VISA 読み取りと書き込みの間の時間を確保できます。
    1. Error Query.viC:\Program Files (x86)\National Instruments\<LabVIEWバージョン>\instr.lib\Agilent 3446X Series\Public\Utility\Error Query.viから開きます。
    2. Error Query.viにある While ループ内で、VISA読み取りVISA書き込みの間にケースストラクチャを追加し、VISA書き込みのエラー出力をケースストラクチャのケースセレクターに配線します。 「エラーなし」の場合は、1秒待機し、どちらの場合もケースストラクチャにエラーワイヤを渡します。これらの編集の結果を以下に赤枠で囲っています。

    1. Error Query.viを保存します。新しい編集を適用すると、 Initialize.vi を正常に呼び出すことができるようになります。 タイムアウトエラーが発生することなく、サンプルプログラムが正常に実行できます。
 
  • C:\Program Files (x86)\National Instruments\<LabVIEWバージョン>\instr.lib\Agilent 3446X Series\Private\Default Instrument Setup.viにある Default Instrument Setup.vi を開いて、VISA書き込みに接続された文字列定数から「*SRE48;」を削除します。
    デフォルトの機器セットアップ.png
 
  • Keysight IO Library Suite のインストールも試行できます。これは、Agilent 3446X シリーズ計測器ドライバの ReadMe ファイルに要件として記載されています。