第4章 リファレンス
データ 0 → OFF データ 1 → ON
36. DioGetOutputHandShakeConfig
© 2000, 2014 Interface Corporation. All rights reserved.
OutputHandShakeConfig
ハンドシェーク入力に STB1 イベントを使用する/使用しないの設定を取得する変数へのポ インタ(参照渡し)を指定します。
0 ACK2 イベントを使用しない。ACK2 信号をポーリングしてハ
ンドシェーク出力するため速度が遅くなります。
FBIDIO_ACK2_ENABLE ACK2 イベントを使用する。ACK2 イベントを使用しない場合 よりハンドシェーク出力の速度が向上します。ただし、
DioEventRequestPending関数にてACK2 イベント待ちを使用 できなくなります。
FBIDIO_ACK2_HIGH_EDGE このフラグを指定すると ACK2 の立ち上がりエッジのタイミ ングを ACK2 信号有効としハンドシェーク出力が動作しま す。このフラグを指定しない場合は立ち下がりエッジのタイ ミングを ACK2 信号有効とします。
下記の識別子が論理和で指定されている場合、出力完了タイミングが変更されています。
FBIDIO_WAIT_LAST_ACK2 このフラグを指定すると DioOutputHandShake関数/
DioOutputHandShakeEx関数による最終データの出力後、ACK2 の応答があった時点で関数が完了となります。
このフラグを指定しない場合は、最終データの出力後 ACK2 の応答を待たずに上記出力関数が完了となります。
下記の識別子が論理和で指定されている場合、出力データ設定後に STB2 を有効にするまで の遅延時間が設定されています。
FBIDIO_STB2_DELAY_10US STB2 の遅延時間が 10μs に設定されています。
FBIDIO_STB2_DELAY_30US STB2 の遅延時間が 30μs に設定されています。
FBIDIO_STB2_DELAY_50US STB2 の遅延時間が 50μs に設定されています。
FBIDIO_STB2_DELAY_100US STB2 の遅延時間が 100μs に設定されています。
FBIDIO_STB2_DELAY_300US STB2 の遅延時間が 300μs に設定されています。
FBIDIO_STB2_DELAY_500US STB2 の遅延時間が 500μs に設定されています。
FBIDIO_STB2_DELAY_1MS STB2 の遅延時間が 1ms に設定されています。
FBIDIO_STB2_DELAY_3MS STB2 の遅延時間が 3ms に設定されています。
FBIDIO_STB2_DELAY_5MS STB2 の遅延時間が 5ms に設定されています。
FBIDIO_STB2_DELAY_10MS STB2 の遅延時間が 10ms に設定されています。
FBIDIO_STB2_DELAY_30MS STB2 の遅延時間が 30ms に設定されています。
FBIDIO_STB2_DELAY_50MS STB2 の遅延時間が 50ms に設定されています。
BitMask1
出力データマスクビットを受け取る変数へのポインタ(参照渡し)を指定します。
OUT1~OUT32 に対応します。下記のように各ビットが入力接点に対応しています。
bit31 bit30 bit29 ・・・ bit2 bit1 bit0 OUT32 OUT31 OUT30 ・・・ OUT3 OUT2 OUT1 0 : データを無効にします。
対応する接点への出力を変化させずにハンドシェーク出力を行います。
1 : データ有効 BitMask2
出力データマスクビットを受け取る変数へのポインタ(参照渡し)を指定します。
OUT33~OUT64 に対応します。下記のように各ビットが入力接点に対応しています。
bit31 bit30 bit29 ・・・ bit2 bit1 bit0 OUT64 OUT63 OUT62 ・・・ OUT35 OUT34 OUT33 0 : データを無効にします。
対応する接点への出力を変化させずにハンドシェーク出力を行います。
1 : データ有効
【戻り値】
正常終了した場合は、FBIDIO_ERROR_SUCCESSが返されます。
FBIDIO_ERROR_SUCCESS以外の値が返された場合については、『4.5 戻り値一覧』をご参照くださ い。
© 2000, 2014 Interface Corporation. All rights reserved.
【使用例】
●C 言語 INT Ret;
HANDLE DeviceHandle;
INT OutputHandShakeConfig;
DWORD BitMask1;
DWORD BitMask2;
DeviceHandle = DioOpen("FBIDIO1", FBIDIO_FLAG_NORMAL);
: :
Ret = DioGetOutputHandShakeConfig( DeviceHandle, &OutputHandShakeConfig, &BitMask1, &BitMask2 );
●Visual Basic Dim Ret As Long Dim Name As String Dim DeviceHandle As Long
Dim OutputHandShakeConfig As Long Dim BitMask1 As Long
Dim BitMask2 As Long
Name = "FBIDIO1" & Chr( 0 )
DeviceHandle = DioOpen(Name, FBIDIO_FLAG_NORMAL) :
:
Ret = DioGetOutputHandShakeConfig( DeviceHandle, OutputHandShakeConfig, _ BitMask1, BitMask2 )
●Delphi var
Ret: Integer;
Name: String;
DeviceHandle: THandle;
InputHandShakeConfig: Integer;
BitMask1: DWORD;
BitMask2: DWORD;
begin
Name := 'FBIDIO1';
DeviceHandle := DioOpen(Name, FBIDIO_FLAG_NORMAL);
: :
Ret := DioGetOutputHandShakeConfig( DeviceHandle, OutputHandShakeConfig, BitMask1, BitMask2 );
end;
デバイス名「FBIDIO1」のデバイスのハンドシェーク出力の設定内容を取得します。
© 2000, 2014 Interface Corporation. All rights reserved.