TestSys

NI-488.2

TestSys


目的

IEEE 488.2規格デバイスの自己診断を実行します。

形式

C

void TestSys (int boardID, const Addr4882_t *addrlist, short *resultlist)

Visual Basic

CALL TestSys (boardID%, addrlist%(), resultlist%())

対話式制御(使用に関する注意)

TestSys addrlist

入力

boardID インタフェース番号
addrlist NOADDRで終了するデバイスアドレスの一覧

出力

resultlist テスト結果の一覧: 各項目がaddrlistのアドレスに対応しています。

説明

TestSysaddrlistで指定されたIEEE 488.2規格デバイスに"*TST?"を送信します。"*TST?"メッセージは、デバイスに自己診断を実行するように命令します。16ビットの診断結果コードを各デバイスから読み取り、resultlistに格納します。診断結果0\nは、デバイスが自己診断に合格したことを示します。不合格のコードの意味に関しては、デバイスに付属のマニュアルを参照してください。その他の値はすべてデバイスが自己診断に失敗したことを示しています。関数がエラーを返さなかった(ERRビットがIbstaで設定されていない)場合は、Ibcntに失敗したサービスの数が含まれます。それ以外の場合、Ibcntの意味は返されたエラーによって異なります。タイムアウト時間が経過する前にデバイスが応答を送信しなかった場合、‐1というテスト結果を返し、エラーEABOを返します。

発生する可能性のあるエラー

EABO EABOデバイスから結果を受信する前に、インタフェースがタイムアウトしました。 Ibcntはタイムアウトしたデバイスの指標を示します。タイムアウトしたデバイスの診断結果として、-1が格納されます。
EARG addrlistに無効なアドレスがあるか、addrlistが空です。 Ibcntは、addrlist配列の無効アドレスの指標を示します。
EBUS デバイスがGPIBに接続されていません。
ECIC インタフェースがCIC(Controller-In-Charge: コントローラインチャージ)でありません。SendIFC を参照してください。
EDVR NI-488.2ドライバの構成またはインストールが正しくありません。
EHDL boardIDは範囲外です。
ELCK 他の処理によりロックされているため、要求された動作が行われませんでした。
ENEB インタフェースが取り付けられていないか、正しく構成されていません。
ENOL GPIBにリスナがありません。
EOIP 非同期I/Oの処理中です。