Axis Status

This page contains explanations for the following statuses that apply to individual axes:

Servo On

Variable Name:

servoOn

Type:

bool

Update Timing:

Cyclic

TRUE: The axis servo is on.

FALSE: The axis servo is off.

Servo Offline

Variable Name:

servoOffline

Type:

bool

Update Timing:

Cyclic

TRUE: The axis is offline. The axis servo could not be found in the network, or the axis is not in operational state.

FALSE: The axis is online.

Amp Alarm

Variable Name:

ampAlarm

Type:

bool

Update Timing:

Cyclic

TRUE: The axis encountered an amp alarm.

FALSE: The axis has no amp alarm.

Amp Alarm Code

Variable Name:

ampAlarmCode

Type:

int

Update Timing:

Cyclic

The amp alarm code, if the axis has an amp alarm (if Amp Alarm is TRUE).

Master Axis

Variable Name:

masterAxis

Type:

int

Update Timing:

Acyclic

If this axis is a synchronous control slave axis, this status contains the master axis. Otherwise, this status contains -1.

Second Master Axis

Variable Name:

secondMasterAxis

Type:

int

Update Timing:

Acyclic

If this axis is a combine sync control slave axis, this status contains the second master axis. Otherwise, this status contains -1.

Pos Cmd

Variable Name:

posCmd

Type:

double

Unit:

user unit

Update Timing:

Cyclic

The command position of the axis. For axes in Position Axis Command Mode, the command position is set cyclically by motion commands the axis is executing. For axes in Velocity or Torque Axis Command Mode, the command position is set equal to Actual Pos every cycle (this prevents the axis from moving suddenly when its mode is changed to Position).

Actual Pos

Variable Name:

actualPos

Type:

double

Unit:

user unit

Update Timing:

Cyclic

The feedback position of the axis. For this status to return a value, the servo must be configured to return position feedback data. Whether the servo is correctly configured to return position feedback data can be checked with the Pos Feedback Support status.

Comp Pos Cmd

Variable Name:

compPosCmd

Type:

double

Unit:

user unit

Update Timing:

Cyclic

The command position of the axis after applying compensation offsets.

Comp Actual Pos

Variable Name:

compActualPos

Type:

double

Unit:

user unit

Update Timing:

Cyclic

The feedback position of the axis after applying compensation offsets.

Sync Pos Cmd

Variable Name:

syncPosCmd

Type:

double

Unit:

user unit

Update Timing:

Cyclic

If this axis is a synchronous control slave axis, this status contains the command position after sync offsets are applied. This will shift the slave command position to have the same coordinates as the master axis. This value will normally contain the same value as the master axis command position. If this axis is not a synchronous control slave axis, this status contains the same value as the command position.

Sync Actual Pos

Variable Name:

syncActualPos

Type:

double

Unit:

user unit

Update Timing:

Cyclic

If this axis is a synchronous control slave axis, this status contains the feedback position after sync offsets are applied. This will shift the slave feedback position to have the same coordinates as the master axis. If synchronization is perfect, this value will contain the same value as the master axis feedback position. If this axis is not a synchronous control slave axis, this status contains the same value as the feedback position.

Encoder Command

Variable Name:

encoderCommand

Type:

int

Unit:

pulses

Update Timing:

Cyclic

The 32-bit integer command position that is sent to the servo. This command position is the final position command that is sent to the servo, after modifying the command position by the compensation, home offsets, and sync offsets.

Encoder Feedback

Variable Name:

encoderFeedback

Type:

int

Unit:

pulses

Update Timing:

Cyclic

The 32-bit integer feedback position that is received from the servo. This feedback position is the actual position of the servo, without accounting for compensation, home offests, and sync offsets.

Accumulated Encoder Feedback

Variable Name:

accumulatedEncoderFeedback

Type:

long long

Unit:

pulses

Update Timing:

Cyclic

A 64-bit signed integer that contains the accumulated value of the encoder feedback since starting the engine. The difference in the value of the 32-bit Encoder Feedback is calculated every cycle and added to this accumulated sum.

Once the accumulated feedback reaches 2^63 - 1 or -(2^63), it will stop increasing beyond that position. This represents the upper and lower limits of the feedback position that can be calculated for a linear axis (for Single Turn axes, this value will loop back at Single Turn Encoder Count intervals, so there is no limit).

Velocity Cmd

Variable Name:

velocityCmd

Type:

double

Unit:

user unit / second

Update Timing:

Cyclic

The command velocity of the axis. For axes in Velocity mode, the command velocity is set cyclically by velocity commands the axis is executing. For axes in Position mode, this status returns the instantaneous velocity calculated from the position commands of this cycle and the previous cycle.

Actual Velocity

Variable Name:

actualVelocity

Type:

double

Unit:

user unit / second

Update Timing:

Cyclic

The feedback velocity of the axis. If the servo is not configured to return velocity feedback data (if the Velocity Feedback Support status is FALSE), or if the Velocity Monitor Source parameter is set to CalculateFromPositionFeedback, this status will contain a velocity calculated from the feedback position over several cycles. Otherwise, this status will contain the feedback velocity from the servo drive.

Velocity Lag

Variable Name:

velocityLag

Type:

double

Unit:

user unit / second

Update Timing:

Cyclic

The difference between the command velocity and the feedback velocity. If the servo is not configured to return velocity feedback data (if the Velocity Feedback Support status is FALSE), or if the Velocity Monitor Source parameter is set to CalculateFromPositionFeedback, a velocity calculated from the feedback position is used in place of the feedback velocity from the servo drive to calculate the velocity lag.

Torque Cmd

Variable Name:

torqueCmd

Type:

double

Unit:

%

Update Timing:

Cyclic

The command torque of the axis. For axes in Torque mode, the command torque is set cyclically by torque commands the axis is executing.

Actual Torque

Variable Name:

actualTorque

Type:

double

Unit:

%

Update Timing:

Cyclic

The feedback torque of the axis. For this status to return a value, the servo must be configured to return torque feedback data. Whether the servo is correctly configured to return torque feedback data can be checked with the Trq Feedback Support status.

Actual Following Error

Variable Name:

actualFollowingError

Type:

double

Unit:

pulse

Update Timing:

Cyclic

Feedback following error in pulses. For this status to return a value, the servo must be configured to return following error data.

Compensation / Pitch Error Compensation

Variable Name:

pitchErrorCompensation

Type:

double

Unit:

user unit

Update Timing:

Cyclic

The compensation offset currently applied by the pitch error compensation function.

Compensation / Pitch Error Compensation 2D

Variable Name:

pitchErrorCompensation2D

Type:

double

Unit:

user unit

Update Timing:

Cyclic

The compensation offset currently applied by the two-dimensional pitch error compensation function.

Compensation / Backlash Compensation

Variable Name:

backlashCompensation

Type:

double

Unit:

user unit

Update Timing:

Cyclic

The compensation offset currently applied by the backlash compensation function.

Compensation / Total Pos Compensation

Variable Name:

totalPosCompensation

Type:

double

Unit:

user unit

Update Timing:

Cyclic

The total position compensation offset applied by all compensation functions.

Axis Supported Function / Pos Feedback Support

Variable Name:

posFeedbackSupport

Type:

bool

Update Timing:

Cyclic

TRUE: The axis returns position feedback data every cycle. The position feedback data is stored in the Actual Pos status.

FALSE: The axis does not return position feedback data every cycle.

Axis Supported Function / Pos Command Support

Variable Name:

posCommandSupport

Type:

bool

Update Timing:

Cyclic

TRUE: The axis supports receiving position command data every cycle. The Axis Command Mode must be set to Position to execute position command data.

FALSE: The axis does not support receiving position command data every cycle.

Axis Supported Function / Velocity Feedback Support

Variable Name:

velocityFeedbackSupport

Type:

bool

Update Timing:

Cyclic

TRUE: The axis returns velocity feedback data every cycle. The velocity feedback data is stored in the Actual Velocity status.

FALSE: The axis does not return velocity feedback data every cycle.

Axis Supported Function / Velocity Command Support

Variable Name:

velocityCommandSupport

Type:

bool

Update Timing:

Cyclic

TRUE: The axis supports receiving velocity command data every cycle. The Axis Command Mode must be set to Velocity to execute velocity command data.

FALSE: The axis does not support receiving velocity command data every cycle.

Axis Supported Function / Velocity Offset Support

Variable Name:

velocityOffsetSupport

Type:

bool

Update Timing:

Cyclic

TRUE: The axis supports receiving velocity offset data every cycle. The velocity offset data is generated for sync slave axes with the Sync Compensation Mode parameter set to VelocityOffset or SymmetricVelocityOffset and sync master axes with the Sync Compensation Mode parameter of the slave axis set to SymmetricVelocityOffset.

FALSE: The axis does not support receiving velocity offset data every cycle.

Axis Supported Function / Trq Feedback Support

Variable Name:

trqFeedbackSupport

Type:

bool

Update Timing:

Cyclic

TRUE: The axis returns torque feedback data every cycle. The torque feedback data is stored in the Actual Torque status.

FALSE: The axis does not return torque feedback data every cycle.

Axis Supported Function / Trq Command Support

Variable Name:

trqCommandSupport

Type:

bool

Update Timing:

Cyclic

TRUE: The axis supports receiving torque command data every cycle. The Axis Command Mode must be set to Torque to execute torque command data.

FALSE: The axis does not support receiving torque command data every cycle.

Axis Supported Function / Max Trq Limit Support

Variable Name:

maxTrqLimitSupport

Type:

bool

Update Timing:

Cyclic

TRUE: The axis supports receiving maximum torque limit data every cycle. The maximum torque limit is set by the Max Trq Limit parameter.

FALSE: The axis does not support receiving maximum torque limit data every cycle.

Axis Supported Function / Positive Trq Limit Support

Variable Name:

positiveTrqLimitSupport

Type:

bool

Update Timing:

Cyclic

TRUE: The axis supports receiving positive torque limit data every cycle. The positive torque limit is set by the Positive Trq Limit parameter.

FALSE: The axis does not support receiving positive torque limit data every cycle.

Axis Supported Function / Negative Trq Limit Support

Variable Name:

negativeTrqLimitSupport

Type:

bool

Update Timing:

Cyclic

TRUE: The axis supports receiving negative torque limit data every cycle. The negative torque limit is set by the Negative Trq Limit parameter.

FALSE: The axis does not support receiving negative torque limit data every cycle.

Axis Supported Function / Max Motor Speed Support

Variable Name:

maxMotorSpeedSupport

Type:

bool

Update Timing:

Cyclic

TRUE: The axis supports receiving maximum motor speed data every cycle. The maximum motor speed is set by the Max Motor Speed parameter.

FALSE: The axis does not support receiving maximum motor speed data every cycle.

Op State

Variable Name:

opState

Type:

OperationState

Update Timing:

Acyclic

The operation state of the axis. The operation state shows the type of motion command that the axis is currently executing.

Detail Op State

Variable Name:

detailOpState

Type:

DetailOperationState

Update Timing:

Acyclic

The detailed operation state of the axis. This status is similar to the Op State status, except the states are subdivided into more specific states.

Axis Command Mode

Variable Name:

axisCommandMode

Type:

AxisCommandMode

Update Timing:

Acyclic

The command mode of the axis. The command mode determines whether the axis is executing cyclic position commands, cyclic velocity commands, or cyclic torque commands. This status equals the value set by the Axis Command Mode parameter.

Axis Command Mode Feedback

Variable Name:

axisCommandModeFeedback

Type:

AxisCommandMode

Update Timing:

Cyclic

The feedback from the servo of the current command mode of the axis. When the command mode is changed, the servo may take a few cycles to switch to the new command mode. This status returns the old command mode until the switch is complete.

Axis Sync Mode

Variable Name:

axisSyncMode

Type:

AxisSyncMode

Update Timing:

Acyclic

The sync control mode of the axis. If the axis is not a synchronous control slave axis, the sync control mode is NoSync. If the axis is a sync slave, the sync control mode depends on the Sync Compensation Mode of the axis and whether the axis has Velocity Offset Support.

Sync Offset

Variable Name:

syncOffset

Type:

double

Unit:

user unit

Update Timing:

Cyclic

If the axis is a synchronous control slave axis, this status contains the sync offset between the master axis and the slave axis. The sync offset is calculated when synchronous control is started as the difference between the master axis and slave axis command positions. If useMasterFeedback is set, the master feedback position is used instead of the master command position for calculating the sync offset.

Sync Phase Offset

Variable Name:

syncPhaseOffset

Type:

double

Unit:

user unit

Update Timing:

Cyclic

If the axis is a synchronous control slave axis, this status contains the phase offset between the master axis and the slave axis. The phase offset can be modified with functions such as SetAbsoluteSyncPhase and AddRelativeSyncPhase.

Sync Gear Ratio

Variable Name:

syncGearRatio

Type:

double

Unit:

none (ratio)

Update Timing:

Cyclic

If the axis is a synchronous control slave axis, this status contains the sync gear ratio between the master axis and the slave axis. The sync gear ratio can be modified with functions such as SetSyncGearRatio.

Profile Total Milliseconds

Variable Name:

profileTotalMilliseconds

Type:

double

Unit:

milliseconds

Update Timing:

Cyclic

The total time the current motion profile will take to complete.

For axes executing Trigger Motion as an override, the profile status of the overridden motion will be returned until the trigger condition is satisfied. If the trigger motion is started from Idle state, the profile status will return 0 until the trigger condition is satisfied.

This status is supported for axes executing the following functions. For all other axes, this status will return 0.

Class

Function

Remarks

Motion

StartPos, StartMov, StartHelicalIntplPos, StartHelicalIntplMov

When the motion is paused with the Pause function, this status will return 0. When the motion is resumed with the Resume function, this status will return the profile status based on the new profile that is created for the motion command.

StopJogAtPos

The total time to move to the target position is returned.

StartLinearIntplPos, StartLinearIntplMov, StartCircularIntplPos, StartCircularIntplMov

For Smoothing type linear interpolation overrides, this returns the total time of the override interpolation and the smoothing segment that connects the two interpolations. For Blending and FastBlending type linear interpolation and circular interpolation overrides, this returns the total time to complete both the override interpolation and the original interpolation. When the motion is paused with the Pause function, this status will return 0. When the motion is resumed with the Resume function, this status will return the profile status based on the new profile that is created for the motion command.

StartJog

Returns the total time to reach the target velocity.

StartPosToJog, StartMovToJog

After the jog command starts, the total time to reach the target velocity is returned. Before that, 0 is returned.

Velocity

StartVel

Returns the total time to reach the target velocity.

StartPosToVel

After the velocity command starts, the total time to reach the target velocity is returned. Before that, 0 is returned.

AdvMotion

StartPathIntplPos, StartPathIntplMov, StartPathIntpl3DPos, StartPathIntpl3DMov, StartPathIntplWithRotation

The Pause, OverridePathIntplVelocityMultiplier, and OverridePathIntpl3DVelocityMultiplier functions will invalidate this status and stop it from updating until the next motion command.

StartCoordinatedPos

Only the first axis executing the position command will return this status.

StartCSplinePos, StartCSplineMov, StartCBSplinePos, StartCBSplineMov

-

Profile Acc Milliseconds

Variable Name:

profileAccMilliseconds

Type:

double

Unit:

milliseconds

Update Timing:

Cyclic

The total time the current motion profile will spend accelerating.

For axes executing Trigger Motion as an override, the profile status of the overridden motion will be returned until the trigger condition is satisfied. If the trigger motion is started from Idle state, the profile status will return 0 until the trigger condition is satisfied.

This status is supported for axes executing the following functions. For all other axes, this status will return 0.

Class

Function

Remarks

Motion

StartPos, StartMov, StartHelicalIntplPos, StartHelicalIntplMov

When the motion is paused with the Pause function, this status will return 0. When the motion is resumed with the Resume function, this status will return the profile status based on the new profile that is created for the motion command.

StopJogAtPos

The acceleration time to move to the target position is returned.

StartLinearIntplPos, StartLinearIntplMov, StartCircularIntplPos, StartCircularIntplMov

For Smoothing type linear interpolation overrides, this returns the acceleration time of the override interpolation, but will not count any acceleration during the smoothing segment. For Blending and FastBlending type linear interpolation and circular interpolation overrides, this returns the acceleration time of the override interpolation. When the motion is paused with the Pause function, this status will return 0. When the motion is resumed with the Resume function, this status will return the profile status based on the new profile that is created for the motion command.

Profile Cruise Milliseconds

Variable Name:

profileCruiseMilliseconds

Type:

double

Unit:

milliseconds

Update Timing:

Cyclic

The total time the current motion profile will spend at a constant velocity.

For axes executing Trigger Motion as an override, the profile status of the overridden motion will be returned until the trigger condition is satisfied. If the trigger motion is started from Idle state, the profile status will return 0 until the trigger condition is satisfied.

This status is supported for axes executing the following functions. For all other axes, this status will return 0.

Class

Function

Remarks

Motion

StartPos, StartMov, StartHelicalIntplPos, StartHelicalIntplMov

When the motion is paused with the Pause function, this status will return 0. When the motion is resumed with the Resume function, this status will return the profile status based on the new profile that is created for the motion command.

StopJogAtPos

The constant velocity time to move to the target position is returned.

StartLinearIntplPos, StartLinearIntplMov, StartCircularIntplPos, StartCircularIntplMov

For Smoothing type linear interpolation overrides, this returns the constant velocity time of the override interpolation, but will not count any motion during the smoothing segment. For Blending and FastBlending type linear interpolation and circular interpolation overrides, this returns the constant velocity time of the override interpolation. When the motion is paused with the Pause function, this status will return 0. When the motion is resumed with the Resume function, this status will return the profile status based on the new profile that is created for the motion command.

Profile Dec Milliseconds

Variable Name:

profileDecMilliseconds

Type:

double

Unit:

milliseconds

Update Timing:

Cyclic

The total time the current motion profile will spend decelerating.

If the motion is an override that causes the axis to change the direction of travel, the time spent decelerating before reversing direction is not included in this value.

For axes executing Trigger Motion as an override, the profile status of the overridden motion will be returned until the trigger condition is satisfied. If the trigger motion is started from Idle state, the profile status will return 0 until the trigger condition is satisfied.

This status is supported for axes executing the following functions. For all other axes, this status will return 0.

Class

Function

Remarks

Motion

StartPos, StartMov, StartHelicalIntplPos, StartHelicalIntplMov

When the motion is paused with the Pause function, this status will return 0. When the motion is resumed with the Resume function, this status will return the profile status based on the new profile that is created for the motion command.

StopJogAtPos

The deceleration time to move to the target position is returned.

StartLinearIntplPos, StartLinearIntplMov, StartCircularIntplPos, StartCircularIntplMov

For Smoothing type linear interpolation overrides, this returns the deceleration time of the override interpolation, but will not count deceleration during the smoothing segment. For Blending and FastBlending type linear interpolation and circular interpolation overrides, this returns the deceleration time of the override interpolation. When the motion is paused with the Pause function, this status will return 0. When the motion is resumed with the Resume function, this status will return the profile status based on the new profile that is created for the motion command.

Profile Remaining Milliseconds

Variable Name:

profileRemainingMilliseconds

Type:

double

Unit:

milliseconds

Update Timing:

Cyclic

The remaining time the current motion profile will take to complete.

For axes executing Trigger Motion as an override, the profile status of the overridden motion will be returned until the trigger condition is satisfied. If the trigger motion is started from Idle state, the profile status will return 0 until the trigger condition is satisfied.

This status is supported for axes executing the following functions. For all other axes, this status will return 0.

Class

Function

Remarks

Motion

StartPos, StartMov, StartHelicalIntplPos, StartHelicalIntplMov

When the motion is paused with the Pause function, this status will return 0. When the motion is resumed with the Resume function, this status will return the profile status based on the new profile that is created for the motion command.

StopJogAtPos

The remaining time to move to the target position is returned.

StartLinearIntplPos, StartLinearIntplMov, StartCircularIntplPos, StartCircularIntplMov

For Smoothing type linear interpolation overrides, this returns the remaining time of the override interpolation and the smoothing segment that connects the two interpolations. For Blending and FastBlending type linear interpolation and circular interpolation overrides, this returns the remaining time to complete both the override interpolation and the original interpolation. When the motion is paused with the Pause function, this status will return 0. When the motion is resumed with the Resume function, this status will return the profile status based on the new profile that is created for the motion command.

StartJog

Returns the remaining time to reach the target velocity.

StartPosToJog, StartMovToJog

After the jog command starts, the remaining time to reach the target velocity is returned. Before that, 0 is returned.

Velocity

StartVel

Returns the remaining time to reach the target velocity.

StartPosToVel

After the velocity command starts, the remaining time to reach the target velocity is returned. Before that, 0 is returned.

AdvMotion

StartPathIntplPos, StartPathIntplMov, StartPathIntpl3DPos, StartPathIntpl3DMov, StartPathIntplWithRotation

The Pause, OverridePathIntplVelocityMultiplier, and OverridePathIntpl3DVelocityMultiplier functions will invalidate this status and stop it from updating until the next motion command.

StartCoordinatedPos

Only the first axis executing the position command will return this status.

StartCSplinePos, StartCSplineMov, StartCBSplinePos, StartCBSplineMov

-

Profile Completed Milliseconds

Variable Name:

profileCompletedMilliseconds

Type:

double

Unit:

milliseconds

Update Timing:

Cyclic

The time that the current motion profile has executed for.

For axes executing Trigger Motion as an override, the profile status of the overridden motion will be returned until the trigger condition is satisfied. If the trigger motion is started from Idle state, the profile status will return 0 until the trigger condition is satisfied.

This status is supported for axes executing the following functions. For all other axes, this status will return 0.

Class

Function

Remarks

Motion

StartPos, StartMov, StartHelicalIntplPos, StartHelicalIntplMov

When the motion is paused with the Pause function, this status will return 0. When the motion is resumed with the Resume function, this status will return the profile status based on the new profile that is created for the motion command.

StopJogAtPos

The completed time of the motion profile to move to the target position is returned.

StartLinearIntplPos, StartLinearIntplMov, StartCircularIntplPos, StartCircularIntplMov

For Smoothing type linear interpolation overrides, this returns the completed time of the override interpolation and the smoothing segment that connects the two interpolations. For Blending and FastBlending type linear interpolation and circular interpolation overrides, this returns the completed time of both the override interpolation and the original interpolation. When the motion is paused with the Pause function, this status will return 0. When the motion is resumed with the Resume function, this status will return the profile status based on the new profile that is created for the motion command.

StartJog

Returns the completed time of the motion profile to reach the target velocity.

StartPosToJog, StartMovToJog

After the jog command starts, the completed time of the motion profile to reach the target velocity is returned. Before that, 0 is returned.

Velocity

StartVel

Returns the completed time of the motion profile to reach the target velocity.

StartPosToVel

After the velocity command starts, the completed time of the motion profile to reach the target velocity is returned. Before that, 0 is returned.

AdvMotion

StartPathIntplPos, StartPathIntplMov, StartPathIntpl3DPos, StartPathIntpl3DMov, StartPathIntplWithRotation

The Pause, OverridePathIntplVelocityMultiplier, and OverridePathIntpl3DVelocityMultiplier functions will invalidate this status and stop it from updating until the next motion command.

StartCoordinatedPos

Only the first axis executing the position command will return this status.

StartCSplinePos, StartCSplineMov, StartCBSplinePos, StartCBSplineMov

-

Profile Target Pos

Variable Name:

profileTargetPos

Type:

double

Unit:

user unit

Update Timing:

Cyclic

The target positon of the current motion profile.

For axes executing Trigger Motion as an override, the profile status of the overridden motion will be returned until the trigger condition is satisfied. If the trigger motion is started from Idle state, the profile status will return 0 until the trigger condition is satisfied.

This status is supported for axes executing the following functions. For all other axes, this status will return the current command position.

Class

Function

Remarks

Motion

StartPos, StartMov, StartLinearIntplPos, StartLinearIntplMov, StartCircularIntplPos, StartCircularIntplMov, StartHelicalIntplPos, StartHelicalIntplMov

When the motion is paused with the Pause function, this status will return the current command position. When the motion is resumed with the Resume function, this status will return the profile status based on the new profile that is created for the motion command.

StopJogAtPos

The target position is returned.

AdvMotion

StartCoordinatedPos

Only the first axis executing the position command will return this status.

Profile Total Distance

Variable Name:

profileTotalDistance

Type:

double

Unit:

user unit

Update Timing:

Cyclic

The total distance that the current motion profile will move. This is equal to the sum of the Profile Remaining Distance and the Profile Completed Distance.

For the motion profiles of interpolation commands, this is the composite distance along the interpolation path.

For axes executing Trigger Motion as an override, the profile status of the overridden motion will be returned until the trigger condition is satisfied. If the trigger motion is started from Idle state, the profile status will return 0 until the trigger condition is satisfied.

This status is supported for axes executing the following functions. For all other axes, this status will return 0.

Class

Function

Remarks

Motion

StartPos, StartMov, StartHelicalIntplPos, StartHelicalIntplMov

When the motion is paused with the Pause function, this status will return 0. When the motion is resumed with the Resume function, this status will return the profile status based on the new profile that is created for the motion command.

StopJogAtPos

The total distance to move to the target position is returned.

StartLinearIntplPos, StartLinearIntplMov, StartCircularIntplPos, StartCircularIntplMov

For Smoothing type linear interpolation overrides, this returns the total distance of the override interpolation, but not the smoothing segment that connects the two interpolations. For Blending and FastBlending type linear interpolation and circular interpolation overrides, this returns the total distance of the override interpolation. When the motion is paused with the Pause function, this status will return 0. When the motion is resumed with the Resume function, this status will return the profile status based on the new profile that is created for the motion command.

AdvMotion

StartPathIntplPos, StartPathIntplMov, StartPathIntpl3DPos, StartPathIntpl3DMov, StartPathIntplWithRotation

When the Pause and Resume functions are called, this status will continue to return the total distance of the path interpolation.

StartCoordinatedPos

Only the first axis executing the position command will return this status.

Profile Remaining Distance

Variable Name:

profileRemainingDistance

Type:

double

Unit:

user unit

Update Timing:

Cyclic

The remaining distance until the current motion profile completes.

For the motion profiles of interpolation commands, this is the composite remaining distance along the interpolation path.

For axes executing Trigger Motion as an override, the profile status of the overridden motion will be returned until the trigger condition is satisfied. If the trigger motion is started from Idle state, the profile status will return 0 until the trigger condition is satisfied.

This status is supported for axes executing the following functions. For all other axes, this status will return 0.

Class

Function

Remarks

Motion

StartPos, StartMov, StartHelicalIntplPos, StartHelicalIntplMov

When the motion is paused with the Pause function, this status will return 0. When the motion is resumed with the Resume function, this status will return the profile status based on the new profile that is created for the motion command.

StopJogAtPos

The remaining distance to the target position is returned.

StartLinearIntplPos, StartLinearIntplMov, StartCircularIntplPos, StartCircularIntplMov

For Smoothing type linear interpolation overrides, this returns the distance remaining for the override interpolation, but not the smoothing segment that connects the two interpolations. For Blending and FastBlending type linear interpolation and circular interpolation overrides, this returns the remaining distance of the override interpolation. When the motion is paused with the Pause function, this status will return 0. When the motion is resumed with the Resume function, this status will return the profile status based on the new profile that is created for the motion command.

AdvMotion

StartPathIntplPos, StartPathIntplMov, StartPathIntpl3DPos, StartPathIntpl3DMov, StartPathIntplWithRotation

When the Pause and Resume functions are called, this status will continue to return the remaining distance of the path interpolation.

StartCoordinatedPos

Only the first axis executing the position command will return this status.

Profile Completed Distance

Variable Name:

profileCompletedDistance

Type:

double

Unit:

user unit

Update Timing:

Cyclic

The distance moved so far by the current motion profile.

For the motion profiles of interpolation commands, this is the composite distance moved along the interpolation path.

For axes executing Trigger Motion as an override, the profile status of the overridden motion will be returned until the trigger condition is satisfied. If the trigger motion is started from Idle state, the profile status will return 0 until the trigger condition is satisfied.

This status is supported for axes executing the following functions. For all other axes, this status will return 0.

Class

Function

Remarks

Motion

StartPos, StartMov, StartHelicalIntplPos, StartHelicalIntplMov

When the motion is paused with the Pause function, this status will return 0. When the motion is resumed with the Resume function, this status will return the profile status based on the new profile that is created for the motion command.

StopJogAtPos

The completed distance of the motion profile to move to the target position is returned.

StartLinearIntplPos, StartLinearIntplMov, StartCircularIntplPos, StartCircularIntplMov

For Smoothing type linear interpolation overrides, this returns the distance moved during the override interpolation, but not the smoothing segment that connects the two interpolations. For Blending and FastBlending type linear interpolation and circular interpolation overrides, this returns the completed distance of the override interpolation. When the motion is paused with the Pause function, this status will return 0. When the motion is resumed with the Resume function, this status will return the profile status based on the new profile that is created for the motion command.

AdvMotion

StartPathIntplPos, StartPathIntplMov, StartPathIntpl3DPos, StartPathIntpl3DMov, StartPathIntplWithRotation

When the Pause and Resume functions are called, this status will continue to return the completed distance of the path interpolation.

StartCoordinatedPos

Only the first axis executing the position command will return this status.

Intpl Velocity

Variable Name:

intplVelocity

Type:

double

Unit:

user unit / second

Update Timing:

Cyclic

If the axis is executing an interpolation command, this status contains the composite velocity along the interpolation path. All axes executing the same interpolation command will have the same value.

For axes executing Trigger Motion as an override, the profile status of the overridden motion will be returned until the trigger condition is satisfied. If the trigger motion is started from Idle state, the profile status will return 0 until the trigger condition is satisfied.

This status is supported for axes executing the following functions. For all other axes, this status will return 0.

Class

Function

Remarks

Motion

StartLinearIntplPos, StartLinearIntplMov, StartCircularIntplPos, StartCircularIntplMov, StartHelicalIntplPos, StartHelicalIntplMov

-

AdvMotion

StartPathIntplPos, StartPathIntplMov, StartPathIntpl3DPos, StartPathIntpl3DMov, StartPathIntplWithRotation

-

StartCSplinePos, StartCSplineMov, StartCBSplinePos, StartCBSplineMov

Only if the spline type is ProfileSplineCommand. For this spline type, this status will return the current velocity of the motion profile from which the spline is calculated. This velocity is only roughly equal to the composite velocity along the interpolation path.

Intpl Segment

Variable Name:

intplSegment

Type:

int

Update Timing:

Cyclic

If the axis is executing an interpolation command consiting of several segments (such as path interpolation and spline interpolation), this status contains the index of the currently executing segment.

This status is supported for axes executing the following functions. For all other axes, this status will return 0.

Class

Function

Remarks

AdvMotion

StartCSplinePos, StartCSplineMov, StartCBSplinePos, StartCBSplineMov, StartPathIntplPos, StartPathIntplMov, StartPathIntpl3DPos, StartPathIntpl3DMov, StartPathIntplWithRotation

-

Following Error Alarm

Variable Name:

followingErrorAlarm

Type:

bool

Update Timing:

Cyclic

TRUE: Following error has occurred.

FALSE: Following error has not occurred.

The condition for the following error is configured with the Following Error Type and Velocity Following Error Type parameters.

This status is also turned on when the error configured with the Servo On Following Error parameter occurs.

Command Ready

Variable Name:

commandReady

Type:

bool

Update Timing:

Acyclic

../_images/WMXDOC_FUNC_STAT_CR_image0.PNG

TRUE: The axis is in a state that is able to accept motion commands, including overrides. The types of motion commands that the axis is able to accept depends on the Op State of the axis, and is summarized in the following chart:

Operation State

Allowed motion commands

Idle

Any motion command can be started. (If the Servo On status is TRUE.)

Pos

Override position commands can be started. Only StartPos and StartMov commands can be started, and they may only override other StartPos and StartMov commands.

Jog

Override jog commands can be started. For axes in Position mode, only StartJog commands can be started, and they may only override other StartJog commands. For axes in Velocity command mode, only StartVel commands can be started, and they may only override other StartVel commands.

Intpl

Override interpolation commands can be started. Only StartLinearIntplPos, StartLinearIntplMov, StartCircularIntplPos, and StartCircularIntplMov commands can be started, and they may only override other StartLinearIntplPos, StartLinearIntplMov, StartCircularIntplPos, or StartCircularIntplMov commands.

../_images/WMXDOC_FUNC_STAT_CR_image1.PNG

FALSE: The axis is in a state that is unable to accept motion commands.

Waiting for Trigger

Variable Name:

waitingForTrigger

Type:

bool

Update Timing:

Acyclic

../_images/WMXDOC_FUNC_STAT_WFT_image0.PNG

TRUE: The axis is waiting for the trigger condition of a trigger motion to be satisfied. For more information regarding trigger motion, see Trigger Motion.

FALSE: The axis is not waiting for a trigger condition.

Motion Paused

Variable Name:

motionPaused

Type:

bool

Update Timing:

Acyclic

../_images/WMXDOC_FUNC_STAT_MP_image0.PNG

TRUE: The axis motion has been paused by a function such as Pause.

FALSE: The axis motion is not paused, or the axis is not executing motion.

Motion Complete

Variable Name:

motionComplete

Type:

bool

Update Timing:

Acyclic

../_images/WMXDOC_FUNC_STAT_MC_image0.PNG

This status is set to 0 when a new motion command is started. When the motion completes, this status is set to 1 in the same cycle that the operation state (Op State) is set to Idle.

The following table lists the API functions that set this status to 0 before the function returns (as long as the API Wait Until Motion Start parameter is set to enabled).

Class

Function

Motion

StartPos, StartMov, StartLinearIntplPos, StartLinearIntplMov, StartCircularIntplPos, StartCircularIntplMov, StartHelicalIntplPos, StartHelicalIntplMov, StartVelToPos, StartVelToMov, StartTrqToPos, StartTrqToMov, Pause, OverridePos, OverrideMov, OverrideVel, OverrideAcc, OverrideDec, OverrideJerkAcc, OverrideJerkDec, OverrideProfile, StopJogAtPos

AdvMotion

StartCSplinePos, StartCSplineMov, StartCBSplinePos, StartCBSplineMov, StartPVT, StartPT, StartVT, StartAT, StartPathIntplPos, StartPathIntplMov, StartPathIntpl3DPos, StartPathIntpl3DMov, StartPathIntplWithRotation, StartPathIntplLookahead, StartCoordinatedPos, StartTwoLinkLinearPos, StartTwoLinkLinearMov, StartTwoLinkRotaryPos, StartTwoLinkRotaryMov, StartTwoLinkUntetheredLinearPos, StartTwoLinkUntetheredLinearMov, StartTwoLinkUntetheredRotaryPos, StartTwoLinkUntetheredRotaryMov

EventControl

StartPlannedVelOverride (The status is set to 0 when the planned velocity override triggers.)

../_images/WMXDOC_FUNC_STAT_MC_image1.PNG

This status is set to 0 when a stop function is called. The status remains 0 after the axis stops.

This status is also set to 0 when a jog or velocity command is started. These motion commands do not set this status to 1.

The following table lists the API functions that set this status to 0 before the function returns (as long as the API Wait Until Motion Start parameter is set to enabled).

Class

Function

Motion

StartJog, StartPosToJog, StartMovToJog, Stop, ExecQuickStop, ExecTimedStop

Velocity

StartVel, Stop, ExecQuickStop, StartPosToVel

Torque

StartPosToTrq, StartVelToTrq

AdvVelocity

SetConstantLinearVel, ResolveConstantLinearVel

This status is also set to 0 when one of the following conditions cause the axis to stop.

  • A limit switch is triggered for the axis with the DecServoOff, Dec, SlowDecServoOff, or SlowDec limit switch type.

  • A following error alarm is triggered for the axis with the QuickStop following error alarm type.

  • A velocity following error alarm is triggered for the axis with the QuickStop velocity following error alarm type.

  • A sync master axis has desynchronized with the DecServoOff or Dec master desync type.

  • An emergency stop is triggered with the Level1 emergency stop level.

This status is not updated for Sync axes.

This status is also set to 1 in the abnormal case in which one of the motion commands in the above two tables are executed, but the target position is farther away than the Maximum Travel Distance.

Exec Superimposed Motion

Variable Name:

execSuperimposedMotion

Type:

bool

Update Timing:

Cyclic

../_images/WMXDOC_FUNC_STAT_ESM_image0.PNG

TRUE: Axis is executing superimposed motion.

FALSE: Axis is not executing superimposed motion.

Cmd Acc

Variable Name:

cmdAcc

Type:

double

Unit:

user unit / second^2

Update Timing:

Cyclic

Instantaneous command acceleration calculated from command velocity (for Velocity mode axes) or command position (for Position mode axes).

This status is returned regardless of the motion command that is being executed.

Acc Flag

Variable Name:

accFlag

Type:

bool

Update Timing:

Acyclic

TRUE: Axis is accelerating.

FALSE: Axis is not accelerating.

This status is supported for axes executing the following functions. For all other axes, this status will return 0.

Class

Function

Remarks

Motion

StartPos, StartMov, StartCircularIntplPos, StartCircularIntplMov, StartHelicalIntplPos, StartHelicalIntplMov, StartJog, StartPosToJog, StartMovToJog, Stop, ExecQuickStop, ExecTimedStop, StopJogAtPos

-

StartLinearIntplPos, StartLinearIntplMov

This status is not supported (is set to 0) during the smoothing segment of a Smoothing type linear interpolation override.

Velocity

StartVel, Stop, ExecQuickStop, StartPosToVel

-

Torque

StartPosToTrq

Only during the position command.

StartVelToTrq

Only during the velocity command.

AdvMotion

StartPathIntplPos, StartPathIntplMov, StartPathIntpl3DPos, StartPathIntpl3DMov, StartPathIntplWithRotation, StartCoordinatedPos

-

StartCSplinePos, StartCSplineMov, StartCBSplinePos, StartCBSplineMov

Only if the spline type is ProfileSplineCommand.

Sync

SetSyncMasterSlave, SetSyncCombine, SyncToJog, SetSyncGroup

This status is calculated for sync axes if the master axis is executing one of the functions in this table.

Dec Flag

Variable Name:

decFlag

Type:

bool

Update Timing:

Acyclic

TRUE: Axis is decelerating.

FALSE: Axis is not decelerating.

This status is supported for axes executing the following functions. For all other axes, this status will return 0.

Class

Function

Remarks

Motion

StartPos, StartMov, StartCircularIntplPos, StartCircularIntplMov, StartHelicalIntplPos, StartHelicalIntplMov, StartJog, StartPosToJog, StartMovToJog, Stop, ExecQuickStop, ExecTimedStop, StopJogAtPos

-

StartLinearIntplPos, StartLinearIntplMov

This status is not supported (is set to 0) during the smoothing segment of a Smoothing type linear interpolation override.

Velocity

StartVel, Stop, ExecQuickStop, StartPosToVel

-

Torque

StartPosToTrq

Only during the position command.

StartVelToTrq

Only during the velocity command.

AdvMotion

StartPathIntplPos, StartPathIntplMov, StartPathIntpl3DPos, StartPathIntpl3DMov, StartPathIntplWithRotation, StartCoordinatedPos

-

StartCSplinePos, StartCSplineMov, StartCBSplinePos, StartCBSplineMov

Only if the spline type is ProfileSplineCommand.

Sync

SetSyncMasterSlave, SetSyncCombine, SyncToJog, SetSyncGroup

This status is calculated for sync axes if the master axis is executing one of the functions in this table. Also, sync axes with the Master Desync Type set to DecServoOff or Dec that desynchronize with the master axis will set this status appropriately while decelerating.

In Pos

Variable Name:

inPos

Type:

bool

Update Timing:

Acyclic

../_images/WMXDOC_FUNC_STAT_IP_image0.PNG

TRUE: The axis is within the In Pos Width of the target position of the current motion command.

FALSE: The axis is not within the In Pos Width of the target position of the current motion command.

How the in position status is calculated during each operation state (Op State) is explained in the table below:

OperationState

In Position Calculation

Idle

An axis that is idle will be in position if the absolute difference between the feedback position and the command position is within the in position width. If the axis is in the servo off state (the Servo On status is FALSE), the in position status will return 0.

Pos

An axis that is executing the StartPos, StartMov, or StartCoordinatedPos position command will be in position if the absolute difference between the feedback position and the target position of the position command is within the in position width.

An axis that is executing the StartPosToJog, StartMovToJog, StartPosToVel, or StartPosToTrq position command will be in position if the absolute difference between the feedback position and the target position of the position command is within the in position width, but the in position status returns 0 after the axis completes the position command.

An axis that is executing a position command not listed above will calculate the in position status in the same manner as an axis in Idle state.

Intpl

An axis that is executing a linear interpolation command (StartLinearIntplPos or StartLinearIntplMov) will be in position if the absolute difference between the command position and the target position of the interpolation for that axis is within the in position width. The in position status returns 0 during the smoothing segment of a Smoothing type linear interpolation override.

An axis that is executing a circular interpolation command (StartCircularIntplPos, StartCircularIntplMov), helical interpolation command (StartHelicalIntplPos, StartHelicalIntplMov), or path interpolation command (StartPathIntplPos, StartPathIntplMov, StartPathIntpl3DPos, StartPathIntpl3DMov) will be in position if the distance from the current command position to the target position along the interpolation path is within the in position width (all interpolating axes will be in position at the same time). However, the Z axis of a helical interpolation will be in position if the absolute difference between the command position and the target position of the interpolation for that axis is within the in position width.

An axis that is executing a path interpolation with rotation (StartPathIntplWithRotation) or a path interpolation with look ahead (StartPathIntplLookahead) will always return 0 for the in position status.

An axis that is executing an interpolation command not listed above will calculate the in position status in the same manner as an axis in Idle state.

Sync

A sync slave axis calculates the in position status in the same manner as its master axis, except the in position width parameter and feedback position are taken from the slave axis.

Stop

An axis that is executing any of the stop commands will return 0 for the in position status.

Jog

An axis that is executing a jog command will return 0 for the in position status.

Velocity

An axis that is executing a velocity command will return 0 for the in position status.

Home

An axis that is executing a homing operation will return 0 for the in position status.

GantryHome

An axis that is executing a gantry homing operation will return 0 for the in position status.

PVT

An axis that is executing a PVT command will return 0 for the in position status.

Other

An axis that is in an operation state other than the above operation states will calculate the in position status in the same manner as an axis in Idle state.

In Position State for Single Turn Axes

Single turn axes are set using the Single Turn Mode parameter.

Wraparound around the single turn encoder count range is considered when calculating the in position state for single turn axes. For example, if the single turn encoder count is the equivalent of 1000 user units, the in position width is 100 user units, and the cyclic command position is 0, the axis will be in position if the feedback position is between 900-1000 or between 0-100.

If a position command causes the axis to move a distance greater than one single turn encoder count, the axis will be in position each time the axis passes the target position inside the single turn encoder count range. For example, if the single turn encoder count is the equivalent of 1000 user units, and a relative position command of 5000 user units is executed, the axis will wrap around the single turn range five times, passing by the target position four times and stopping at the target position on the fifth lap. Each time the axis passes the target position, the axis will be in position as long as the distance between the feedback position and the target position is within the in position width.

Wraparound around the single turn encoder count range is NOT considered when calculating the in position state during the execution of an interpolation command.

In Pos 2

Variable Name:

inPos2

Type:

bool

Update Timing:

Acyclic

TRUE: The axis is within the In Pos Width 2 of the target position of the current motion command.

FALSE: The axis is not within the In Pos Width 2 of the target position of the current motion command.

This status is the same as the In Pos status except the In Pos Width 2 parameter is used instead of In Pos Width.

In Pos 3

Variable Name:

inPos3

Type:

bool

Update Timing:

Acyclic

TRUE: The axis is within the In Pos Width 3 of the target position of the current motion command.

FALSE: The axis is not within the In Pos Width 3 of the target position of the current motion command.

This status is the same as the In Pos status except the In Pos Width 3 parameter is used instead of In Pos Width.

In Pos 4

Variable Name:

inPos4

Type:

bool

Update Timing:

Acyclic

TRUE: The axis is within the In Pos Width 4 of the target position of the current motion command.

FALSE: The axis is not within the In Pos Width 4 of the target position of the current motion command.

This status is the same as the In Pos status except the In Pos Width 4 parameter is used instead of In Pos Width.

In Pos 5

Variable Name:

inPos5

Type:

bool

Update Timing:

Acyclic

TRUE: The axis is within the In Pos Width 5 of the target position of the current motion command.

FALSE: The axis is not within the In Pos Width 5 of the target position of the current motion command.

This status is the same as the In Pos status except the In Pos Width 5 parameter is used instead of In Pos Width.

Cmd Distribution End

Variable Name:

cmdDistributionEnd

Type:

bool

Update Timing:

Acyclic

TRUE: The command position of the axis is equal to the target position of the current motion command. The actual position (Actual Pos) of the axis may still not be at the target position. This status indicates that the axis has completed the motion command and is in Idle operation state.

FALSE: The command position of the axis is not equal to the target position of the current motion command. The axis is still executing the motion command.

This status is supported for axes executing the following functions.

Class

Function

Remarks

Motion

StartPos, StartMov, StartLinearIntplPos, StartLinearIntplMov, StartCircularIntplPos, StartCircularIntplMov, StartHelicalIntplPos, StartHelicalIntplMov, StartJog, StartPosToJog, StartMovToJog, Stop, ExecQuickStop, ExecTimedStop, StopJogAtPos

-

Velocity

StartVel, Stop, ExecQuickStop, StartPosToVel

-

Torque

StartPosToTrq, StartVelToTrq

-

Home

StartHome

-

AdvMotion

StartCSplinePos, StartCSplineMov, StartCBSplinePos, StartCBSplineMov, StartPVT, StartPT, StartVT, StartAT, StartPathIntplPos, StartPathIntplMov, StartPathIntpl3DPos, StartPathIntpl3DMov, StartPathIntplWithRotation, StartPathIntplLookahead, StartCoordinatedPos

-

Sync

SetSyncMasterSlave, SetSyncCombine, SyncToJog, SetSyncGroup

This status is calculated for sync axes if the master axis is executing one of the functions in this table. Also, sync axes with the Master Desync Type set to DecServoOff or Dec that desynchronize with the master axis will set this status appropriately while decelerating.

Other

Other

For axes executing a function that is not listed above, if the Op State of the axis is Idle and the Servo On state of the axis is TRUE, this status will be set to TRUE. Otherwise, this status will be set to FALSE.

If the motion of an axis is stopped, this status will be set to TRUE when the Op State of the axis becomes. Idle.

Pos Set

Variable Name:

posSet

Type:

bool

Update Timing:

Acyclic

../_images/WMXDOC_FUNC_STAT_PS_image0.PNG

TRUE: The command position of the axis is equal to the target position of the current motion command and the feedback position is within the Pos Set Width of the target position.

FALSE: The command position of the axis is not equal to the target position of the current motion command, or the feedback position is not within the Pos Set Width of the target position.

If the Cmd Distribution End status is TRUE, and the difference between the Actual Pos and Pos Cmd is less than or equal to the Pos Set Width parameter, this status will be set to TRUE. Otherwise, this status will be set to FALSE.

If the Servo On status is FALSE, this status will be set to FALSE.

Pos Set State for Single Turn Axes

Single turn axes are set using the Single Turn Mode parameter.

Wraparound around the single turn encoder count range is considered when calculating this status. For example, if the single turn encoder count is the equivalent of 1000 user units, the Pos Set Width is 100 user units, and the target position is 0, this status will be set to TRUE if the feedback position is between 900-1000 or between 0-100.

Delayed Pos Set

Variable Name:

delayedPosSet

Type:

bool

Update Timing:

Acyclic

../_images/WMXDOC_FUNC_STAT_DPS_image0.PNG

TRUE: The command position of the axis is equal to the target position of the current motion command and the feedback position remained within the Delayed Pos Set Width of the target position continuously for Delayed Pos Set Milliseconds amount of time.

FALSE: The command position of the axis is not equal to the target position of the current motion command, or the feedback position is not within the Delayed Pos Set Width of the target position, or the axis did not remain within this range continuously for Delayed Pos Set Milliseconds amount of time.

If the Servo On status is FALSE, this status will be set to FALSE.

Delayed Pos Set State for Single Turn Axes

Single turn axes are set using the Single Turn Mode parameter.

Wraparound around the single turn encoder count range is considered when calculating this status. For example, if the single turn encoder count is the equivalent of 1000 user units, the Delayed Pos Set Width is 100 user units, and the target position is 0, this status will be set to TRUE if the feedback position is between 900-1000 or between 0-100 for Delayed Pos Set Milliseconds amount of time.

Cmd Distribution End Delayed Pos Set Diff

Variable Name:

cmdDistributionEndDelayedPosSetDiff

Type:

unsigned int

Unit:

communication cycles

Update Timing:

Acyclic

The duration between when the Cmd Distribution End status was set and when the Delayed Pos Set status was set, in units of communication cycles. This value is set during the cycle that the Delayed Pos Set status is set. This value is cleared whenever the Cmd Distribution End status changes from FALSE to TRUE.

Positive LS

Variable Name:

positiveLS

Type:

bool

Update Timing:

Cyclic

TRUE: Positive limit switch is on.

FALSE: Positive limit switch is off.

If the Invert Positive LS Polarity parameter is set to TRUE, this status will return TRUE when the positive limit switch signal from the servo is low and FALSE when the positive limit switch signal from the servo is high.

Negative LS

Variable Name:

negativeLS

Type:

bool

Update Timing:

Cyclic

TRUE: Negative limit switch is on.

FALSE: Negative limit switch is off.

If the Invert Negative LS Polarity parameter is set to TRUE, this status will return TRUE when the negative limit switch signal from the servo is low and FALSE when the negative limit switch signal from the servo is high.

Near Positive LS

Variable Name:

nearPositiveLS

Type:

bool

Update Timing:

Cyclic

TRUE: Positive near limit switch is on.

FALSE: Positive near limit switch is off.

If the Invert Near Positive LS Polarity parameter is set to TRUE, this status will return TRUE when the positive near limit switch signal is low and FALSE when the positive near limit switch signal is high.

This status will always return FALSE if the Near LS Type parameter is set to None or if the Near LS Type parameter is set to SeparatePositiveLSNegativeLS and the Near Positive LS Type parameter is set to None.

Near Negative LS

Variable Name:

nearNegativeLS

Type:

bool

Update Timing:

Cyclic

TRUE: Negative near limit switch is on.

FALSE: Negative near limit switch is off.

If the Invert Near Negative LS Polarity parameter is set to TRUE, this status will return TRUE when the negative near limit switch signal is low and FALSE when the negative near limit switch signal is high.

This status will always return FALSE if the Near LS Type parameter is set to None or if the Near LS Type parameter is set to SeparatePositiveLSNegativeLS and the Near Negative LS Type parameter is set to None.

External Positive LS

Variable Name:

externalPositiveLS

Type:

bool

Update Timing:

Cyclic

TRUE: Positive external limit switch is on.

FALSE: Positive external limit switch is off.

If the Invert External Positive LS Polarity parameter is set to TRUE, this status will return TRUE when the positive external limit switch signal is low and FALSE when the positive external limit switch signal is high.

This status will always return FALSE if the External LS Type parameter is set to None or if the External LS Type parameter is set to SeparatePositiveLSNegativeLS and the External Positive LS Type parameter is set to None.

External Negative LS

Variable Name:

externalNegativeLS

Type:

bool

Update Timing:

Cyclic

TRUE: Negative external limit switch is on.

FALSE: Negative external limit switch is off.

If the Invert External Negative LS Polarity parameter is set to TRUE, this status will return TRUE when the negative external limit switch signal is low and FALSE when the negative external limit switch signal is high.

This status will always return FALSE if the External LS Type parameter is set to None or if the External LS Type parameter is set to SeparatePositiveLSNegativeLS and the External Negative LS Type parameter is set to None.

Positive Soft Limit

Variable Name:

positiveSoftLimit

Type:

bool

Update Timing:

Cyclic

TRUE: Positive software limit is on.

FALSE: Positive software limit is off.

Negative Soft Limit

Variable Name:

negativeSoftLimit

Type:

bool

Update Timing:

Cyclic

TRUE: Negative software limit is on.

FALSE: Negative software limit is off.

Home State

Variable Name:

homeState

Type:

HomeState

Update Timing:

Cyclic

If the axis is executing a homing operation, this status contains the homing state of the axis.

Home Error

Variable Name:

homeError

Type:

HomeError

Update Timing:

Cyclic

The last encountered homing error code. This error code is cleared when an axis starts a new homing operation.

Home Offset

Variable Name:

homeOffset

Type:

double

Unit:

user unit

Update Timing:

Cyclic

The cumulative sum of the offsets applied from changes to the home position. This value will change after performing a homing operation.

Home Switch

Variable Name:

homeSwitch

Type:

bool

Update Timing:

Cyclic

TRUE: Home switch is on.

FALSE: Home switch is off.

If the Invert HS Polarity parameter is set to TRUE, this status will return TRUE when the home switch signal from the servo is low and FALSE when the home switch signal from the servo is high.

Home Done

Variable Name:

homeDone

Type:

bool

Update Timing:

Cyclic

../_images/WMXDOC_FUNC_STAT_HD_image0.PNG

TRUE: Homing is complete.

FALSE: Homing is not complete.

Homing can be executed using functions such as StartHome. This status can also be manually toggled using the SetHomeDone function.

If the Clear Home Done On Servo Off parameter is enabled for an axis, this status is set to FALSE when the servo is turned off. If the Clear Home Done On Comm Stop parameter is enabled for an axis, this status is set to FALSE when communication is stopped. When the servo is offline (see Servo Offline), this status is set to FALSE. This status is also set to FALSE when a new homing routine is started. When this status is set to FALSE, homing must be completed again before this status becomes TRUE.

This status affects certain operations, such as the software limit (see Soft Limit Type).

Home Paused

Variable Name:

homePaused

Type:

bool

Update Timing:

Cyclic

../_images/WMXDOC_FUNC_STAT_HP_image0.PNG

TRUE: Axis is paused while homing.

FALSE: Axis is not paused while homing.

Cmd Pos To Fb Pos Flag

Variable Name:

cmdPosToFbPosFlag

Type:

bool

Update Timing:

Cyclic

TRUE: Axis is executing a SetCommandPosToFeedbackPos operation.

FALSE: Axis is not executing a SetCommandPosToFeedbackPos operation.

Single Turn Counter

Variable Name:

singleTurnCounter

Type:

unsigned int

Update Timing:

Cyclic

If the axis is a single turn axis (if the Single Turn Mode parameter is set to TRUE), this status contains the number of single turn rotations since starting single turn mode. When the axis position exceeds the Single Turn Encoder Count and loops back, this value increases by one. When the axis position goes below zero and loops back, this value decreases by one. This value itself loops around at 0 and 2^32-1 (for example, if this value decreases by 1 from 0, it becomes 2^32-1). This value is reset to 0 each time the Single Turn Encoder Count, Single Turn Mode, Gear Ratio Numerator, Gear Ratio Denominator, or Axis Polarity parameter is changed. This status contains 0 for non-single turn axes.

User Offset

Variable Name:

userOffset

Type:

double

Unit:

user unit

Update Timing:

Cyclic

This status contains the user offset. The user offset is an additional offset that is applied to the command and feedback position. It can be freely set when developing a customized User RTDLL.

User Offset Pos Cmd

Variable Name:

userOffsetPosCmd

Type:

double

Unit:

user unit

Update Timing:

Cyclic

This status contains the command position of the axis after applying the user offset.

User Offset Actual Pos

Variable Name:

userOffsetActualPos

Type:

double

Unit:

user unit

Update Timing:

Cyclic

This status contains the feedback position of the axis after applying the user offset.

User Velocity Offset

Variable Name:

userVelocityOffset

Type:

double

Unit:

user unit

Update Timing:

Cyclic

This status contains the user velocity offset. The user velocity offset is an additional offset that is applied to the command and feedback velocity. It can be freely set when developing a customized User RTDLL.

User Torque Offset

Variable Name:

userTorqueOffset

Type:

double

Unit:

user unit

Update Timing:

Cyclic

This status contains the user torque offset. The user torque offset is an additional offset that is applied to the command and feedback torque. It can be freely set when developing a customized User RTDLL.

Vibration Pos Min

Variable Name:

vibrationPosMin

Type:

double

Unit:

user unit

Update Timing:

Cyclic

The status measures the minimum value of Actual Pos - Pos Cmd while the axis is stationary.

The axis is considered to be stationary if the Op State of the axis is Idle or Sync, and the Delayed Pos Set signal has become TRUE at least once after the axis entered one of these operation states.

This status is 0 when the engine is started. Whenever a smaller value of Actual Pos - Pos Cmd is measured while the axis is stationary, this status updates to equal that value.

This status is reset to 0 when the axis changes from non-stationary to stationary state. The ClearVibrationStatus function can also be called to reset this status to 0 on the next communication cycle.

Vibration Pos Max

Variable Name:

vibrationPosMax

Type:

double

Unit:

user unit

Update Timing:

Cyclic

The status measures the maximum value of Actual Pos - Pos Cmd while the axis is stationary.

The axis is considered to be stationary if the Op State of the axis is Idle or Sync, and the Delayed Pos Set signal has become TRUE at least once after the axis entered one of these operation states.

This status is 0 when the engine is started. Whenever a larger value of Actual Pos - Pos Cmd is measured while the axis is stationary, this status updates to equal that value.

This status is reset to 0 when the axis changes from non-stationary to stationary state. The ClearVibrationStatus function can also be called to reset this status to 0 on the next communication cycle.

Vibration Pos Average

Variable Name:

vibrationPosAvg

Type:

double

Unit:

user unit

Update Timing:

Cyclic

The status measures the average value of Actual Pos - Pos Cmd while the axis is stationary.

The axis is considered to be stationary if the Op State of the axis is Idle or Sync, and the Delayed Pos Set signal has become TRUE at least once after the axis entered one of these operation states.

This status is 0 when the engine is started. On the cycles in which the axis is stationary, the average is updated with the new measured value of Actual Pos - Pos Cmd. The average is not affected by the value of Actual Pos - Pos Cmd while the axis is not stationary.

This status is reset to 0 when the axis changes from non-stationary to stationary state. The ClearVibrationStatus function can also be called to reset this status to 0 on the next communication cycle.

Vibration Vel Min

Variable Name:

vibrationVelMin

Type:

double

Unit:

user unit / second

Update Timing:

Cyclic

The status measures the minimum value of Actual Velocity while the axis is stationary.

The axis is considered to be stationary if the Op State of the axis is Idle or Sync, and the Delayed Pos Set signal has become TRUE at least once after the axis entered one of these operation states.

This status is 0 when the engine is started. Whenever a smaller value of Actual Velocity is measured while the axis is stationary, this status updates to equal that value.

This status is reset to 0 when the axis changes from non-stationary to stationary state. The ClearVibrationStatus function can also be called to reset this status to 0 on the next communication cycle.

Vibration Vel Max

Variable Name:

vibrationVelMax

Type:

double

Unit:

user unit / second

Update Timing:

Cyclic

The status measures the maximum value of Actual Velocity while the axis is stationary.

The axis is considered to be stationary if the Op State of the axis is Idle or Sync, and the Delayed Pos Set signal has become TRUE at least once after the axis entered one of these operation states.

This status is 0 when the engine is started. Whenever a larger value of Actual Velocity is measured while the axis is stationary, this status updates to equal that value.

This status is reset to 0 when the axis changes from non-stationary to stationary state. The ClearVibrationStatus function can also be called to reset this status to 0 on the next communication cycle.

Vibration Vel Average

Variable Name:

vibrationVelAvg

Type:

double

Unit:

user unit / second

Update Timing:

Cyclic

The status measures the average value of Actual Velocity while the axis is stationary.

The axis is considered to be stationary if the Op State of the axis is Idle or Sync, and the Delayed Pos Set signal has become TRUE at least once after the axis entered one of these operation states.

This status is 0 when the engine is started. On the cycles in which the axis is stationary, the average is updated with the new measured value of Actual Velocity. The average is not affected by the value of Actual Velocity while the axis is not stationary.

This status is reset to 0 when the axis changes from non-stationary to stationary state. The ClearVibrationStatus function can also be called to reset this status to 0 on the next communication cycle.

Vibration Trq Min

Variable Name:

vibrationTrqMin

Type:

double

Unit:

%

Update Timing:

Cyclic

The status measures the minimum value of Actual Torque while the axis is stationary.

The axis is considered to be stationary if the Op State of the axis is Idle or Sync, and the Delayed Pos Set signal has become TRUE at least once after the axis entered one of these operation states.

This status is 0 when the engine is started. Whenever a smaller value of Actual Torque is measured while the axis is stationary, this status updates to equal that value.

This status is reset to 0 when the axis changes from non-stationary to stationary state. The ClearVibrationStatus function can also be called to reset this status to 0 on the next communication cycle.

Vibration Trq Max

Variable Name:

vibrationTrqMax

Type:

double

Unit:

%

Update Timing:

Cyclic

The status measures the maximum value of Actual Torque while the axis is stationary.

The axis is considered to be stationary if the Op State of the axis is Idle or Sync, and the Delayed Pos Set signal has become TRUE at least once after the axis entered one of these operation states.

This status is 0 when the engine is started. Whenever a larger value of Actual Torque is measured while the axis is stationary, this status updates to equal that value.

This status is reset to 0 when the axis changes from non-stationary to stationary state. The ClearVibrationStatus function can also be called to reset this status to 0 on the next communication cycle.

Vibration Trq Average

Variable Name:

vibrationTrqAvg

Type:

double

Unit:

%

Update Timing:

Cyclic

The status measures the average value of Actual Torque while the axis is stationary.

The axis is considered to be stationary if the Op State of the axis is Idle or Sync, and the Delayed Pos Set signal has become TRUE at least once after the axis entered one of these operation states.

This status is 0 when the engine is started. On the cycles in which the axis is stationary, the average is updated with the new measured value of Actual Torque. The average is not affected by the value of Actual Torque while the axis is not stationary.

This status is reset to 0 when the axis changes from non-stationary to stationary state. The ClearVibrationStatus function can also be called to reset this status to 0 on the next communication cycle.