SmcWSetLimitMask


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

SmcWGetLimitMask