MC_MoveSuperImposed

Functional Description

This function block performs a superimposed movement with a specified position offset with reference to the position of an ongoing movement.

The function block can be used to add an offset movement based on the measurements of an encoder or other sensor, for example, to compensate for size differences of irregularly shaped objects on a belt.

If a new function block MC_MoveSuperImposed is started while another function block MC_MoveSuperImposed  is still running, the running function block is aborted and the new one started. The underlying motion command is not aborted.

If the underlying function block is aborted by another function block, for example, MC_Stop, the superimposed movement is aborted as well.

The output CoveredDistance indicates the distance moved.

Library Name and Namespace

Library name: PLCopen MC part 1

Namespace: PLCO

Graphical Representation

G-SE-0076739.1.gif-high.gif

 

 

Inputs

Input

Data type

Description

Axis

Axis_Ref

Reference to the axis for which the function block is to be executed.

Execute

BOOL

Value range: FALSE, TRUE.

Default value: FALSE.

A rising edge of the input Execute starts the function block. The function block continues execution and the output Busy is set to TRUE.

This function block can be restarted while it is executed. The target values are overwritten by the new values at the point in time the rising edge occurs.

Distance

LREAL

Value range: -2147483648...2147483647

Default value: 0

Additional distance to be superimposed in user-defined units.

VelocityDiff

LREAL

Value range: -2147483648...2147483647

Default value: 0

Value of the velocity difference of the additional movement in user-defined units.

Acceleration

LREAL

Value range: Any positive LREAL value

Default value: 0

Acceleration in user-defined units.

Deceleration

LREAL

Value range: Any positive LREAL value

Default value: 0

Deceleration in user-defined units.

Jerk

LREAL

Value range: Any positive LREAL value and zero

oPositive values: Jerk limit (in units/s3) (maximum jerk with which the acceleration is modified).

oZero: Jerk limit disabled. The acceleration instantaneously jumps from zero to maximum acceleration (infinite jerk).

Default value: 0

Outputs

Output

Data type

Description

Done

BOOL

Value range: FALSE, TRUE.

Default value: FALSE.

oFALSE: Execution has not been finished, or an error has been detected.

oTRUE: Execution terminated without an error detected.

Busy

BOOL

Value range: FALSE, TRUE.

Default value: FALSE.

oFALSE: Function block is not being executed.

oTRUE: Function block is being executed.

NOTE: The output Busy remains TRUE even when the target velocity has been reached or Execute becomes FALSE. The output Busy is set to FALSE as soon as another function block such as MC_Stop is executed.

Active

BOOL

Value range: FALSE, TRUE.

Default value: FALSE.

oFALSE: The function block does not control the movement of the axis.

oTRUE: The function block controls the movement of the axis.

CommandAborted

BOOL

Value range: FALSE, TRUE.

Default value: FALSE.

oFALSE: Execution has not been aborted.

oTRUE: Execution has been aborted by another function block.

Error

BOOL

Value range: FALSE, TRUE.

Default value: FALSE.

oFALSE: Function block is being executed, no error has been detected during execution.

oTRUE: An error has been detected in the execution of the function block.

ErrorID

ET_Result

This enumeration provides diagnostics information.

CoveredDistance

LREAL

Value range: -2147483648...2147483647

Default value: 0

Indicates the distance moved in user-defined units.

Notes

Setting the input Distance to 0 halts the superimposed movements without halting the underlying movement (acts like the function block MC_HaltSuperimposed which is not separately implemented in the library).

Starting a function block MC_MoveAdditive while a function block MC_MoveSuperImposed  is running results in a detected error.

The implementation of the function block MC_MoveSuperimposed complies with the specifications of PLCopen Motion Control Part 1, Version 2.0. It differs from the SoftMotion SM3_Basic library (refer to Specific Information on Individual Function Blocks).