Rockwell Automation Publication 2080-UM002L-EN-E - November 2021
83
Chapter 7 Motion Control
General Rules for the Motion Control Function Blocks
To work with motion control function blocks, users need to be familiar with
the following general rules.
MC_Halt
This function block commands an axis to a
controlled motion stop. The axis is moved to the
state “Discrete Motion”, until the velocity is zero.
With the Done output set, the state is transferred
to “StandStill”.
Standstill, Discrete Motion,
Continuous Motion
ATTENTION:
During Run Mode Change, the Movement Function Blocks can only
be deleted when that Function Block has been done or aborted. Otherwise
unintended axis and Function Block behavior may occur.
ATTENTION:
Each motion function block has a set of variable inputs and
outputs that allows you to control a specific motion instruction. See the
Connected Components Workbench Online Help for a description of these
variable inputs and outputs.
Movement Function Blocks (Continued)
Function Block Name
Description
Correct Axis State for issuing
Function Block
General Rules for the Motion Function Block
Parameter
General Rules
Input parameters
When Execute is True
: The parameters are used with the rising edge of the Execute input. To modify any parameter, it is necessary to
change the input parameter(s) and to trigger motion again.
When Enable is True
: The parameters are used with the rising edge of the Enable input and can be modified continuously.
Inputs exceeding application
limits
If a function block is configured with parameters that result in a violation of application limits, the instance of the function block generates
an error. The Error output will be flagged On, and error information will be indicated by the output ErrorID.
The controller, in most cases, will remain in Run mode, and no motion error will be reported as a major controller fault.
Position/Distance Input
For MC_MoveAbsolute function block, the position input is the absolute location commanded to the axis. For MC_MoveRelative, the distance
input is the relative location (considering current axis position is 0) from current position.
Velocity Input
Velocity can be a signed value. Users are advised to use positive velocity.
Direction input for the MC_MoveVelocity function block can be used to define the direction of the move (that is, negative velocity x negative
direction = positive velocity).
For MC_MoveRelative and MC_MoveAbsolute function blocks the absolute value of the velocity is used.
Velocity input does not need to be reached if Jerk input is equal to 0.
Direction Input
For MC_MoveAbsolute, direction input is ignored. (This is reserved for future use.)
For MC_MoveVelocity, direction input value can be 1 (positive direction), 0 (current direction) or -1 (negative direction). For any other value,
only the sign is taken into consideration. For example, -3 denotes negative direction, +2 denotes positive direction, and so on.
For MC_MoveVelocity, the resulting sign of the product value derived from
velocity x direction
decides the motion direction, if the value is not
0. For example, if velocity x direction = +300, then direction is positive.
Acceleration, Deceleration, and
Jerk Inputs
• Deceleration or Acceleration inputs should have a positive value. If Deceleration or Acceleration is set to be a non-positive value, an error
will be reported (Error ID: MC_FB_ERR_RANGE).
• The Jerk input should have a non-negative value. If Jerk is set to be a negative value, error will be reported.
(Error ID: MC_FB_ERR_RANGE).
• If maximum Jerk is configured as zero in Connected Components Workbench motion configuration, all jerk parameters for the motion
function block has to be configured as zero. Otherwise, the function block reports an error (Error ID: MC_FB_ERR_RANGE).
• If Jerk is set as a non-zero value, S-Curve profile is generated. If Jerk is set as zero, trapezoidal profile is generated.
• If the motion engine fails to generate the motion profile prescribed by the dynamic input parameters, the function block reports an error
(Error ID: MC_FB_ERR_PROFILE).
Function Block and Axis Status Error Codes on page 98
for more information about error codes.