CntSetOperationMode


Function

Sets the operation mode (Number of phases, Clear, Multiplier). Supports multi-processing.

Format

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

Parameters

Id [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
Specify the device ID retrieved from CntInit.

ChNo [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
Specify the channel number for setting.

Phase [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
Specify the number of phases. Number of phases is selected from the following Definition Value.

Definition

Value

Description

CNT_MODE_1PHASE

0

1-phase

CNT_MODE_2PHASE

1

2-phase

CNT_MODE_GATECONTROL

2

Gate control

Mul [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
Specify the multiplier. Multiplier is selected from the following Definition Value.

Definition

Value

Description

CNT_MUL_X1

0

1x

CNT_MUL_X2

1

2x

CNT_MUL_X4

2

4x

SyncClr [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
Specify Synchronous clear/Asynchronous clear. Select from the following Definition Value.

Definition

Value

Description

CNT_CLR_ASYNC

0

Asynchronous clear

CNT_CLR_SYNC

1

Synchronous clear

Return Value

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

Definition

Value

Description

CNT_ERR_SUCCESS

0

Normality completion

CNT_ERR_SYS_RECOVERED_FROM_STANDBY

7

Execute the function CntResetDevice to return from the standby mode.

CNT_ERR_DLL_INVALID_ID

10001

Invalid ID was specified.

CNT_ERR_DLL_CALL_DRIVER

10002

CNT driver can't be called (Failed in the device I/O control).

CNT_ERR_DLL_MODE

10100

Invalid mode setting.

CNT_ERR_SYS_BOARD_EXECUTING

20002

Cannot use while by another device works.

CNT_ERR_SYS_MODE

20100

Invalid mode setting.

CNT_ERR_SYS_CH_NO

20201

Channel number is out of range.

The others: (See also: Details of Error Code)

Initial Value

2-phase, 1x, Asynchronous clear

Remarks

Specifies the mode of specified channel. This function becomes valid when the counter stared.

"Synchronous clear" or "Asynchronous clear" on SyncClr are followed Z-phase signal.
It isn't occurred Error even though calling CntSetOperationMode function when you set CNT_ZPHASE_NOT_USE by CntSetZmode function.

The internal logic level of SyncClr is hold. All held settings are reflected to the device when the counter is stared.
For example, the counter is started following the latest settings for Z-phase by CntSetOperationMode function when you change from CNT_ZPHASE_NOT_USE to CNT_ZPHASE_NEXT_ONE  (or CNT_ZPHASE_EVERY_TIME) in the middle.

Example

Sets 1-phase, 1x, Asynchronous clear to the operation mode of channel 0.

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.CNT_CLR_ASYNC )
 

See Also

CntGetOperationMode