Rockwell Automation Publication 2080-UM002L-EN-E - November 2021 97
Chapter 7 Motion Control
Axis Error Scenarios
In most cases, when a movement function block instruction issued to an axis
results in a function block error, the axis is also usually flagged as being in
Error state. The corresponding ErrorID element is set on the axis_ref data for
the axis. However, there are exception scenarios where an axis error is not
flagged. The exception can be, but not limited to, the following scenarios:
• A movement function block instructs an axis, but the axis is in a stat
e
where the function block could not be executed properly. For example,
the axis ha
s no power, or is in Homing sequence, or in Error Stop state.
• A movement function block instruct
s an axis, but the axis is still
controlled by another movement function block. The axis cannot allow
the mo
tion to be controlled by the new function block without going to
a
full stop. For example, the new functi
on block commands the axis
to
ch
ange motion direction.
• When one movement function block trie
s to control an axis, but the axis
is
still controlled by another move
ment function block, and the newly
defi
ned motion profile cannot be realized by the controller.
For example,
User Application issues an S-Curve MC_Mo
veAbsolut
e function block to
an axis with too short a distance given when the axis is moving.
•
When one movement function block is issued to an axis, and the axis is
in the Stopping or Error Stopping sequence.
For the above exceptions, it is still possible for the user application to issue a
successful movement function block to the axis after the axis state changes.
AxisState UINT8
Indicates the current state of the axis. For more information, see Axis States on
page 91.
ErrorID UINT16
Indicates the cause for axis error when error is indicated by ErrorFlag. This
error usually results from motion function block execution failure.
See Motion Function Block and Axis Status Error ID on page 99.
ExtraData UINT16 Reserved.
TargetPos
REAL
(float)
(1)
Indicates the final target position of the axis for MoveAbsolute and
MoveRelative function blocks.
For MoveVelocity, Stop, and Halt function blocks, TargetPos is 0 except when
the TargetPos set by previous position function blocks is not cleared.
CommandPos
REAL
(float)
(1)
On a moving axis, this is the current position the controller commands the axis
to go to.
TargetVel
REAL
(float)
(1)
The maximum target velocity issued to the axis by a move function block. The
value of TargetVel is same as the velocity setting in current function block, or
smaller, depending on other parameters in the same function block. This
element is a signed value indicating direction information.
See PTO Pulse Accuracy on page 110 for more information.
CommandVel
REAL
(float)
(1)
During motion, this element refers to the velocity the controller commands the
axis to use. This element is a signed value indicating direction information.
(1) See Real Data Resolution on page 108 for more information on REAL data conversion and rounding.
IMPORTANT
• Once an axis is flagged with error, and the error ID is not zero, the user needs
to reset the axis (using MC_Reset) before issuing any other movement
function block.
• The update for axis status is performed at the end of one program sc
an
cy
cle, and the update is aligned with the update of Motion Axis status.
Data Elements for Axis_Ref (Continued)
Element Name Data Type Description