SmcWSetOutPulse


Function

Preset the number of feedback output pulses

Format

Ret = SmcWSetOutPulse( Id , AxisNo , OutPulse )

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 the axis number.

OutPulse [ VB.NET: Integer ] [ C, C++: long] [ C#: int ] [ Python: ctypes.c_long ]
The preset values of the number of feedback output pulses are set.
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

When the number of output pulses is corrected after the motor operation ends, it uses it.
It is not a setting of the number of total output pulses. The setting of the number of total output pulses must use the SmcWSetStopPosition function.
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 OutPulse

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 number of feedback output pulses of axis numbers 1 is preset to 0.

VB.NET
Dim Ret As Integer
Dim OutPulse As Integer
OutPulse = 0
Ret = SmcWSetOutPulse( Id , 1, OutPulse )

C, C++
long Ret;
long OutPulse;
OutPulse = 0;
Ret = SmcWSetOutPulse( Id , 1, OutPulse );

C#
int Ret;
int OutPulse;
OutPulse = 0;
Ret = Smc.WSetOutPulse( Id , 1, OutPulse );

Python
Ret = ctypes.c_long()
OutPulse = ctypes.c_long()
OutPulse.value = 0
Ret.value = csmc.SmcWSetOutPulse( Id , 1, OutPulse )

See Also

SmcWGetOutPulse