■VB.NET用
Dim Ret, SetFlag, Reg, Preg, Cmd(3), Srlen As Integer
Dim Srbuf As String
SetFlag = 0 ' 取得
Reg = &H8 ' ステータス(マイアドレス)指定
Ret = GpBoardstsEx(SetFlag, Reg, Preg)
Cmd(0) = 2 ' トーカ+リスナ数
Cmd(1) = Preg ' トーカ(マイアドレス)
Cmd(2) = 3 ' リスナ
Srbuf = "*IDN?" ' 送信データ
Srlen = Len(SrBuf) ' 送信データ長
Ret = GpTalkEx(Cmd, Srlen, Srbuf)
■C言語用
DWORD Ret, SetFlag, Reg, Preg, Cmd[3], Srlen;
BYTE Srbuf[256];
SetFlag = 0; /* 取得 */
Reg = 0x8; /* ステータス(マイアドレス)指定 */
Ret = GpBoardstsEx(SetFlag, Reg, &Preg);
Cmd[0] = 2; /* トーカ+リスナ数 */
Cmd[1] = Preg; /* トーカ(マイアドレス) */
Cmd[2] = 3; /* リスナ */
lstrcpy((char*)Srbuf, "*IDN?"); /* 送信データ */
Srlen = lstrlen((char*)SrBuf); /* 送信データ長 */
Ret = GpTalkEx(Cmd, &Srlen, Srbuf);
■C#用
uint Ret, SetFlag, Reg, Preg, Srlen;
uint[] Cmd = new uint[3];
string Srbuf;
SetFlag = 0; /* 取得 */
Reg = 0x8; /* ステータス(マイアドレス)指定 */
Ret = gpib.BoardstsEx(SetFlag, Reg, out Preg);
Cmd[0] = 2; /* トーカ+リスナ数 */
Cmd[1] = Preg; /* トーカ(マイアドレス) */
Cmd[2] = 3; /* リスナ */
Srbuf = "*IDN?"; /* 送信データ */
Srlen = Srbuf.Length; /* 送信データ長 */
Ret = gpib.TalkEx(Cmd, out Srlen, Srbuf);
■Python用
Ret, SetFlag, Reg, Preg, Cmd, Srlen = ctypes.c_ulong(), ctypes.c_ulong(), ctypes.c_ulong(), ctypes.c_ulong(), (ctypes.c_ulong * 3)(), ctypes.c_ulong()
Srbuf = (ctypes.c_ubyte * 256)()
SetFlag.value = 0 # 取得
Reg.value = 0x8 # ステータス(マイアドレス)指定
Ret.value = GpibPy.GpBoardstsEx(SetFlag, Reg, ctypes.byref(Preg))
Cmd[0] = 2 # トーカ+リスナ数
Cmd[1] = Preg.value # トーカ(マイアドレス)
Cmd[2] = 3 # リスナ */
Srlen.value = len("*IDN?".encode('UTF-8')) # 送信データ長
ctypes.memmove(Srbuf, "*IDN?".encode('UTF-8'), Srlen.value) # 送信データ
Ret.value = GpibPy.GpTalkEx(Cmd, ctypes.byref(Srlen), Srbuf)