MC_MoveRelative_SML (FB)¶
FUNCTION_BLOCK FINAL MC_MoveRelative_SML
Commands a controlled motion of a specified distance relative to the position at the time of the execution.
Note
The motion completes with velocity zero.
The following figure shows the example of the combination of two instances
of MC_MoveRelative_SML
:
The left part of the timing diagram illustrates the case if the second FB is called after the first one. If first reaches the commanded distance 6000 (and the velocity is 0), then the output
Done
causes the second FB to move the commanded distance 4000 to the resulting absolute position 10000.The right part of the timing diagram illustrates the case if the second FB starts the execution while the first FB is still executing. In this case, the first motion is interrupted and aborted by the
Test
signal during the constant velocity phase of the first FB. The second FB adds the distance 4000 to the actual position of 3250 to the resulting absolute position of 7250.

- InOut:
Scope
Name
Type
Comment
Inout
Axis
Reference to the axis
Input
Execute
BOOL
Rising edge: The motion is started
Distance
LREAL
Relative distancefor the motion (in technical units [u])
Velocity
LREAL
Value of the maximum velocity (always positive) (not necessarily reached) [u/s]
Acceleration
LREAL
Value of the acceleration (always positive) (increasing energy of the motor) [u/s²]
Deceleration
LREAL
Value of the deceleration (always positive) (decreasing energy of the motor) [u/s²]
Output
Done
BOOL
Commanded distance reached
Busy
BOOL
The motion is not finished and new output values are to be expected
CommandAborted
BOOL
The motion was interrupted by a motion command acting on the same axis
Error
BOOL
Signals that an error has occured
ErrorID
Error number