Motion control instructions Chapter 17
Rockwell Automation Publication 2080-RM001D-EN-E - February 2015 433
Rule applies to Rule
Acceleration, Deceleration and Jerk inputs
• Deceleration or Acceleration inputs should have a positive value. If Deceleration or Acceleration is set to a non-positive value,
the function block reports an error (Error ID: MC_FB_ERR_RANGE).
• Jerk input should have a non-negative value. If Jerk is set to a negative value, the function block reports an error (Error ID:
MC_FB_ERR_RANGE).
• If Maximum Jerk is set to zero, all jerk parameters for the motion control function block, including jerk setting for MC_Stop
have to be set to zero. If they are not, the function block reports an error (Error ID: MC_FB_ERR_RANGE).
• If Jerk is set to a non-zero value, S-Curve profile is generated; if Jerk is set to 0, trapezoidal profile is generated.
• Home Jerk configuration is not limited to Max Jerk configuration.
• 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).
Output exclusivity
With Execute: When Execute is TRUE, one of the Busy, Done, Error, or CommandAborted outputs must also be TRUE. The
outputs are mutually exclusive: only one output on one function block can be TRUE.
Only one of the outputs Active, Error, Done and CommandAborted is set at one time.
With Enable: The Valid and Error outputs are mutually exclusive: only one output on one function block can be TRUE.
Output status
With Execute: The Done, Error, ErrorID and CommandAborted outputs are reset with the falling edge of Execute instruction.
However, the falling edge of Execute does not stop or influence the execution of the actual function block. Even if Execute is reset
before the function block completes, the corresponding outputs are set for at least one cycle.
If an instance of a function block receives a new Execute command before it completes (as a series of commands on the same
instance), the new Execute command is ignored, and the previously issued instruction continues with execution.
With Enable: Valid, Enabled, Busy, Error, and ErrorID outputs are reset with the falling edge of Enable as soon as possible.
Behavior of Done output
The Done output is set when the commanded action has successfully completed.
When multiple function blocks are working on the same axis in a sequence, the following applies:
• When one movement on an axis is interrupted with another movement on the same axis without having reached the final
goal, Done on the first function block will not be set.
Behavior of Busy output
Every function block can have a Busy output, indicating the function block is not finished (for function blocks with an Execute
input) or is not working and new output values can be expected (in case of Enable input).
Busy is set at the rising edge of Execute and reset when one of the outputs Done, Aborted, or Error is set. The function block
should be kept in the active loop of the application program for at least as long as Busy is TRUE because the outputs may change.
Function blocks with the same instance that are busy cannot execute until it is no longer busy. Function blocks with different
instances can abort the currently executing function block.
Behavior of CommandAborted
output
The CommandAborted output is set when a commanded motion is interrupted by another motion command.
The reset behavior of CommandAborted output is similar to Done output. When CommandAborted occurs, other output signals
such as InVelocity are reset.