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 the First instance of the type MC_MoveAbso­lute 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.

MoveAdditiveExample.png

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

AXIS_REF_SM3

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

  • 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