アプリケーションでエラーが発生した際にGPIBデバイスをプログラム的に初期化するには



使用ソフトウェア:
使用ソフトウェア・バージョン: N/A
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: LabVIEW Development Systems

問題:
GPIBを使用したアプリケーションを長時間稼働していますが、たまにGPIB読み取り関数でタイムアウトエラーなどが発生してGPIB計測器との通信ができなくなります。アプリケーションを終了して再起動せずに、計測器との通信を復帰するにはどうすれば良いですか?


解決策:
エラーが発生した後に計測器との通信を復帰するには、GPIBデバイスにInterface Clearのコマンドを送信する必要があります。

NI-488.2 APIを使用してプログラミングしている場合、LabVIEWでは「IFC送信(SendIFC)」関数で送信し、C言語およびVisual Basic 6ではSendIFC()関数、.NETではSendInterfaceClearメソッドで送信します。

NI-VISA APIを使用してプログラミングしている場合、LabVIEWでは「VISA GPIB IFC送信(VISA GPIB Send IFC)」関数で送信し、C言語およびVisual Basic 6ではviSendGpibIFC()関数、.NETではSendInterfaceClearメソッドで送信します。

バスをリセットするには「システムリセット(ResetSys)」関数、ResetSys()関数、もしくはResetSystemメソッドを使用することも可能ですが、バス上にあるすべてのIEEE 488.2規格のデバイスがリセットおよび初期化されます。


関連リンク:
LabVIEWヘルプ: SendIFC関数
LabVIEWヘルプ: VISA GPIB IFC送信関数
LabVIEWヘルプ: システムリセット関数

NI-488.2ヘルプ(SendIFC関数viSendGpibIFC関数ResetSys関数 (ZIPファイル)

NI-488.2 .NET Class Library Help: SendInterfaceClear Method
NI-VisaNS.NET Class Library Help: SendInterfaceClear Method
NI-488.2 .NET Class Library Help: ResetSystem Method

添付:





報告日時: 12/21/2001
最終更新日: 06/07/2016
ドキュメントID: 2GKB2AKZ