CntSetOperationMode


機能

動作モードを設定します(相数、クリア、逓倍)。マルチプロセス対応関数です。

書式

Ret = CntSetOperationMode ( Id , ChNo , Phase , Mul , SyncClr )

引数

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 ]
設定するチャネル番号を指定します。

Phase [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
相数を指定します。相数は、以下の定義値から選択します。

定義

意味

CNT_MODE_1PHASE

0

単相

CNT_MODE_2PHASE

1

2相

CNT_MODE_GATECONTROL

2

ゲートコントロール

Mul [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
逓倍を指定します。逓倍は、以下の定義値から選択します。

定義

意味

CNT_MUL_X1

0

1逓倍

CNT_MUL_X2

1

2逓倍

CNT_MUL_X4

2

4逓倍

SyncClr [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
同期クリア/非同期クリアを指定します。以下の定義値から選択します。

定義

意味

CNT_CLR_ASYNC

0

非同期クリア

CNT_CLR_SYNC

1

同期クリア

戻り値

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_BOARD_EXECUTING

20002

デバイスが動作中のため実行できません

CNT_ERR_SYS_MODE

20100

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

CNT_ERR_SYS_CH_NO

20201

チャネル番号が設定可能範囲外です

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

初期値

2相、1逓倍、非同期クリア

説明

指定したチャネルのモードを指定します。この関数は、カウンタをスタートした時点で有効になります。

非同期クリア/同期クリアは、Z相の信号に応じて行われます。
CntSetZModeにてZ相を「未使用」に設定した状態でCntSetOperationModeを実行してもエラーは発生しません。

非同期クリア/同期クリアの設定は保持され、カウンタ開始時にデバイスへ設定が反映されます。
このため、CntSetZModeにて途中でZ相を「未使用」から「次の1回」または「毎回」に変更するとカウンタ開始前にCntSetOperationModeで設定した非同期クリアもしくは、同期クリアが動作します。

使用例

チャネル0の動作モードを、単相、1逓倍、非同期クリアに設定します。

VB.NET

Dim Ret As Integer
Ret = CntSetOperationMode ( Id , 0 , CNT_MODE_1PHASE , CNT_MUL_X1 , CNT_CLR_ASYNC )
 

C, C++

long Ret;
Ret = CntSetOperationMode ( Id , 0 , CNT_MODE_1PHASE , CNT_MUL_X1 , CNT_CLR_ASYNC );
 

C#

int Ret;
Ret = cnt.SetOperationMode ( Id , 0 , (short)CcntConst.CNT_MODE_1PHASE , (short)CcntConst.CNT_MUL_X1 , (short)CcntConst.CNT_CLR_ASYNC );
 

Python

Ret = ctypes.c_long()
Ret.value = ccnt.CntSetOperationMode ( Id , 0 , ccnt.CNT_MODE_1PHASE , ccnt.CNT_MUL_X1 , ccnt.ccnt.CNT_CLR_ASYNC )
 

関連項目

CntGetOperationMode CntSetZMode