機能
相手機器のパラレルポールの応答ラインを設定します。
書式
Ret = GpibSetPPoll ( Id, AddrArray, DataLineArray, PolarityArray )
引数
Id [ VB.NET: Short ][ C, C++: short ][ C#: short ]
どちらを指定しても動作は変わりません。
AddrArray [ VB.NET: Short() ][ C, C++: short * ][ C#: short[] ]
パラレルポールを行うスレーブ機器のアドレスを配列で設定します。(最大31機器)
0 ~ 30 |
スレーブ機器のアドレス |
-1 |
配列の末尾に必ず使用してください |
(二次アドレスを使用する場合は一次アドレスの上位側に96~126(60H~7EH)に相当する値をORしてください)
DataLineArray [ VB.NET: Short() ][ C, C++: short * ][ C#: short[] ]
機器に対応したDIO応答ラインを設定します。
DIOラインは8ビット幅なので最大8機器まで同時に機器の存在を確認できます。
また、同じビットに複数機器を割り当てを行うことによって8台以上の機器の存在を確認できます。
1 ~ 8 |
DIOライン番号 |
-1 |
配列の末尾に必ず使用してください |
PolarityArray [ VB.NET: Short() ][ C, C++: short * ][ C#: short[] ]
機器に対応した極性を設定します。
0 |
逆相 |
1 |
同相 |
-1 |
配列の末尾に必ず使用してください |
戻り値
Ret [ VB.NET: Integer ][ C, C++: long ][ C#: int ]
0 |
正常終了 |
10001 |
無効なIDが指定された |
10002 |
ドライバを呼び出せません |
12252 |
AddrArrayの要素が設定範囲外です または、要素が32より多いです |
12253 |
DataLineArrayの要素が設定範囲外です |
12254 |
PolarityArray の要素が設定範囲外です |
12262 |
AddrArrayがNULLポインタです |
12263 |
DataLineArrayがNULLポインタです |
12264 |
PolarityArrayがNULLポインタです |
22273 |
デバイスがスレーブ(非コントローラ)の時に、マスタ(コントローラ)用の関数を実行しました |
22293 |
AddrArray配列と他の配列数が異なります |
初期値
AddrArray |
-1 |
設定なし |
DataLineArray |
-1 |
設定なし |
PolarityArray |
-1 |
設定なし |
説明
使用例
一次アドレス1の機器をDIOライン1で同相応答、一次アドレス2の機器をDIOライン2で同相応答、一次アドレス3の機器をDIOライン3で逆相応答、一次アドレス4の機器をDIOライン4で逆相応答に設定します。
C言語 |
short AddrArray[9], DataLineArray[9], PolarityArray[9]; AddrArray[0] = 1; DataLineArray[0] = 1; PolarityArray[0] = 1; AddrArray[1] = 2; DataLineArray[1] = 2; PolarityArray[1] = 1; AddrArray[2] = 3; DataLineArray[2] = 3; PolarityArray[2] = 0; AddrArray[3] = 4; DataLineArray[3] = 4; PolarityArray[3] = 0; AddrArray[4] = -1; DataLineArray[4] = -1; PolarityArray[4] = -1; Ret = GpibSetPPoll ( Id, AddrArray, DataLineArray, PolarityArray ); |
一次アドレス1,二次アドレス96(60H)の機器をDIOライン1で同相応答、一次アドレス2,二次アドレス126(7EH)の機器をDIOライン2で同相応答、一次アドレス3,二次アドレス96(60H)の機器をDIOライン3で逆相応答、一次アドレス4,二次アドレス126(7EH)の機器をDIOライン4で逆相応答に設定します。
C言語 |
short Talker, ListenerArray[255]; Talker = 0 + 0x6000; ListenerArray[0] = 1; ListenerArray[1] = 2 + 0x7e00; short AddrArray[9], DataLineArray[9], PolarityArray[9]; AddrArray[0] = 1 + 0x6000; DataLineArray[0] = 1; PolarityArray[0] = 1; AddrArray[1] = 2 + 0x7e00; DataLineArray[1] = 2; PolarityArray[1] = 1; AddrArray[2] = 3 + 0x6000; DataLineArray[2] = 3; PolarityArray[2] = 0; AddrArray[3] = 4 + 0x7e00; DataLineArray[3] = 4; PolarityArray[3] = 0; AddrArray[4] = -1; DataLineArray[4] = -1; PolarityArray[4] = -1; Ret = GpibSetPPoll ( Id, AddrArray, DataLineArray, PolarityArray ); |
関連項目
GpibGetPPoll, GpibPPoll, GpibResetPPoll