Move By

Motion Block

Description

Move By performs a relative coordinated move by the specified position parameters. The procedure requires as many parameters as there are dimensions in the axis group. For example, a single axis has one parameter while a group with three axes requires three parameters. The motion is performed with a trapezoidal velocity profile based on parameters set with the Set Accel, Set Decel, and Set Speed procedures. These parameters apply to the resulting vector path motion of the coordinated group, not to any particular axis. Move By can be used on an axis or axis group that is already in motion, replacing the previous target position with one relative to the position of the motor when the command is executed. Move By is a blocking command and does not return until the motion has been completed. Blocking program execution until the end of the move is helpful for synchronizing following events. If program execution is required during the move, a non-blocking command such as Begin Move By should be used instead. The Stop, Begin Stop, and Abort commands will end the motion before it reaches the target position.

Escapes

Move By will escape if used while an axis is in motion and the new destination specified is "behind" the vector path position or if the destination is so close that the axis group cannot accomplish the move at the specified decel rate. In these cases the group will emit a Motion Overrun Escape Code and come to a stop.

If the destination of the move is beyond the positive and negative software limits Move By will produce a Position Limit Escape Code.

Examples

This block list initiates a single axis relative move by 5:

Here a Try Recover block is being used to handle the case that a motor is being asked to travel beyond a soft limit:

Related Topics

Move To
Set Speed
Set Accel
Set Decel
Try Recover