MC_MoveAdditive (FB)¶
FUNCTION_BLOCK MC_MoveAdditive
This function block causes a controlled motion that adds the specified distance to the last specified target position.
The axis is thereby in the discrete_motion mode. The current target position can result from a preceding motion of MC_MoveAdditive
that was aborted.
If the function block runs in the continuous_motion mode, the specified distance is added to the current position during the processing time.
- Example
- Use of
MC_MoveAdditive
The illustration shows how theFirst
instance of the typeMC_MoveAbsolute
and theSecond
instance of the typeMC_MoveAdditive
are combined. The axis is in the discrete_motion mode.In the left-hand part of the illustrationSecond
is called afterFirst
. IfFirst
has reached the specified position of 6000, the velocity is 0 and theDone
is set,Second
will cause the axis to move to the position 10000.In the right-hand part of the illustration, the execution is started bySecond
whileFirst
is still operating. The motion ofFirst
is interrupted and aborted by theTest
signal which is transmitted during the constant velocity phase ofFirst
. The distance 4000 is added to the last commended position of 60000. ThenSecond
moves the axis to the resulting position 10000.

Sequence of two complete actions: Sequential execution of two complete motions
Second motion interrupts first motion: Motion of “Second” interrupts the motion of “First”
- InOut:
Scope
Name
Type
Initial
Comment
Inout
Axis
Reference to axis
Input
Execute
BOOL
FALSE
TRUE
: Starts executionDistance
LREAL
0
Relative distance for the motion in technical unit [u]
Velocity
LREAL
0
Maximum velocity
Is always positive in [u/s].
Does not need to be achieved.
Acceleration
LREAL
0
Acceleration
Is always positive in [u/s²].
Increasing motor energy
Deceleration
LREAL
0
Deceleration
Is always positive in [u/s²].
Decreasing motor energy
Jerk
LREAL
0
Is always positive in [u/s³].
Output
Done
BOOL
FALSE
TRUE
: Distance has been achieved.Busy
BOOL
FALSE
TRUE
: Function block is in operation.CommandAborted
BOOL
FALSE
TRUE
: Execution has been interrupted by another function block instance operating on the axis.Error
BOOL
FALSE
TRUE
: Error has occurred.ErrorID
SMC_ERROR
0
Error identification