設定例

VB.NET用

Dim Ret, Cmd(31) As Integer

Dim talker, stbyte, Cnt As Integer

Dim Pstb(31) As Integer   ' ステータスバイト用配列 

Dim Psrq(31) As Integer   ' SRQ受信ステータス用配列 

Cmd(0) = 2   ' ポーリングする相手機器数 

Cmd(1) = 3   ' 相手機器アドレス 

Cmd(2) = 4   ' 相手機器アドレス 

Ret = GpPollEx(Cmd, Pstb, Psrq)

For Cnt = 1 to Cmd(0)

    If (Cnt > Psrq(0)) Then

        Exit For

    End If

    If (Psrq(Cnt) == 1) Then   ' SRQが送出されていた場合 

        talker = Cmd(Cnt)   ' SRQを送出した機器のアドレス 

        stbyte = Pstb(Cnt)   ' ステータスバイト 

    End If

Next

 

C言語用

DWORD Ret, Cmd[31];

DWORD talker, stbyte, Cnt;

DWORD Pstb[31];   /* ステータスバイト用配列 */

DWORD Psrq[31];   /* SRQ受信ステータス用配列 */

Cmd[0] = 2;   /* ポーリングする相手機器数 */

Cmd[1] = 3;   /* 相手機器アドレス */

Cmd[2] = 4;   /* 相手機器アドレス */

Ret = GpPollEx(Cmd, Pstb, Psrq);

for (Cnt = 1; Cnt <= Cmd[0]; Cnt++) {

 if (Cnt > Psrq[0]) {

  break;

 }

 if (Psrq[Cnt] == 1) {   /* SRQが送出されていた場合 */

  talker = Cmd[Cnt];   /* SRQを送出した機器のアドレス */

  stbyte = Pstb[Cnt]; /* ステータスバイト */

 }

}

 

C#用

uint Ret;

uint talker, stbyte, Cnt;

uint[] Cmd = new uint[31];

uint[] Pstb = new uint[31];   /* ステータスバイト用配列 */

uint[] Psrq = new uint[31];   /* SRQ受信ステータス用配列 */

Cmd[0] = 2;   /* ポーリングする相手機器数 */

Cmd[1] = 3;   /* 相手機器アドレス */

Cmd[2] = 4;   /* 相手機器アドレス */

Ret = gpib.PollEx(Cmd, Pstb, Psrq);

for (Cnt = 1; Cnt <= Cmd[0]; Cnt++) {

 if (Cnt > Psrq[0]) {

  break;

 }

 if (Psrq[Cnt] == 1) {   /* SRQが送出されていた場合 */

  talker = Cmd[Cnt];   /* SRQを送出した機器のアドレス */

  stbyte = Pstb[Cnt]; /* ステータスバイト */

 }

}

 

Python用

Ret, Cmd = ctypes.c_ulong(), (ctypes.c_ulong * 31)()

talker, stbyte, Cnt = ctypes.c_ulong(), ctypes.c_ulong(), ctypes.c_ulong()

Pstb = (ctypes.c_ulong * 31)()   # ステータスバイト用配列 

Psrq = (ctypes.c_ulong * 31)()   # SRQ受信ステータス用配列 

Cmd[0] = 2   # ポーリングする相手機器数 

Cmd[1] = 3   # 相手機器アドレス 

Cmd[2] = 4   # 相手機器アドレス 

Ret.value = GpibPy.GpPollEx(Cmd, Pstb, Psrq)

for Cnt in rang(1, Cmd[0]+1):

    if Cnt > Psrq[0]:

        break

    if Psrq[Cnt] == 1:   # SRQが送出されていた場合 

        talker.value = Cmd[Cnt]   # SRQを送出した機器のアドレス 

        stbyte.value= Pstb[Cnt] # ステータスバイト