Function
Sets limit signal to valid/invalid.
Format
Ret = SmcWSetLimitMask( Id, AxisNo, LimitMask, LimitMaskEnable )
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.
LimitMask
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
Set limit signal to valid/invalid.
(It is changed for the bit specified in LimitMaskEnable)
[ 0 | 0 | 0 | 0 | 0 | 0 | ALM | SD ]
Meaning of signal
SD |
Deceleration stop limit |
ALM |
Alarm/urgent stop limit |
Setting value
0 |
limit valid |
1 |
limit invalid |
LimitMaskEnable
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
Sets the bit which you want to change limit signal.
[ 0 | 0 | 0 | 0 | 0 | 0 | ALM | SD ]
Meaning of signal
SD |
Stop limit of negative direction deceleration |
ALM |
Alarm/urgent stop limit |
Setting value
0 |
Do not change |
1 |
Change |
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
It can not be executed while motor is already in motion.
Example
Set to invalid of all limit mask of axis
number 1
VB.NET
Dim Ret As Integer
Dim LimitMask As Short
Dim LimitMaskEnable As Short
LimitMask = 0
LimitMaskEnable = &3
Ret = SmcWSetLimitMask( Id , 1, LimitMask, LimitMaskEnable )
C, C++
long Ret;
short LimitMask;
short LimitMaskEnable;
LimitMask = 0;
LimitMaskEnable = 0x3;
Ret = SmcWSetLimitMask( Id , 1, LimitMask, LimitMaskEnable ) ;
C#
int Ret;
short LimitMask;
short LimitMaskEnable;
LimitMask = 0;
LimitMaskEnable = 0x3;
Ret = Smc.WSetLimitMask( Id , 1, LimitMask, LimitMaskEnable ) ;
Python
Ret = ctypes.c_long()
LimitMask = ctypes.c_short()
LimitMaskEnable = ctypes.c_short()
LimitMask.value = 0
LimitMaskEnable.value = 0x3
Ret.value = csmc.SmcWSetLimitMask( Id , 1, LimitMask, LimitMaskEnable )
Set to valid of all limit mask of axis number
1
VB.NET
Dim Ret As Integer
Dim LimitMask As Short
Dim LimitMaskEnable As Short
LimitMask = &3
LimitMaskEnable = &3
Ret = SmcWSetLimitMask( Id , 1, LimitMask, LimitMaskEnable )
C, C++
long Ret;
short LimitMask;
short LimitMaskEnable;
LimitMask = 0x3;
LimitMaskEnable = 0x3;
Ret = SmcWSetLimitMask( Id , 1, LimitMask, LimitMaskEnable );
C, C++
long Ret;
short LimitMask;
short LimitMaskEnable;
LimitMask = 0x3;
LimitMaskEnable = 0x3;
Ret = SmcWSetLimitMask( Id , 1, LimitMask, LimitMaskEnable );
Python
Ret = ctypes.c_long()
LimitMask = ctypes.c_short()
LimitMaskEnable = ctypes.c_short()
LimitMask.value = 0x3
LimitMaskEnable.value = 0x3
Ret.value = csmc.SmcWSetLimitMask( Id , 1, LimitMask, LimitMaskEnable )
See Also