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 ]
制御出力信号の出力論理を指定してください。

EventType [ VB.NET: Integer ] [ C, C++: unsigned long ] [ C#: uint ] [ Python: ctypes.c_ulong ]

制御出力信号のハードウェアイベントの種類を指定してください。

指定した条件が満たされたとき、制御出力信号線にパルスが出力されます。

制御出力信号のハードウェアイベントは、以下の論理和で設定します。

 

汎用出力については、他の条件と同時に指定することはできません。

また、外部信号源として差動を選択できないデバイスでは、断線アラームエラーを指定することはできません。

PulseWidth [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
ワンショットパルスのパルス幅の係数を指定してください。

汎用出力を使用する場合、パルス幅は無効になります。
0を指定してください。

戻り値

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

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

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

説明

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

デバイス別仕様

CPSN-MCB271 + CPSN-CNT-3201I2

制御出力信号の出力論理 (OutputLogic)

定義

意味

CNT_OEVENT_NEGATIVE

0

負論理

CNT_OEVENT_POSITIVE

1

正論理

 

制御出力信号のハードウェアイベントの種類(EventType)

定義

意味

CNT_OEVENT_GENOUT

00H

汎用出力

CNT_OEVENT_MATCH0

01H

カウント一致レジスタ0

CNT_OEVENT_MATCH1

02H

カウント一致レジスタ1

CNT_OEVENT_AIERR

08H

異常入力エラー

 

ワンショットパルスのパルス幅 (PulseWidth)

パルス幅

0h

0μssec

1h

約409.6μsec

2h

約819.21μsec

3h

約1.23msec

4h

約4.92msec

5h

約10.24msec

6h

約20.07msec

7h

約29.9msec

8h

約40.14msec

9h

約49.97msec

Ah

約60.2msec

Bh

約70.04msec

Ch

約80.28msec

Dh

約90.11msec

Eh

約100.35msec

Fh

約104.45msec

 

 

CNT-3204IN-ETH

CNT-3204IN-USB

CNT-3204MT-LPE

CNT32-4MT(LPCI)

制御出力信号の出力論理 (OutputLogic)

定義

意味

CNT_OEVENT_NEGATIVE

0

負論理

CNT_OEVENT_POSITIVE

1

正論理

 

制御出力信号のハードウェアイベントの種類(EventType)

定義

意味

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)

パルス幅

0H

10μs

1H

100μs

2H

1ms

3H

10ms

4H

100ms

 

CNT-3208M-PE

CNT32-8M(PCI)

 

制御出力信号の出力論理 (OutputLogic)

 ボード上のSW2で正論理/負論理を設定します。本関数実行時には0を指定下さい。

 

制御出力信号のハードウェアイベントの種類(EventType)

定義

意味

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)

パルス幅

0H

10μs

1H

100μs

2H

1ms

3H

10ms

4H

100ms

 

使用例

チャネル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