機能
制御出力信号のハードウェアイベント設定を行います。マルチプロセス対応関数です。
書式
Ret = CntSetOutputHardwareEvent ( Id , ChNo , OutputLogic , EventType , PulseWidth )
引数
Id
[ C: short ] [ Python: ctypes.c_short ]
CntInitで取得したデバイスIDを指定します。
ChNo
[ C: short ] [ Python: ctypes.c_short ]
設定するチャネル番号を指定します。
OutputLogic [ C, C++: short ] [ Python:
ctypes.c_short ]
制御出力信号の出力論理を指定してください。
定義 |
値 |
意味 |
CNT_OEVENT_NEGATIVE |
0 |
負論理 |
CNT_OEVENT_POSITIVE |
1 |
正論理 |
※CNT32-8M(PCI),
CNT-3208M-PEでは、ボード上のSW2で正論理/負論理を設定します。
本関数実行時には0を指定下さい。
EventType
[ C: int ] [ Python: ctypes.c_int ]
制御出力信号のハードウェアイベントの種類を指定してください。
指定した条件が満たされたとき、制御出力信号線にパルスが出力されます。
制御出力信号のハードウェアイベントは、以下の論理和で設定します。
汎用出力については、他の条件と同時に指定することはできません。
また、外部信号源として差動を選択できないデバイスでは、断線アラームエラーを指定することはできません。
定義 |
値 |
意味 |
CNT_OEVENT_GENOUT |
00H |
汎用出力 |
CNT_OEVENT_MATCH0 |
01H |
カウント一致レジスタ0 |
CNT_OEVENT_MATCH1 |
02H |
カウント一致レジスタ1 |
CNT_OEVENT_FLTERR |
04H |
フィルタエラー |
CNT_OEVENT_AIERR |
08H |
異常入力エラー |
CNT_OEVENT_ALMERR |
10H |
断線アラームエラー |
PulseWidth
[ C: short ] [ Python: ctypes.c_short ]
ワンショットパルスのパルス幅の係数を指定してください。
汎用出力を使用する場合、パルス幅は無効になります。0を指定してください。
通常版カウンタ搭載デバイスの場合、CntSetPulseWidthを使用してください。
値 |
パルス幅 |
0H |
10μs |
1H |
100μs |
2H |
1ms |
3H |
10ms |
4H |
100ms |
戻り値
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_MODE |
10100 |
モードが指定可能範囲外です |
CNT_ERR_SYS_MODE |
20100 |
モードが指定可能範囲外です |
CNT_ERR_SYS_CH_NO |
20201 |
チャネル番号が設定可能範囲外です |
CNT_ERR_SYS_OUTPUT_LOGIC |
20301 |
制御出力信号の出力論理が設定可能範囲外です |
CNT_ERR_SYS_EVENT_TYPE |
20302 |
ハードウェアイベントの種類が設定可能範囲外です |
CNT_ERR_SYS_PULSE_WIDTH |
20303 |
ワンショットパルスのパルス幅の係数が設定可能範囲外です |
その他のエラー(参照:エラーコード詳細)
説明
この関数は、カウンタスタート前に実行してください。
使用例
C |
Ret = CntSetOutputHardwareEvent(Id,
ChNo, CNT_OEVENT_NEGATIVE, CNT_OEVENT_MATCH0, 0); |
Python |
Ret = ccnt.CntSetOutputHardwareEvent(Id,
ChNo, ccnt.CNT_OEVENT_NEGATIVE, ccnt.CNT_OEVENT_MATCH0, 0) |
関連項目