第 3 章 導入方法 7
3.6 機器アドレステーブルについて
機器アドレステーブルには、1次、2次アドレスを混在して複数台の機器を指定することができます。
コントローラ時、機器の指定が必要な関数にて機器アドレステーブルを引数とする場合、以下のよう にint型(整数型)の配列に機器のアドレスを設定して使用します。
3.6.1 データ送信時
弊社GP-IBインタフェースからデータを送信し、指定機器で受信します。
アドレスとして指定するのは全て受信先機器のアドレスとなります。
■1 次アドレスのみの場合(1 台だけを指定する場合)
配列Index 格納値
0 1次アドレス
1 終端(-1)
【例】
受信先機器のアドレスが 1 次アドレス=2 の場合
●C 言語
int nAdrs[2] = { 2, -1 };
●Visual Basic Dim nAdrs(1) As Long nAdrs(0) = 2
nAdrs(1) = -1
●Delphi var
nAdrs[0..2] of Integer;
nAdrs[0] := 2;
nAdrs[1] := -1;
■2 次アドレスを設定した場合(1 台だけを指定する場合)
配列Index 格納値
0 1次アドレス
1 2次アドレス
2 終端(-1)
【例】
受信先機器のアドレスが 1 次アドレス=2、2 次アドレス=96 の場合
●C 言語
int nAdrs[3] = { 2, 96, -1 };
●Visual Basic Dim nAdrs(2) As Long nAdrs(0) = 2
nAdrs(1) = 96 nAdrs(2) = -1
●Delphi var
nAdrs[0..3] of Integer;
nAdrs[0] := 2;
nAdrs[1] := 96;
nAdrs[2] := -1;
■1 次アドレスのみの場合(複数台を指定する場合)
配列Index 格納値
0 1次アドレス 1 1次アドレス
… …
n-1 1次アドレス
n 終端(-1)
【例】
1台目の受信先機器のアドレスが 1 次アドレス=2、2 台目の受信先機器のアドレスが 1 次 アドレス=7 の場合(本ドライバが送信したデータは 2 台の機器とも同じデータを同時に受 信します)
●C 言語
int nAdrs[3] = { 2, 7, -1 };
●Visual Basic Dim nAdrs(2) As Long nAdrs(0) = 2
nAdrs(1) = 7 nAdrs(2) = -1
●Delphi var
nAdrs[0..3] of Integer;
nAdrs[0] := 2;
nAdrs[1] := 7;
nAdrs[2] := -1;
■2 次アドレスを設定した場合(複数台を指定する場合)
配列Index 格納値
0 1次アドレス 1 2次アドレス 2 1次アドレス
3 2次アドレス
… …
n-2 1次アドレス n-1 2次アドレス
n 終端(-1)
【例】
1台目の受信先機器のアドレスが 1 次アドレス=2、2 次アドレス=96、2 台目の受信先機器 のアドレスが 1 次アドレス=7、2 次アドレス=97 の場合(本ドライバが送信したデータは 2 台の機器とも同じデータを同時に受信します)
●C 言語
int nAdrs[5] = { 2, 96, 7, 97, -1 };
●Visual Basic Dim nAdrs(4) As Long nAdrs(0) = 2
nAdrs(1) = 96 nAdrs(2) = 7 nAdrs(3) = 97 nAdrs(4) = -1
●Delphi var
nAdrs[0..5] of Integer;
nAdrs[0] := 2;
nAdrs[1] := 96;
nAdrs[2] := 7;
nAdrs[3] := 97;
nAdrs[4] := -1;
3.6.2 データ受信時
配列の先頭位置に記述されたアドレスの機器からデータを送信し、弊社GP-IBインタフェース(およ び、配列に続けて記述されたアドレスの機器)で受信します。
配列の先頭位置に記述されたアドレスが、送信機器アドレスとなります。
この時、他に受信させる機器を指定する場合には、続いて機器アドレスを記述することにより設定し ます。
■1 次アドレスのみの場合(1 台だけを指定する場合)
配列Index 格納値
0 1次アドレス(送信機器)
1 終端(-1)
【例】
送信元機器のアドレスが 1 次アドレス=2 の場合
●C 言語
int nAdrs[2] = { 2, -1 };
●Visual Basic Dim nAdrs(1) As Long nAdrs(0) = 2
nAdrs(1) = -1
●Delphi var
nAdrs[0..2] of Integer;
nAdrs[0] := 2;
nAdrs[1] := -1;
■2 次アドレスを設定した場合(1 台だけを指定する場合)
配列Index 格納値
0 1次アドレス(送信機器)
1 2次アドレス(送信機器)
2 終端(-1)
【例】
送信元機器のアドレスが 1 次アドレス=2、2 次アドレス=96 の場合
●C 言語
int nAdrs[3] = { 2, 96, -1 };
●Visual Basic Dim nAdrs(2) As Long nAdrs(0) = 2
nAdrs(1) = 96 nAdrs(2) = -1
●Delphi var
nAdrs[0..3] of Integer;
nAdrs[0] := 2;
nAdrs[1] := 96;
nAdrs[2] := -1;
■1 次アドレスのみの場合(他の受信機器も指定する場合)
配列Index 格納値
0 1次アドレス(送信機器) 1 1次アドレス(受信機器)
… …
n-1 1次アドレス(受信機器)
n 終端(-1)
【例】
送信元機器のアドレスが 1 次アドレス=2、受信先機器のアドレスが 1 次アドレス=7 の場合
(1 台目の機器が送信したデータを本ドライバと受信先の機器とが同時に受信します)
●C 言語
int nAdrs[3] = { 2, 7, -1 };
●Visual Basic Dim nAdrs(2) As Long nAdrs(0) = 2
nAdrs(1) = 7 nAdrs(2) = -1
●Delphi var
nAdrs[0..3] of Integer;
nAdrs[0] := 2;
nAdrs[1] := 7;
nAdrs[2] := -1;
■2 次アドレスを設定した場合(他の受信機器も指定する場合)
配列Index 格納値
0 1次アドレス(送信機器) 1 2次アドレス(送信機器) 2 1次アドレス(受信機器)
3 2次アドレス(受信機器)
… …
n-2 1次アドレス(受信機器) n-1 2次アドレス(受信機器)
n 終端(-1)
【例】
送信元機器のアドレスが 1 次アドレス=2、2 次アドレス=96、受信先機器のアドレスが 1 次 アドレス=7、2 次アドレス=97 の場合(1 台目の機器が送信したデータを本ドライバと受信 先の機器とが同時に受信します)
●C 言語
int nAdrs[5] = { 2, 96, 7, 97, -1 };
●Visual Basic Dim nAdrs(4) As Long nAdrs(0) = 2
nAdrs(1) = 96 nAdrs(2) = 7 nAdrs(3) = 97 nAdrs(4) = -1
●Delphi var
nAdrs[0..5] of Integer;
nAdrs[0] := 2;
nAdrs[1] := 96;
nAdrs[2] := 7;
nAdrs[3] := 97;
nAdrs[4] := -1;