CntSetOutputHardwareEvent


機能

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

書式

Ret = CntSetOutputHardwareEvent ( Id , ChNo , OutputLogic , EventType , PulseWidth )

引数

Id [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
CntInitで取得したデバイスIDを指定します。

ChNo [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
設定するチャネル番号を指定します。

OutputLogic [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
制御出力信号の出力論理を指定してください。

定義

意味

CNT_OEVENT_NEGATIVE

0

負論理

CNT_OEVENT_POSITIVE

1

正論理

※CNT32-8M(PCI),CNT-3208M-PEでは、ボード上のSW2で正論理/負論理を設定します。
   本関数実行時には0を指定下さい。

EventType [ VB.NET: Integer ] [ C, C++: unsigned long ] [ C#: uint ] [ Python: ctypes.c_ulong ]
制御出力信号のハードウェアイベントの種類を指定してください。指定した条件が満たされたとき、制御出力信号線にパルスが出力されます。制御出力信号のハードウェアイベントは、以下の論理和で設定します。

汎用出力については、他の条件と同時に指定することはできません。また、外部信号源として差動を選択できないデバイスでは、断線アラームエラーを指定することはできません。

 

定義

意味

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 [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
ワンショットパルスのパルス幅の係数を指定してください。汎用出力を使用する場合、パルス幅は無効になります。0を指定してください。

パルス幅

0H

10μs

1H

100μs

2H

1ms

3H

10ms

4H

100ms

戻り値

Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]

定義

意味

CNT_ERR_SUCCESS

0

正常終了

CNT_ERR_SYS_RECOVERED_FROM_STANDBY

7

スタンバイモードから復帰したため、CntResetDevice関数を実行してください

CNT_ERR_DLL_INVALID_ID

10001

無効なIDが指定されました

CNT_ERR_DLL_CALL_DRIVER

10002

 ドライバーを呼び出せません。(デバイスI/Oコントロールに失敗)

CNT_ERR_DLL_MODE

10100

モードが設定可能範囲外です

CNT_ERR_SYS_NOT_SUPPORTED

20001

このデバイスではこの関数は使用できません

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

ワンショットパルスのパルス幅の係数が設定可能範囲外です

その他のエラー(参照:エラーコード詳細

説明

この関数は、カウンタスタート前に実行してください。

使用例

チャネル0のカウント一致レジスタ0を、ハードウェアイベントとして設定します。

VB.NET

Dim Ret As Integer
Ret = CntSetOutputHardwareEvent ( Id , 0 , CNT_OEVENT_NEGATIVE , CNT_OEVENT_MATCH0 , 0 )
 

C, C++

long Ret;
Ret = CntSetOutputHardwareEvent ( Id , 0 , CNT_OEVENT_NEGATIVE , CNT_OEVENT_MATCH0 , 0 );
 

C#

int Ret;
Ret = cnt.SetOutputHardwareEvent ( Id , 0 , (short)CcntConst.CNT_OEVENT_NEGATIVE , (uint)CcntConst.CNT_OEVENT_MATCH0 , 0 );
 

Python

Ret = ctypes.c_long()
Ret.value = ccnt.CntSetOutputHardwareEvent ( Id , 0 , ccnt.CNT_OEVENT_NEGATIVE , ccnt.CNT_OEVENT_MATCH0 , 0 )
 

関連項目

CntSetInputHardwareEvent