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 the First instance of the type MC_MoveAbsolute and the Second instance of the type MC_MoveAdditive are combined. The axis is in the discrete_motion mode.
In the left-hand part of the illustration Second is called after First. If First has reached the specified position of 6000, the velocity is 0 and the Done 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 by Second while First is still operating. The motion of First is interrupted and aborted by the Test signal which is transmitted during the constant velocity phase of First. The distance 4000 is added to the last commended position of 60000. Then Second 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 execution |
Distance |
LREAL |
0 |
Relative distance for the motion in technical unit [u] |
|
Velocity |
LREAL |
0 |
Maximum velocity
|
|
Acceleration |
LREAL |
0 |
Acceleration
|
|
Deceleration |
LREAL |
0 |
Deceleration
|
|
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 |