機能
カウント一致イベント要因を設定します。
書式
Ret = CntSetCountMatchEvent ( Id , ChNo , RegNo , Count , Start )
引数
Id
[ C: short ] [ Python: ctypes.c_short ]
CntInitで取得したデバイスIDを指定します。
ChNo
[ C: short ] [ Python: ctypes.c_short ]
設定するチャネル番号を指定します。
RegNo
[ C: short ] [ Python: ctypes.c_short ]
設定する比較レジスタ番号を指定します。
指定可能範囲:
高機能版カウンタ搭載デバイスの場合 : 0 or 1
高機能版カウンタ搭載デバイス以外 : 0 固定
Count
[ C: unsigned long ] [ Python: ctypes.c_ulong ]
設定する比較レジスタの値を指定します。
指定可能範囲:
24ビットカウンタデバイスの場合 : 0H <= Count <= FFFFFFH
32ビットカウンタデバイスの場合 : 0H <= Count <=
FFFFFFFFH
Start
[ C: short ] [ Python: ctypes.c_short ]
比較をスタートするかどうかを以下の定義値の何れかで指定します。
定義 |
値 |
意味 |
CNT_MATCH_STOP |
0 |
割り込みをマスクする |
CNT_MATCH_START |
1 |
割り込みを有効にする |
戻り値
Ret [ C: long ] [ Python: ctypes.c_long ]
定義 |
値 |
意味 |
CNT_ERR_SUCCESS |
0 |
正常終了 |
CNT_ERR_DLL_INVALID_ID |
10001 |
無効なIDが指定されました |
CNT_ERR_DLL_CALL_DRIVER |
10002 |
ドライバを呼び出せません。(ioctlに失敗) |
CNT_ERR_DLL_CREATE_THREAD |
10005 |
スレッドの作成に失敗しました。 |
CNT_ERR_SYS_USING_OTHER_PROCESS |
20003 |
他のプロセスがデバイスを使用しているため、実行できません。 |
CNT_ERR_SYS_CH_NO |
20201 |
チャネル番号が設定可能範囲外です |
CNT_ERR_SYS_CH_VALUE |
20203 |
カウンタ値が設定可能範囲外です |
その他のエラー(参照:エラーコード詳細)
説明
ハードウェアのカウント一致割り込み機能を使用して、割り込みを受け付ける機能です。
割り込みを実際に受け付けるのはコールバック関数になります。
コールバック関数はCntSetCountMatchCallBackProcで指定します。
CPSN-CNT-3201I
を CPSN-MCB271-xxx と組み合わせて使用する場合
この関数を使用することで、ワンショットパルスを出力するカウントの比較値を設定できます。
ただし、アプリケーションへのイベント通知を行うことはできません。
CPI-CNT-3201Iの場合
イベントを受け付けることができるのは1プロセスのみです。
同一のデバイスから複数プロセスに対してメッセージを送出することはできません。
Ethernetデバイスの場合
デバイスとの通信が途切れるとプロセスの登録が解除され、イベントが通知されなくなります。
イベント通知を再び行う場合、本関数で再度設定を行ってしてください。
現在のプロセスの登録状況は、CntGetNetCommunicationInfo関数で確認できます。
使用例
C |
Ret = CntSetCountMatchEvent(Id,
ChNo, RegNo, Count, Start); |
Python |
Ret = ccnt.CntSetCountMatchEvent(Id,
ChNo, RegNo, Count, Start) |
関連項目
CntSetCountMatchCallBackProc CntGetNetCommunicationInfo