SmcWSetCountPulse


Function

Preset encoder count value.

Format

Ret = SmcWSetCountPulse( Id, AxisNo, CountPulse )

Parameters

Id [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
SSpecify the Deice ID retrieved by SmcWInit function.

AxisNo [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
Specify axis number.

CountPulse [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]
Set encoder count preset value.
The specified range varies depending on the device.
For details, please refer to "Specifications based on devices section".

Return Value

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

0

Terminated normally

Non-zero

Terminated abnormally

See also: Error code details

Remarks

If the device is in operation, the function cannot be performed.

Specifications based on devices

Model No.

LSI chip for Pulse Control chip
() : bit number for encoder input

The valid range for CountPulse

SMC-4DL-PE
SMC-8DL-PE
SMC-4DL-PCI
SMC-8DL-PCI

PCL6145 (32bits)

-2,147,483,648 to +2,147,483,647

PCL6143 (28bits)

-134,217,728 to +134,217,727

SMC-4DF2-PCI 
SMC-8DF2-PCI

PCL6045BL equivalent (28bits)

-134,217,728 to +134,217,727

You can confirm "LSI chip" on your device with "Diagnostic Report".

Example

The count value of the encoder of axis number 1 is Priseted to 0.

VB.NET
Dim Ret As Integer
Dim CountPulse As Integer
CountPulse = 0
Ret = SmcWSetCountPulse( Id , AxisNo , CountPulse )

C, C++
long Ret;
long CountPulse;
CountPulse = 0;
Ret = SmcWSetCountPulse( Id , AxisNo , CountPulse );

C#
int Ret;
int CountPulse;
CountPulse = 0;
Ret = Smc.WSetCountPulse( Id , AxisNo , CountPulse );

Python
Ret = ctypes.c_long()
CountPulse = ctypes.c_long()
CountPulse.value = 0
Ret.value = csmc.SmcWSetCountPulse( Id , AxisNo , CountPulse )

See Also

SmcWGetCountPulse