CntSetOutputHardwareEvent


機能

制御出力信号のハードウェアイベント設定を行います。マルチプロセス対応関数です。

書式

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)
 

関連項目

CntSetInputHardwareEvent