AXIS_SERVO Structure
A servo axis object represents an axis with full motion planner functionality and integrated configuration support.
A servo axis object is associated with modules that close a servo loop and send an analog command to an external drive, such as the 1756-M02AE and 1756-HYD02 modules. The AXIS_SERVO structure contains the following status attributes.
Mnemonic | Data Type | Description | ||
MotionStatus | DINT | The motion status bits for your axis. | ||
Bit # | Bit Name (tag) | Description | ||
BOOL | 00 | AccelStatus | Acceleration Status | |
BOOL | 01 | DecelStatus | Deceleration Status | |
BOOL | 02 | MoveStatus | Move Status | |
BOOL | 03 | JogStatus | Jog Status | |
BOOL | 04 | GearingStatus | Gearing Status | |
BOOL | 05 | HomingStatus | Homing Status | |
BOOL | 06 | StoppingStatus | Stopping Status | |
BOOL | 07 | AxisHomedStatus | Homed Status | |
BOOL | 08 | PositionCamStatus | Position Cam Status | |
BOOL | 09 | TimeCamStatus | Time Cam Status | |
BOOL | 10 | PositionCamPendingStatus | Position Cam Pending Status | |
BOOL | 11 | TimeCamPendingStatus | Time Cam Pending Status | |
BOOL | 12 | GearingLockStatus | Gearing Lock Status | |
BOOL | 13 | PositionCamLockStatus | Position Cam Lock Status | |
BOOL | 14 | TimeCamLockStatus | Time Cam Lock Status | |
BOOL | 15 | MasterOffsetMoveStatus | Master Offset Move Status | |
AxisStatus | DINT | The status bits for your axis: | ||
BOOL | Bit # | Bit Name (tag) | Description | |
BOOL | 00 | ServoActionStatus | Servo Action Status | |
BOOL | 01 | DriveEnableStatus | Drive Enable Status | |
BOOL | 02 | ShutdownStatus | Axis Shutdown Status | |
BOOL | 03 | ConfigUpdateInProcess | Configuration Update in Process | |
AxisFault | DINT | The axis faults for your axis: | ||
Bit # | Bit Name (tag) | Description | ||
BOOL | 00 | PhysicalAxisFault | Physical Axis Fault | |
BOOL | 01 | ModuleFault | Module Fault | |
BOOL | 02 | ConfigFault | Configuration Fault | |
BOOL | 03 | GroupFault | Group Fault | |
AxisEvent | DINT | The event status for your axis: | ||
Bit # | Bit Name (tag) | Description | ||
BOOL | 00 | WatchEvArmStatus | Watch Event Armed Status | |
BOOL | 01 | WatchEvStatus | Watch Event Status | |
BOOL | 02 | RegEvArmStatus | Registration Event 1 Armed Status | |
BOOL | 03 | RegEvStatus | Registration Event 1 Status | |
BOOL | 04 | RegEv2ArmStatus | Registration Event 2 Armed Status | |
BOOL | 05 | RegEv2Status | Registration Event 2 Status | |
BOOL | 06 | HomeEvArmStatus | Home Event Armed Status | |
BOOL | 07 | HomeEvStatus | Home Event Status | |
ActualPosition | REAL | Actual Position in Position Units | ||
StrobeActualPosition | REAL | Strobe Actual Position in Position Units | ||
StartActualPosition | REAL | Start Actual Position in Position Units | ||
AverageVelocity | REAL | Average Velocity in Position Units / Sec | ||
ActualVelocity | REAL | Actual Velocity in Position Units / Sec | ||
ActualAcceleration | REAL | Actual Acceleration in Position Units / Sec 2 | ||
WatchPosition | REAL | Watch Position in Position Units | ||
RegistrationPosition | REAL | Registration 1 Position in Position Units | ||
Registration2Position | REAL | Registration 2 Position in Position Units | ||
Registration1Time | DINT | Registration 1 Time as CST time in microseconds | ||
Registration2Time | DINT | Registration 2 Time as CST time in microseconds | ||
InterpolationTime | DINT | Interpolation Time as CST time in microseconds | ||
InterpolatedActualPosition | REAL | Interpolated Actual Position in Position Units | ||
MasterOffset | REAL | Master Offset in Master Position Units | ||
StrobeMasterOffset | REAL | Strobe Master Offset in Master Position Units | ||
StartMasterOffset | REAL | Start Master Offset in Master Position Units | ||
CommandPosition | REAL | Command Position in Position Units | ||
StrobeCommandPosition | REAL | Strobe Command Position in Position Units | ||
StartCommandPosition | REAL | Start Command Position in Position Units | ||
CommandVelocity | REAL | Command Velocity in Position Units / Sec | ||
CommandAcceleration | REAL | Command Acceleration in Position Units / Sec 2 | ||
InterpolatedCommandPosition | REAL | Interpolated Command Position in Position Units | ||
ServoStatus | DINT | The status bits for your servo loop: | ||
Bit # | Bit Name (tag) | Description | ||
BOOL | 00 | - no tag - | Servo Action Status | |
BOOL | 01 | - no tag - | Drive Enable Status | |
BOOL | 02 | - no tag - | Axis Shutdown Status | |
BOOL | 03 | ProcessStatus | Process Status | |
BOOL | 04 | OutLmtStatus | Output Limit Status | |
BOOL | 05 | PosLockStatus | Position Lock Status | |
BOOL | 06 | HomeSwitchStatus | Home Input Status | |
BOOL | 07 | Reg1InputStatus | Registration 1 Input Status | |
BOOL | 08 | Reg2InputStatus | Registration 2 Input Status | |
BOOL | 09 | PosOvertravelInputStatus | Positive Overtravel Input Status | |
BOOL | 10 | NegOvertravelInputStatus | Negative Overtravel Input Status | |
BOOL | 11 | DriveFaultInputStatus | Drive Fault Input Status | |
ServoFault | DINT | The servo fault bits for your servo loop: | ||
Bit # | Bit Name (tag) | Description | ||
BOOL | 00 | POtrvlFault | Positive Software Overtravel Fault | |
BOOL | 01 | NOtrvlFault | Negative Software Overtravel Fault | |
BOOL | 02 | PosHardOvertravelFault | Positive Hardware Overtravel Fault | |
BOOL | 03 | NegHardOvertravelFault | Negative Hardware Overtravel Fault | |
BOOL | 04 | FeedbackFault | Feedback Fault | |
BOOL | 05 | FeedbackNoiseFault | Feedback Noise Fault | |
BOOL | 06 | AuxFeedbackFault | Auxiliary Feedback Fault | |
BOOL | 07 | AuxFeedbackNoiseFault | Auxiliary Feedback Noise Fault | |
BOOL | 08 | PosErrorFault | Position Error Fault | |
BOOL | 09 | DriveFault | Drive Fault | |
ServoModuleFault | DINT | A collection of all faults that have module scope as opposed to axis scope. These module faults are reflected by all axes supported by the given servo module. | ||
Bit # | Bit Name (tag) | Description | ||
BOOL | 00 | ControlSyncFault | Control Sync Fault | |
BOOL | 01 | ModuleSyncFault | Module Sync Fault | |
BOOL | 02 | TimerEventFault | Timer Event Fault | |
BOOL | 03 | ModuleHardwareFault | Module Hardware Fault | |
AttributeErrorCode | INT | CIP Error code returned by erred set attribute list service to the module. (See CIP Error Code list) | ||
AttributeErrorID | INT | Attribute ID associated with non-zero Attribute Error Code. (See CIP Error Code list) | ||
PositionCommand | REAL | Position Command in Position Units | ||
PositionFeedback | REAL | Position Feedback in Position Units | ||
AuxPositionFeedback | REAL | Auxiliary Position Feedback in Position Units | ||
PositionError | REAL | Position Error in Position Units | ||
PositionIntegratorError | REAL | Position Integrator Error in Position Units - mSec | ||
VelocityCommand | REAL | Velocity Command in Position Units / Sec | ||
VelocityFeedback | REAL | Velocity Feedback in Position Units / Sec | ||
VelocityError | REAL | Velocity Error in Position Units / Sec | ||
VelocityIntegratorError | REAL | Velocity Integrator Error in Position Units – mSec / Sec | ||
AccelerationCommand | REAL | Acceleration Command in Position Units / Sec 2 | ||
AccelerationFeedback | REAL | Acceleration Feedback in Position Units / Sec 2 | ||
ServoOutputLevel | REAL | Servo Output Level in Volts | ||
MarkerDistance | REAL | Marker Distance in Position Units | ||
VelocityOffset | REAL | Velocity Offset in Position Units / Sec (not enabled in this release) | ||
TorqueOffset | REAL | Torque Offset from –100% to +100% (not enabled in this release) | ||
AccelStatus | BOOL | Set if the axis is currently being commanded to accelerate. | ||
DecelStatus | BOOL | Set if the axis is currently being commanded to decelerate. | ||
MoveStatus | BOOL | Set if a Move motion profile is currently in progress. Cleared when the Move is complete or is superseded by some other motion operation. | ||
JogStatus | BOOL | Set if a Jog motion profile is currently in progress. Cleared when the Jog is complete or is superseded by some other motion operation. | ||
GearingStatus | BOOL | Set if the axis is currently Gearing to another axis. Cleared when the gearing operation is stopped or is superseded by some other motion operation. | ||
HomingStatus | BOOL | Set if a Home motion profile is currently in progress. Cleared when the homing operation is stopped or is superseded by some other motion operation. | ||
StoppingStatus | BOOL | Set if there is a stopping process currently in progress. Cleared when the stopping process is complete. Tip : The stopping process is used to stop an axis (initiated by an MAS, MGS, Stop Motion fault action, or mode change). This bit is no longer associated with the gearing Clutch bit (MAG with Clutch selected) which, for I4B, has been explicitly named the Gearing Lock Status bit. | ||
AxisHomedStatus | BOOL | Cleared at power-up or reconnection. Set by the MAH instruction upon successful completion of the configured homing sequence, and later cleared when the axis enters the shutdown state. | ||
PositionCamStatus | BOOL | Set if a Position Cam motion profile is currently in progress. Cleared when the Position Cam is complete or is superseded by some other motion operation. | ||
TimeCamStatus | BOOL | Set if a Time Cam motion profile is currently in progress. Cleared when the Time Cam is complete or is superseded by some other motion operation. | ||
PositionCamPendingStatus | BOOL | Set if a Position Cam motion profile is currently pending the completion of a currently executing cam profile. This would be initiated by executing an MAPC instruction with Pending execution selected. This bit is cleared when the current position cam profile completes, initiating the start of the pending cam profile. This bit is also cleared if the position cam profile completes, or is superseded by some other motion operation. | ||
TimeCamPendingStatus | BOOL | Set if a Time Cam motion profile is currently pending the completion of a currently executing cam profile. This would be initiated by executing an MATC instruction with Pending execution selected. This bit is cleared when the current time cam profile completes, initiating the start of the pending cam profile. This bit is also cleared if the time cam profile completes, or is superseded by some other motion operation. | ||
GearingLockStatus | BOOL | Set whenever the slave axis is locked to the master axis in a gearing relationship according to the specified gear ratio. The clutch function of the gearing planner is used to ramp an axis up, or down, to speed in a gearing process (MAG with Clutch selected). This bit is cleared during the intervals where the axis is clutching. | ||
PositionCamLockStatus | BOOL | Set whenever the master axis satisfies the starting condition of a currently active Position Cam motion profile. The starting condition is established by the Start Control and Start Position parameters of the MAPC instruction. This bit is bit is cleared when the current position cam profile completes, or is superseded by some other motion operation. In uni-directional master direction mode, the Position Cam Lock Status bit is cleared when moving in the "wrong" direction and sets when moving in the "correct" direction. | ||
TimeCamLockStatus | BOOL | Time Cam Lock Status (not enabled in this release) | ||
MasterOffsetMoveStatus | BOOL | Set if a Master Offset Move motion profile is currently in progress. This bit is cleared when the Master Offset Move is complete or is superseded by some other motion operation. | ||
ServoActionStatus | BOOL | Set when the associated axis is under servo control. Cleared when servo action is disabled. | ||
DriveEnableStatus | BOOL | Set when the Drive Enable output of the associated physical axis is currently enabled. Cleared when physical servo axis Drive Enable output is currently disabled. | ||
ShutdownStatus | BOOL | Set when the associated axis is currently in the Shutdown state. Cleared when the axis is transitioned from the Shutdown state to another state. | ||
ConfigUpdateInProcess | BOOL | The Configuration Update Status Bits attribute provides a method for monitoring the progress of one or more specific module configuration attribute updates initiated by either a Set Attribute List service (which is internal to the firmware) or an SSV in the user program. When such an update is initiated, the ControlLogix processor sets this bit. This bit will remain set until the Set Attribute List reply comes back from the servo module indicating that the data update process was successful. Thus the Configuration Update Status Bits attribute provides a method of waiting until the servo configuration data update to the connected motion module is complete before starting a dependent operation. | ||
PhysicalAxisFault | BOOL | Set when one or more fault conditions have been reported by the physical axis. The specific fault conditions can then be determined through access to the fault attributes of the associated physical axis. | ||
ModuleFault | BOOL | Set when a serious fault has occurred with the motion module associated with the selected axis. Usually a module fault affects all axes associated with the motion module. A module fault generally results in the shutdown of all associated axes. Reconfiguration of the motion module is required to recover from a module fault condition. | ||
ConfigFault | BOOL | Set when an update operation targeting an axis configuration attribute of an associated motion module has failed. Specific information concerning the Configuration Fault may be found in the Attribute Error Code and Attribute Error ID attributes associated with the motion module. | ||
WatchEvArmStatus | BOOL | Set when a watch event has been armed through execution of the MAW (Motion Arm Watch) instruction. Cleared when either a watch event occurs or a MDW (Motion Disarm Watch) instruction is executed. | ||
WatchEvStatus | BOOL | Set when a watch event has occurred. Cleared when either another MAW (Motion Arm Watch) instruction or a MDW (Motion Disarm Watch) instruction is executed. | ||
RegEvArmStatus | BOOL | Set when a registration checking has been armed for registration input 1 through execution of the MAR (Motion Arm Registration) instruction. Cleared when either a registration event occurs or a MDR (Motion Disarm Registration) instruction is executed for registration input 1. | ||
RegEvStatus | BOOL | Set when a registration event has occurred on registration input 1. Cleared when either another MAR (Motion Arm Registration) instruction or a MDR (Motion Disarm Registration) instruction is executed for registration input 1. | ||
RegEv2ArmStatus | BOOL | Set when a registration checking has been armed for registration input 2 through execution of the MAR (Motion Arm Registration) instruction. Cleared when either a registration event occurs or a MDR (Motion Disarm Registration) instruction is executed for registration input 2. | ||
RegEv2Status | BOOL | Set when a registration event has occurred on registration input 2. Cleared when either another MAR (Motion Arm Registration) instruction or a MDR (Motion Disarm Registration) instruction is executed for registration input 2. | ||
HomeEvArmStatus | BOOL | Set when a home event has been armed through execution of the MAH (Motion Axis Home) instruction. Cleared when a home event occurs. | ||
HomeEvStatus | BOOL | Set when a home event has occurred. Cleared when another MAH (Motion Axis Home) instruction is executed. | ||
ProcessStatus | BOOL | Set when there is an axis tuning operation or an axis hookup diagnostic test operation in progress on the associated physical axis. | ||
OutLmtStatus | BOOL | Set when the magnitude of the output of the associated physical servo axis has reached or exceeded the configured Output Limit value. | ||
PosLockStatus | BOOL | Set when the magnitude of the axis position error has become less than or equal to the configured Position Lock Tolerance value for the associated physical axis. | ||
HomeSwitchStatus | BOOL | Set when the current state of the dedicated Home input is active. Cleared when the Home input is inactive. | ||
Reg1InputStatus | BOOL | Set when the current state of the dedicated Registration 1 input is active. Clear when the Registration 1 input is inactive. | ||
Reg2InputStatus | BOOL | Set when the current state of the dedicated Registration 1 input is active. Clear when the Registration 1 input is inactive. | ||
PosOvertravelInputStatus | BOOL | Set when the current state of the dedicated Positive Overtravel input is active. Clear when the Positive Overtravel input is inactive. (not enabled in this release). | ||
NegOvertravelInputStatus | BOOL | Set when the current state of the dedicated Negative Overtravel input is active. Clear when the Negative Overtravel input is inactive. (not enabled in this release). | ||
DriveFaultInputStatus | BOOL | Set then the current state of the Drive Fault Input is active. Cleared when the Home Input is inactive. | ||
POtrvlFault | BOOL | Set when the axis has traveled, or attempted to travel, beyond the current configured value for Maximum Positive Travel. Cleared when the axis is moved back within this travel limit. | ||
NOtrvlFault | BOOL | Set when the axis has traveled, or attempted to travel, beyond the current configured value for Maximum Negative Travel. Cleared when the axis is moved back within this travel limit. | ||
PosHardOvertravelFault | BOOL | Set when the axis has traveled beyond the current positive direction position limits as established by hardware limit switches mounted on the machine. To recover, the axis must be moved back with normal operation limits of the machine and the limit switch reset. This fault condition is latched and requires execution of an explicit MAFR (Motion Axis Fault Reset) or MASR (Motion Axis Shutdown Reset) instruction to clear. (not enabled in this release). | ||
NegHardOvertravelFault | BOOL | Set when the axis has traveled beyond the current negative direction position limits as established by hardware limit switches mounted on the machine. To recover, the axis must be moved back with normal operation limits of the machine and the limit switch reset. This fault condition is latched and requires execution of an explicit MAFR (Motion Axis Fault Reset) or MASR (Motion Axis Shutdown Reset) instruction to clear. (not enabled in this release) | ||
FeedbackFault | BOOL | Set for a specific feedback source when one of the following conditions occurs: The differential electrical signals for one or more of the feedback channels (e.g., A+ and A-, B+ and B-, or Z+ and Z-) are at the same level (both high or both low). Under normal operation, the differential signals are always at opposite levels. The most common cause of this situation is a broken wire between the feedback transducer and the servo module or drive; orLoss of feedback "power" or feedback "common" electrical connection between the servo module or drive and the feedback device. This fault condition is latched and requires execution of an explicit MAFR (Motion Axis Fault Reset) or MASR (Motion Axis Shutdown Reset) instruction to clear. | ||
FeedbackNoiseFault | BOOL | Set for a specific feedback source when the servo module has detected simultaneous transitions of the feedback A and B channels (called "feedback noise"). Feedback noise is most often caused by loss of quadrature in the feedback device itself or radiated common-mode noise signals being picked up by the feedback device wiring, both of which may be able to be seen on an oscilloscope. This fault condition is latched and requires execution of an explicit MAFR (Motion Axis Fault Reset) or MASR (Motion Axis Shutdown Reset) instruction to clear. | ||
AuxFeedbackFault | BOOL | Set for an auxiliary feedback source when one of the following conditions occurs: The differential electrical signals for one or more of the feedback channels (e.g., A+ and A-, B+ and B-, or Z+ and Z-) are at the same level (both high or both low). Under normal operation, the differential signals are always at opposite levels. The most common cause of this situation is a broken wire between the feedback transducer and the servo module or drive; orLoss of feedback "power" or feedback "common" electrical connection between the servo module or drive and the feedback device. This fault condition is latched and requires execution of an explicit MAFR (Motion Axis Fault Reset) or MASR (Motion Axis Shutdown Reset) instruction to clear. (not enabled in this release). | ||
AuxFeedbackNoiseFault | BOOL | Set for an auxiliary feedback source when the servo module has detected simultaneous transitions of the feedback A and B channels (called "feedback noise"). Feedback noise is most often caused by loss of quadrature in the feedback device itself or radiated common-mode noise signals being picked up by the feedback device wiring, both of which may be able to be seen on an oscilloscope. This fault condition is latched and requires execution of an explicit MAFR (Motion Axis Fault Reset) or MASR (Motion Axis Shutdown Reset) instruction to clear. (not enabled in this release). | ||
PosErrorFault | BOOL | Set when the servo has detected that the axis position error has exceeded the current configured value for Position Error Tolerance. This fault condition is latched and requires execution of an explicit MAFR (Motion Axis Fault Reset) or MASR (Motion Axis Shutdown Reset) instruction to clear. | ||
DriveFault | BOOL | Set when the external servo drive has detected a fault and has communicated the existence of this fault to the servo module via the Drive Fault input. This fault condition is latched and requires execution of an explicit MAFR (Motion Axis Fault Reset) or MASR (Motion Axis Shutdown Reset) instruction to clear. | ||
ControlSyncFault | BOOL | Set when the Logix controller detects that several position update messages in a row from the motion module have been missed due to a failure of the synchronous communications connection. This condition results in the automatic shutdown of the associated servo module. The Logix controller is designed to "ride-through" a maximum of four missed position updates without issuing a fault or adversely affecting motion in progress. Missing more than four position updates in a row constitutes a problematic condition that warrants shutdown of the servo module. This fault bit is cleared when the connection is reestablished. | ||
ModuleSyncFault | BOOL | Set when the motion module detects that several position update messages in a row from the ControlLogix processor module have been missed due to a failure of the synchronous communications connection. This condition results in the automatic shutdown of the servo module. The servo module is designed to "ride-through" a maximum of four missed position updates without issuing a fault or adversely affecting motion in progress. Missing more than four position updates in a row constitutes a problematic condition that warrants shutdown of the servo module. This fault bit is cleared when the connection is reestablished. | ||
TimerEventFault | BOOL | Set when the associated servo module has detected a problem with the module’s timer event functionality used to synchronize the motion module’s servo loop to the master timebase of the Logix rack (i.e. Coordinated System Time). This fault bit can be cleared only by reconfiguration of the motion module. | ||
ModuleHardwareFault | BOOL | Set when the associated servo module has detected a hardware problem that, in general, is going to require replacement of the module to correct. | ||
OutputCamStatus | DINT | A set of bits * that are set when the Output Cam has been initiated. | ||
OutputCamPendingStatus | DINT | A set of bits * that are set when an Output Cam is waiting for an armed Output Cam to move beyond its cam start/cam end position. | ||
OutputCamLockStatus | DINT | A set of bits * that are set when an Output Cam is locked to the master axis. | ||
OutputCamTransitionStatus | DINT | A set of bits * that are set when the transition from the current armed Output Cam to the pending Output Cam is in process. |
* The bit number corresponds with the execution target number. One bit per execution target.
Provide Feedback