機能
カウント一致イベント要因を設定します。
書式
Ret = CntSetCountMatchEvent ( Id , ChNo , RegNo , Count , Start )
引数
Id
[ C, C++ : short ] [ Python: ctypes.c_short ]
CntInitで取得したデバイスIDを指定します。
ChNo
[ C, C++ : short ] [ Python: ctypes.c_short ]
設定するチャネル番号を指定します。
RegNo
[ C, C++ : short ] [ Python: ctypes.c_short ]
設定する比較レジスタ番号を指定します。
指定可能範囲:
高機能版カウンタ搭載デバイスの場合 : 0 or 1
高機能版カウンタ搭載デバイス以外 : 0 固定
Count
[ C, C++ : unsigned long ] [ Python: ctypes.c_ulong ]
設定する比較レジスタの値を指定します。
指定可能範囲:
24ビットカウンタデバイスの場合 : 0H <= Count <= FFFFFFH
32ビットカウンタデバイスの場合 : 0H <= Count <=
FFFFFFFFH
Start
[ C, C++ : short ] [ Python: ctypes.c_short ]
比較をスタートするかどうかを以下の定義値の何れかで指定します。
定義 |
値 |
意味 |
CNT_MATCH_STOP |
0 |
割り込みをマスクする |
CNT_MATCH_START |
1 |
割り込みを有効にする |
戻り値
Ret [ C, 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 |
カウンタ値が設定可能範囲外です |
CNT_ERR_SYS_REGNO |
20204 |
比較レジスタ番号が指定可能範囲外です。 |
CNT_ERR_SYS_EVENT_START_MODE |
20205 |
イベント開始モードが指定可能範囲外です。 |
その他のエラー(参照:エラーコード詳細)
説明
ハードウェアのカウント一致割り込み機能を使用して、割り込みを受け付ける機能です。
割り込みを実際に受け付けるのはコールバック関数になります。
コールバック関数はCntSetCountMatchCallBackProcで指定します。
CPSN-CNT-3201I2 |
ワンショットパルス出力やカウント一致ハードウェアイベントで使用するカウントの比較値のみ設定可能です。 |
CPSN-CNT-3201I |
ワンショットパルスを出力するカウントの比較値を設定できます。 |
CPI-CNT-3201I |
イベントを受け付けることができるのは1プロセスのみです。 |
CNT-3204IN-ETH |
デバイスとの通信が途切れるとプロセスの登録が解除され、イベントが通知されなくなります。 現在のプロセスの登録状況は、CntGetNetCommunicationInfo関数で確認できます。 |
使用例
チャネル0について、比較レジスタ値10000でカウント一致通知設定を行います。
C, C++ |
long Ret; Ret = CntSetCountMatchEvent(Id,
0, 0, 10000, CNT_MATCH_START); |
Python |
Ret = ctypes.c_long() Ret.value = ccnt.CntSetCountMatchEvent(Id,
0, 0, 10000, ccnt.CNT_MATCH_START) |
関連項目
CntSetCountMatchCallBackProc CntGetNetCommunicationInfo