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
Donecauses 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
Testsignal 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
AxisReference to the axis
Input
ExecuteBOOLRising edge: The motion is started
DistanceLREALRelative distancefor the motion (in technical units [u])
VelocityLREALValue of the maximum velocity (always positive) (not necessarily reached) [u/s]
AccelerationLREALValue of the acceleration (always positive) (increasing energy of the motor) [u/s²]
DecelerationLREALValue of the deceleration (always positive) (decreasing energy of the motor) [u/s²]
Output
DoneBOOLCommanded distance reached
BusyBOOLThe motion is not finished and new output values are to be expected
CommandAbortedBOOLThe motion was interrupted by a motion command acting on the same axis
ErrorBOOLSignals that an error has occured
ErrorIDError number