高速なコンピュータに変更したらGPIBタイムアウトエラー(EABO)が発生する

更新しました Nov 29, 2022

使用製品

ハードウェア

  • GPIB-RF
  • LC-GPIB
  • MC-GPIB
  • TC-GPIB
  • GPIB-PRL

問題

最近、古いコンピュータからより高速な新しいコンピュータに買い換えました。対応バスの関係でGPIBデバイスを変更する可能性もあります。古いコンピュータでは、正常に計測器と通信できていましたが、新しいコンピュータでは同じプログラムを実行してもタイムアウトエラー(EABO)が発生します。

対話式制御(IBIC)を使用して計測器と通信する場合は、すべて正常に動作します。この問題は、GPIBデバイスにプログラム的にアクセスする場合にのみ発生します。なぜエラーが発生するのですか?

解決策

断続的なタイムエラーが発生する、その他の通信問題がある、もしくは古いGPIBバス対応計測器を使用している場合、計測器はIEEE 488仕様に完全準拠していない可能性があります。このような場合、通信は低速なコンピュータでは問題なく、高速なコンピュータではタイムアウトエラーが発生します。

いくつかの古い計測器は、実際にデータを受信する準備ができていなくても、受信可能であることを示す方法でGPIBデバイスと通信します。この動作は、古いコンピュータではより速くみえますが、高速なコンピュータではバスタイミングを狂わせる原因になります。

下記のいずれかの方法でタイミングの問題を解決できる場合があります。
  1. GPIBコマンド間に待機関数を追加します。
     -または-
  2. GPIB構成ユーティリティでGPIBバスタイミングを最も遅い設定に変更します。
2つ目のオプションは、GPIBコントローラはバス上に有効なデータが存在する前に待機して、データ有効(DAV)ラインがアサートされるタイミングのみ影響があるため、効果が少ないです。

メモ: DAVのアサートは、毎回バイト情報がデバイスに送られることが発生するGPIBハンドシェークにおけるステップの1つです。

これらの方法でタイミング問題が解決しない場合、もしくはその他の潜在的な通信問題が発生する場合、IEEE 488仕様に準拠するGPIBインタフェースを搭載する計測器に変更する必要があります。追加の提案については、関連リンクのGPIBサポートページを参照してください。