Move By

Text Language Definition

procedure TNAxis.MoveBy(XDelta:longint, YDelta:longint, ...);

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 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 subsequent 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 procedure initiates a single axis relative move by 10:

This procedure attempts a single axis relative move by 20 and handles potential error cases using a Try..Recover statement:

Related Topics

Move To
Set Speed
Set Accel
Set Decel
Try Recover