機能
設定したアドレスにシリアルポールを行います。
書式
Ret = GpibSPollAll ( Id, AddrArray, StbArray, SrqArray )
引数
Id [ VB.NET: Short ][ C, C++: short ][ C#: short ]
どちらを指定しても動作は変わりません。
AddrArray [ VB.NET: Short() ][ C, C++: short * ][ C#: ref short[] ]
シリアルポールを行うスレーブ機器のアドレスを配列で設定します。
0 ~ 30 |
スレーブ機器のアドレス |
-1 |
配列の末尾に必ず使用してください |
StbArray [ VB.NET: Short() ][ C, C++: short * ][ C#: ref short[] ]
ステータスバイトを配列で取得します。
0 ~ 255 |
ステータスバイト |
SrqArray [ VB.NET: Short() ][ C, C++: short * ][ C#: ref short[] ]
SRQラインが有効か無効か配列で取得します。
0 |
SRQが無効 |
0以外 |
SRQが有効 |
戻り値
Ret [ VB.NET: Integer ][ C, C++: long ][ C#: int ]
0 |
正常終了 |
10001 |
無効なIDが指定された |
10002 |
ドライバを呼び出せません |
12152 |
AddrArrayの要素がNULLポインタです |
12162 |
AddrArrayがNULLポインタです |
12163 |
StbArrayがNULLポインタです |
12164 |
SrqArrayがNULLポインタです |
22173 |
デバイスがスレーブ(非コントローラ)の時に、マスタ(コントローラ)用の関数を実行しました |
22192 |
強制終了キーによる終了 |
22194 |
タイムアウト |
22195 |
接続機器なし(GPIBエラー) |
22197 |
他のプロセスが使用中 |
初期値
なし
説明
使用例
アドレス1のスレーブ機器アドレス2のスレーブ機器にシリアルポールを実行し、正常終了の場合にSRQを発見したアドレスとステータスバイトを出力します。
C言語 |
short AddrArray[15], StbArray[15], SrqArray[15], i, k; AddrArray[0] = 1; AddrArray[1] = 2; AddrArray[2] = -1; Ret = GpibSPollAll ( Id, AddrArray, StbArray, SrqArray ); if ( Ret == 0 ) { i = 0; k = 0; while ( AddrArray[i] != -1 ) { if ( SrqArray [i] != 0 ) { Printf ( "%ld\n", AddrArray[i] ); Printf ( "%ld\n", StbArray[i] ); k++; } i++; } if ( k == 0) Printf ( "No SRQ\n" ); } } |
関連項目