指定した論理ビットのトリガ監視を開始します。
Ret = DioNotifyTrg ( Id , TrgBit , TrgKind , Tim , hWnd )
Id
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
DioInitで取得したデバイスIDを指定します。
TrgBit
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
トリガ監視を行なう入力論理ビットを指定します。トリガ監視可能な最大論理ビットは255です。
TrgKind
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
指定ビットの監視内容として、立ち上がり、立下り、もしくは両方を論理和で指定します。以下の定義値が有効です。
定義 |
値 [Dec] |
意味 |
DIO_TRG_RISE |
1 |
立ち上がり |
DIO_TRG_FALL |
2 |
立下り |
Tim
[ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long
]
トリガの監視周期をmsec単位で指定します。トリガの監視周期はデバイス毎の設定となります。
DI-XX(USB), DIO-XX/XX(USB) の設定可能範囲は、1msec~2147483647msecとなります。
その他デバイスは、10msec~2147483647msecとなります。
hWnd
[ VB.NET: IntPtr ] [ C, C++: HWND ] [ C#: IntPtr ] [ Python: ctypes.wintypes.HANDLE
]
トリガメッセージを受け取るウィンドウハンドルを指定します。
ウィンドウハンドルは、VCの場合は、m_hWndで取得できます。
Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]
定義 |
値 [Dec] |
意味 |
DIO_ERR_SUCCESS |
0 |
正常終了 |
DIO_ERR_SYS_RECOVERED_FROM_STANDBY |
7 |
スタンバイモードから復帰したため、DioResetDevice関数を実行してください |
DIO_ERR_DLL_INVALID_ID |
10001 |
無効なIDが指定されました。 |
DIO_ERR_DLL_CALL_DRIVER |
10002 |
ドライバーを呼び出せません(デバイスI/Oコントロールに失敗)。 |
DIO_ERR_DLL_CREATE_THREAD |
10005 |
スレッドの作成に失敗しました(CreateThread失敗)。 |
DIO_ERR_DLL_HWND |
10200 |
ウィンドウハンドルが指定可能範囲外です。 |
DIO_ERR_DLL_TRG_KIND |
10300 |
トリガ種類が指定範囲外です。 |
DIO_ERR_SYS_NOT_SUPPORTED |
20001 |
このデバイスではこの関数は使用できません。 |
DIO_ERR_SYS_USING_OTHER_PROCESS |
20003 |
他のプロセスがデバイスを使用しているため、実行できません。 |
DIO_ERR_SYS_BIT_NO |
20102 |
ビット番号が指定可能範囲を超えています。 |
DIO_ERR_SYS_TIM |
20300 |
タイマ値が指定範囲外です。 |
その他のエラー(参照:エラーコード詳細)
トリガ監視機能は無効です。
トリガ監視機能は、デバイスの持っているタイマ、またはWindowsのタイマを使用して、指定したビットの入力値の変化を監視する機能です。
ビットの入力値が0から1、もしくは1から0になったとき、Windowメッセージを通じてアプリケーションにビット変化があったことが通知されます。
USBデバイスの場合、トリガメッセージを受け付けることができるのは1プロセスのみです。
同一のデバイスから複数プロセスに対してメッセージを送出することはできません。
トリガが発生すると、指定したウィンドウハンドルに、DIOM_TRIGGER=1340HのメッセージがPostMessageされます。
メッセージのパラメータである、wParam、lParamには、それぞれ以下の情報が入ります。
LOWORD(wParam)=DioInit関数で取得したID
LOWORD(lParam)=トリガビット番号
HIWORD(lParam)=立ち上がり:1、もしくは立ち下がり:2、両方:3
※HIWORD、LOWORDは、それぞれ上位ワード、下位ワードを表します。
メッセージ処理の記述方法詳細については、各言語のサンプルプログラムを参照してください。
複数のビットのトリガ監視を有効にするには、この関数を各ビットに対して実行してください。
関数を各ビットに対して実行した場合、トリガ監視周期はデバイスに対して設定した最小値で実行されます。
DIO-CPS-BXC200では、この関数を使用することができません。
Ethernetデバイスの場合
デバイスとの通信が途切れるとプロセスの登録が解除され、イベントが通知されなくなります。
イベント通知を再び行う場合、本関数で再度設定を行ってしてください。
現在のプロセスの登録状況は、DioGetNetCommunicationInfo関数で確認できます。
論理ビット0の立ち下がりを、1000msec間隔で監視します。
VB.NET |
Dim Ret As Integer |
C, C++ |
long Ret; |
C# |
int Ret; |
Python |
Ret = ctypes.c_long() |
DioStopNotifyTrg DioGetNetCommunicationInfo