MC_MoveAbsolute_SML (FB)

FUNCTION_BLOCK FINAL MC_MoveAbsolute_SML

Commands a controlled motion to a specified absolute position.

Note

  • The motion completes with velocity zero.

  • For modulo axes, it is drive dependent which modulo period is selected for the final position.

The following figure shows two examples of the combination of two instances of MC_MoveAbsolute_SML:

  1. The left part of the timing diagram illustrates the case if the second FB is called after the first one. If the first reaches the commanded position of 6000 (and the velocity is 0), then the output Done causes the second FB to move to position 10000.

  2. 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 moves directly to position 10000, although the position of 6000 is not reached yet.

../_images/MC_MoveAbsolute_Example.png
InOut:

Scope

Name

Type

Comment

Inout

Axis

Axis_REF_SML

Reference to the axis

Input

Execute

BOOL

Rising edge: The motion is started

Position

LREAL

Commanded position for the motion (may be negative) (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 position 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

SML_ERROR

Error number