Limit Parameters

Limit parameters are parameters related to limit switches and software limits. These parameters are set using functions such as SetParam and SetLimitParam.

This page contains explanations for the following limit parameters:

LS Type

Variable Name:

lsType

Type:

LimitSwitchType

Default Value:

None

This parameter determines the action executed when the positive or negative limit switch is triggered.

In addition to the action set by this parameter, the servo may also execute an action depending on the servo settings, such as raise an amp alarm.

Even when this parameter is set to None, the limit switch is not disabled. The servo may execute an action depending on the servo settings, the limit switch signal will affect homing (see Limit Switches During Homing), and the Positive LS and Negative LS statuses will return the state of the limit switches. Because of this, even if no limit switch is connected, the Invert Positive LS Polarity and Invert Negative LS Polarity parameters must be set depending on whether the limit switch signal is active high or active low.

The positive limit switch will not trigger while the axis is traveling in the negative direction. Similarly, the negative limit switch will not trigger while the axis is traveling in the positive direction. This allows the axis to return to the valid position range after it triggers the limit switch.

Also see Hardware Limit Switch.

Affected limit switches:

This parameter affects hardware limit switches.

Positive LS Type

Variable Name:

positiveLSType

Type:

LimitSwitchType

Default Value:

None

This parameter determines the action executed when the positive limit switch is triggered and the LS Type parameter is set to SeparatePositiveLSNegativeLS.

Affected limit switches:

This parameter affects hardware limit switches.

Negative LS Type

Variable Name:

negativeLSType

Type:

LimitSwitchType

Default Value:

None

This parameter determines the action executed when the negative limit switch is triggered and the LS Type parameter is set to SeparatePositiveLSNegativeLS.

Affected limit switches:

This parameter affects hardware limit switches.

Invert Positive LS Polarity

Variable Name:

invertPositiveLSPolarity

Type:

bool

Default Value:

FALSE

TRUE: The positive limit switch polarity will be inverted and become active low.

FALSE: The positive limit switch polarity will be normal and be active high.

This parameter only affects the limit switch action of the WMX3 engine (the limit switch action that is determined by the LS Type parameter). It will not affect the limit switch action that is executed by the servo.

Affected limit switches:

This parameter affects hardware limit switches.

Invert Negative LS Polarity

Variable Name:

invertNegativeLSPolarity

Type:

bool

Default Value:

FALSE

TRUE: The negative limit switch polarity will be inverted and become active low.

FALSE: The negative limit switch polarity will be normal and be active high.

This parameter only affects the limit switch action of the WMX3 engine (the limit switch action that is determined by the LS Type parameter). It will not affect the limit switch action that is executed by the servo.

Affected limit switches:

This parameter affects hardware limit switches.

Near LS Type

Variable Name:

nearLSType

Type:

LimitSwitchType

Default Value:

None

This parameter determines the action executed when the positive or negative near limit switch is triggered. The near limit switch is a software-based limit switch that can be mapped to any I/O input.

If this parameter is set to None, the near limit switch will be disabled.

The positive near limit switch will not trigger while the axis is traveling in the negative direction. Similarly, the negative near limit switch will not trigger while the axis is traveling in the positive direction. This allows the axis to return to the valid position range after it triggers the near limit switch.

Also see Near and External Limit Switch.

Affected limit switches:

This parameter affects near limit switches.

Near Positive LS Type

Variable Name:

nearPositiveLSType

Type:

LimitSwitchType

Default Value:

None

This parameter determines the action executed when the positive near limit switch is triggered and the Near LS Type is set to SeparatePositiveLSNegativeLS.

Affected limit switches:

This parameter affects near limit switches.

Near Negative LS Type

Variable Name:

nearNegativeLSType

Type:

LimitSwitchType

Default Value:

None

This parameter determines the action executed when the negative near limit switch is triggered and the Near LS Type is set to SeparatePositiveLSNegativeLS.

Affected limit switches:

This parameter affects near limit switches.

Near Positive LS Byte

Variable Name:

nearPositiveLSByte

Type:

int

Minimum Value:

0

Maximum Value:

7999

Default Value:

0

The byte address of the positive near limit switch I/O input.

Affected limit switches:

This parameter affects near limit switches.

Near Positive LS Bit

Variable Name:

nearPositiveLSBit

Type:

int

Minimum Value:

0

Maximum Value:

7

Default Value:

0

The bit address of the positive near limit switch I/O input.

Affected limit switches:

This parameter affects near limit switches.

Invert Near Positive LS Polarity

Variable Name:

invertNearPositiveLSPolarity

Type:

bool

Default Value:

FALSE

TRUE: The positive near limit switch polarity will be inverted and become active low.

FALSE: The positive near limit switch polarity will be normal and be active high.

Affected limit switches:

This parameter affects near limit switches.

Near Negative LS Byte

Variable Name:

nearNegativeLSByte

Type:

int

Minimum Value:

0

Maximum Value:

7999

Default Value:

0

The byte address of the negative near limit switch I/O input.

Affected limit switches:

This parameter affects near limit switches.

Near Negative LS Bit

Variable Name:

nearNegativeLSBit

Type:

int

Minimum Value:

0

Maximum Value:

7

Default Value:

0

The bit address of the negative near limit switch I/O input.

Affected limit switches:

This parameter affects near limit switches.

Invert Near Negative LS Polarity

Variable Name:

invertNearNegativeLSPolarity

Type:

bool

Default Value:

FALSE

TRUE: The negative near limit switch polarity will be inverted and become active low.

FALSE: The negative near limit switch polarity will be normal and be active high.

Affected limit switches:

This parameter affects near limit switches.

External LS Type

Variable Name:

externalLSType

Type:

LimitSwitchType

Default Value:

None

This parameter determines the action executed when the positive or negative external limit switch is triggered. The external limit switch is a software-based limit switch that can be mapped to any I/O input. There is no difference between external limit switches and near limit switches, except that they use a different set of parameters.

If this parameter is set to None, the external limit switch will be disabled.

The positive external limit switch will not trigger while the axis is traveling in the negative direction. Similarly, the negative external limit switch will not trigger while the axis is traveling in the positive direction. This allows the axis to return to the valid position range after it triggers the external limit switch.

Also see Near and External Limit Switch.

Affected limit switches:

This parameter affects external limit switches.

External Positive LS Type

Variable Name:

externalPositiveLSType

Type:

LimitSwitchType

Default Value:

None

This parameter determines the action executed when the positive external limit switch is triggered and the External LS Type is set to SeparatePositiveLSNegativeLS.

Affected limit switches:

This parameter affects external limit switches.

External Negative LS Type

Variable Name:

externalNegativeLSType

Type:

LimitSwitchType

Default Value:

None

This parameter determines the action executed when the negative external limit switch is triggered and the External LS Type is set to SeparatePositiveLSNegativeLS.

Affected limit switches:

This parameter affects external limit switches.

External Positive LS Byte

Variable Name:

externalPositiveLSByte

Type:

int

Minimum Value:

0

Maximum Value:

7999

Default Value:

0

The byte address of the positive external limit switch I/O input.

Affected limit switches:

This parameter affects external limit switches.

External Positive LS Bit

Variable Name:

externalPositiveLSBit

Type:

int

Minimum Value:

0

Maximum Value:

7

Default Value:

0

The bit address of the positive external limit switch I/O input.

Affected limit switches:

This parameter affects external limit switches.

Invert External Positive LS Polarity

Variable Name:

invertExternalPositiveLSPolarity

Type:

bool

Default Value:

FALSE

TRUE: The positive external limit switch polarity will be inverted and become active low.

FALSE: The positive external limit switch polarity will be normal and be active high.

Affected limit switches:

This parameter affects external limit switches.

External Negative LS Byte

Variable Name:

externalNegativeLSByte

Type:

int

Minimum Value:

0

Maximum Value:

7999

Default Value:

0

The byte address of the negative external limit switch I/O input.

Affected limit switches:

This parameter affects external limit switches.

External Negative LS Bit

Variable Name:

externalNegativeLSBit

Type:

int

Minimum Value:

0

Maximum Value:

7

Default Value:

0

The bit address of the negative external limit switch I/O input.

Affected limit switches:

This parameter affects external limit switches.

Invert External Negative LS Polarity

Variable Name:

invertExternalNegativeLSPolarity

Type:

bool

Default Value:

FALSE

TRUE: The negative external limit switch polarity will be inverted and become active low.

FALSE: The negative external limit switch polarity will be normal and be active high.

Affected limit switches:

This parameter affects external limit switches.

Soft Limit Type

Variable Name:

softLimitType

Type:

LimitSwitchType

Default Value:

None

This parameter determines the action executed when the axis reaches the positive or negative software limit.

When the axis command position exceeds the positive software limit position while moving in the positive direction, this action is executed, and the axis will not be able to receive further motion commands in the positive direction until it returns to a position below the positive software limit.

When the axis command position exceeds the negative software limit position while moving in the negative direction, this action is executed, and the axis will not be able to receive further motion commands in the negative direction until it returns to a position above the negative software limit.

If this parameter is set to None, no software limit will be applied. The axis will be able to move to any position, regardless of the values set for the positive and negative software limits.

Software limits are triggered only after homing has completed and the Home Done status is TRUE. If the Home Done status becomes FALSE, the software limit will not trigger until homing is completed again.

Also see Software Limit.

Affected limit switches:

This parameter affects software limits.

Positive Soft Limit Type

Variable Name:

positiveSoftLimitType

Type:

LimitSwitchType

Default Value:

None

This parameter determines the action executed when the axis reaches the positive software limit and the Soft Limit Type is set to SeparatePositiveLSNegativeLS.

Affected limit switches:

This parameter affects software limits.

Negative Soft Limit Type

Variable Name:

negativeSoftLimitType

Type:

LimitSwitchType

Default Value:

None

This parameter determines the action executed when the axis reaches the negative software limit and the Soft Limit Type is set to SeparatePositiveLSNegativeLS.

Affected limit switches:

This parameter affects software limits.

Soft Limit Positive Pos

Variable Name:

softLimitPositivePos

Type:

double

Unit:

user unit

Default Value:

0

The position at which the positive software limit will be triggered. If the axis command position exceeds this value in the positive direction, a software limit will be triggered.

No software limit will be set for the positive direction if this parameter is set to 0.

Software limits are triggered only after homing has completed and the Home Done status is TRUE. If the Home Done status becomes FALSE, the software limit will not trigger until homing is completed again.

Affected limit switches:

This parameter affects software limits.

Soft Limit Negative Pos

Variable Name:

softLimitNegativePos

Type:

double

Unit:

user unit

Default Value:

0

The position at which the negative software limit will be triggered. If the axis command position exceeds this value in the negative direction, a software limit will be triggered.

No software limit will be set for the negative direction if this parameter is set to 0.

Software limits are triggered only after homing has completed and the Home Done status is TRUE. If the Home Done status becomes FALSE, the software limit will not trigger until homing is completed again.

Affected limit switches:

This parameter affects software limits.

LS Dec

Variable Name:

lsDec

Type:

double

Unit:

user unit / second^2

Minimum Value:

1e-6

Maximum Value:

274877906943

Default Value:

10000

The deceleration to stop the axis at when the limit switch is triggered. This parameter is applicable for the Dec and DecServoOff limit switch types.

Affected limit switches:

This parameter affects hardware limit switches, near limit switches, external limit switches, and software limits.

LS Slow Dec

Variable Name:

lsSlowDec

Type:

double

Unit:

user unit / second^2

Minimum Value:

1e-6

Maximum Value:

274877906943

Default Value:

10000

The deceleration to stop the axis at when the limit switch is triggered. This parameter is applicable for the SlowDec and SlowDecServoOff limit switch types. This parameter and the LS Dec parameter affect different limit switch types, but otherwise have the same functionality.

Affected limit switches:

This parameter affects hardware limit switches, near limit switches, external limit switches, and software limits.

All LS During Homing

Variable Name:

allLSDuringHoming

Type:

bool

Default Value:

FALSE

TRUE: While homing, the positive limit switch can trigger while the axis is moving in the negative direction, and the negative limit switch can trigger while the axis is moving in the positive direction.

FALSE: The positive limit switch will not trigger while the axis is moving in the negative direction, and the negative limit switch will not trigger while the axis is moving in the positive direction.

Normally, the positive limit switch will not trigger while the axis is traveling in the negative direction, and the negative limit switch will not trigger while the axis is traveling in the positive direction. This allows the axis to return to the valid position range after it triggers the limit switch.

If this parameter is set to TRUE, the positive limit switch will be able to trigger while the axis is moving in the negative direction and the negative limit switch will be able to trigger while the axis is moving in the positive direction, but only during homing.

For certain home types, the limit switch in the direction of homing will be used as part of the homing procedure (see Limit Switches During Homing). For these home types, the limit switch in the direction of homing will not be affected by this parameter. The limit switch opposite the direction of homing will be affected by this paramter.

This parameter only affects the limit switch action of the WMX3 engine (the limit switch action that is determined by the LS Type, Near LS Type, and External LS Type parameters). It will not affect the limit switch action that is executed by the servo.

This parameter is intended to prevent accidents caused by reversing the placement of the positive and negative limit switches. Limit switches are often triggered during homing for many home types. The user will be alerted to the reverse placement of the positive and negative limit switches because homing will be aborted and the limit switch signal will be set.

This parameter has no effect if the LS Type, Near LS Type, or External LS Type of the triggered limit switch is None.

This parameter has no effect while the axis is not executing a homing operation.

Affected limit switches:

This parameter affects hardware limit switches, near limit switches, and external limit switches. This parameter does not affect software limits, as software limits become inactive during homing (as the home done flag is cleared).

LS Direction

Variable Name:

lsDirection

Type:

LimitSwitchDirection

Default Value:

Normal

This parameter indicates whether the positive and negative limit switches are attached in the normal direction or the reverse direction.

If this parameter is set to Normal, the positive limit switch should be attached in the positive direction of the axis and the negative limit switch should be attached in the negative direction of the axis. If this parameter is set to Reverse, the positive limit switch should be attached in the negative direction of the axis and the negative limit switch should be attached in the positive direction of the axis.

Setting this parameter to Reverse will cause WMX3 to interchange the positive and negative limit switch signals from the servo. The positive limit switch signal from the servo will trigger the negative limit switch in WMX3, and the negative limit switch signal from the servo will trigger the positive limit switch in WMX3.

This parameter may be useful if the direction of the axis is reversed with the Axis Polarity parameter. Normally, this requires the positive and negative limit switches to be detached and swapped with each other. By setting this parameter to Reverse, the positive and negative limit switches can operate without swapping them.

Affected limit switches:

This parameter only affects hardware limit switches.