Function
Sets the counter mode.
Format
Ret = SmcWSetCounterMode( Id, AxisNo, ClearCntLtc, LtcMode, ClearCntClr, ClrMode )
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.
ClearCntLtc
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
Set the type of counter you want to clear when the LTC
signal changs from OFF to ON.
0 |
Do not clear the counter |
1 |
Clear the output pulse counter |
2 |
Clear the encoder counter |
3 |
Clear the output pulse counter and encoder counter |
LtcMode
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
Set the type of counter you want to latch when the LTC
signal comes in.
0 |
Do not use latch function |
1 |
Latch the output pulse counter |
2 |
Latch the encoder counter |
3 |
Latch the output pulse counter and encoder counter |
ClearCntClr
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
Set the type of counter you want to clear when the CLR
signal changes from OFF to ON.
0 |
Do not clear the counter |
1 |
Clear the output pulse counter |
2 |
Clear the encoder counter |
3 |
Clear the output pulse counter and encoder counter |
ClrMode
(Reserved) [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [
Python: ctypes.c_short ]
0 fixed.
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
Initial Value
ClearCntLtc |
0H : Do not clear |
LtcMode |
0H : Unused |
ClearCntClr |
0H : Do not clear |
ClrMode |
0 (Fixed) |
Remarks
When the bit4(LTC)
of CtrlIn of the SmcWSetCtrlTypeIn
function is not ON, it is not recognized as LTC
signal.
It is necessary to latch the counter when counter clear is performed by
LTC signal. Therefore,
the LtcMode bit becomes ON automatically when the ClearCntLtc bit is ON.
The counter can not be selected when it is being latched when use SMC-4/8DF
series. Therefore, if latch ON setting is being set by LtcMode, other
bits also become ON setting.
Every latched counter value can be read by the function that reads the
latch counter.
The CLR signal is
valid only for SMC-4/8DF series. Therefore, the ClearCntClr is invalid
for SMC-2/4/8DL series.
This function cannot be executed when the device is in operation.
After "Initial Setting function"
is executed, it is necessary to execute SmcWSetInitParam.
Refer to "About Initial
Setting function".
Example
Information on the encoder counter of axis
number 1 is set.
When the LTC signal
changes into OFF to ON, it doesn't clear.
When the LTC signal
is input, the latch function is not used.
When the CLR signal
changes into OFF to ON, it doesn't clear.
VB.NET
Dim Ret As Integer
Dim ClearCntLtc As Short
Dim LtcMode As Short
Dim ClearCntClr As Short
Dim ClrMode As Short
ClearCntLtc = 0
LtcMode = 0
ClearCntClr = 0
ClrMode = 0
Ret = SmcWSetCounterMode( Id , 1, ClearCntLtc , LtcMode , ClearCntClr ,
ClrMode )
C, C++
long Ret;
short ClearCntLtc ;
short LtcMode ;
short ClearCntClr ;
short ClrMode ;
ClearCntLtc = 0;
LtcMode = 0;
ClearCntClr = 0;
ClrMode = 0;
Ret = SmcWSetCounterMode( Id , 1, ClearCntLtc , LtcMode , ClearCntClr ,
ClrMode );
C#
int Ret;
short ClearCntLtc ;
short LtcMode ;
short ClearCntClr ;
short ClrMode ;
ClearCntLtc = 0;
LtcMode = 0;
ClearCntClr = 0;
ClrMode = 0;
Ret = Smc.WSetCounterMode( Id , 1, ClearCntLtc , LtcMode , ClearCntClr
, ClrMode );
Python
Ret = ctypes.c_long()
ClearCntLtc = ctypes.c_short()
LtcMode = ctypes.c_short()
ClearCntClr = ctypes.c_short()
ClrMode = ctypes.c_short()
ClearCntLtc.value = 0
LtcMode.value = 0
ClearCntClr.value = 0
ClrMode.value = 0
Ret.value = csmc.SmcWSetCounterMode( Id , 1, ClearCntLtc , LtcMode , ClearCntClr
, ClrMode )
See Also