GpibSPollAll


機能

設定したアドレスにシリアルポールを行います。

書式

Ret = GpibSPollAll (  Id, AddrArray, StbArray, SrqArray )

引数

Id [ VB.NET: Short ][ C, C++: short ][ C#: short ]

DevIDまたはEqpIDを指定します。

どちらを指定しても動作は変わりません。

 

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" );

            }

}

関連項目

GpibSPoll