GpSrqEx

image\BLTLRGSQ.gif使用可能ボード image\SETUP.gif image\SANBTN.gif

 

 

■機能       ステータスバイトの設定とともにSRQを送出するかどうかの設定が行えます。GpSrq関数の拡張版です。今後はこちらを使用してください。

 

■書式       

(VB.NET用)

Dim Stb, SrqFlag, EoiFlag As Integer

Dim Ret As Integer

Ret = GpSrqEx(Stb, SrqFlag, EoiFlag)

 

(C言語用)

DWORD   Stb, SrqFlag, EoiFlag;

DWORD   Ret;

Ret = GpSrqEx(Stb, SrqFlag, EoiFlag);

 

(C#用)

uint Stb, SrqFlag, EoiFlag;

uint Ret;

Ret = gpib.SrqEx(Stb, SrqFlag, EoiFlag);

 

(Python用)

Stb, SrqFlag, EoiFlag = ctypes.c_ulong(), ctypes.c_ulong(), ctypes.c_ulong()

Ret = ctypes.c_ulong()

Ret.value = GpibPy.GpSrqEx(Stb, SrqFlag, EoiFlag)

 

■モード     スレーブモード

 

■引数

Stb       :   ステータスバイトを指定

指定可能な範囲:   0 ~ 255


SrqFlag   :   SRQ送出の指定

0       :   SRQ送信なし

1       :   SRQ送信あり


EoiFlag   :   SRQ送出時、ステータスバイトにEOIを付加するかどうかの指定

0       :   EOI送信なし

1       :   EOI送信あり


Ret        :   終了情報(戻り値)

0       :   正常終了

80     :   初期化未実行

140   :  非同期関数の実行中

255   :   パラメータエラー

(詳細は「戻り値一覧」参照)

 

■補足

本関数ではSRQ(スレーブ側の要求)を送出せずにステータスバイトの変更ができます。

 

本関数実行後にマスタよりポーリング(GpPoll関数)されると設定されたステータスバイトが出力されます。
ステータスバイトには40Hを示す以下のBitは使用できません。
このBitはSRQの送出用に予約されています。


このため、引数の設定によって出力されるステータスバイトは次のように変化します。

SrqFlag = 0の場合:   ステータスバイトから上図のBit6がクリア(=0)されます

SrqFlag = 1の場合:   ステータスバイトに上図のBit6がマスク(=1)されます

 

具体的には次のようになります。

ステータスバイトが変化するケース

・Stb = 01H、SrqFlag = 1のとき実際に設定される値:   41H

・Stb = 41H、SrqFlag = 0のとき実際に設定される値:   01H

 

ステータスバイトが変化しないケース

・Stb = 01H、SrqFlag = 0のとき

・Stb = 41H、SrqFlag = 1のとき