MC_Stop

MC_Stop 1:

MC_Stop stops an axis with a defined deceleration ramp and locks it against other motion commands. The function block is therefore suitable for stops in special situations, in which further axis movements are to be prevented.

Notice

At the same time the axis is blocked for other motion commands. The axis can only be restarted once the Execute signal has been set to FALSE after the axis has stopped. A few cycles are required to release the axis after a falling edge of Execute. During this phase the Busy output remains TRUE, and the function block has to be called until Busy becomes FALSE.

Notice

The locking of the axis is canceled with an MC_Reset.

Alternatively, the axis can be stopped with MC_Halt without locking. MC_Halt is preferable for normal movements.

Motion commands can be applied to coupled slave axes, if this option was explicitly activated in the axis parameters. A motion command such as MC_Stop then automatically leads to decoupling of the axis, after which the command is executed.

Inputs


VAR_INPUT
Execute : BOOL;
Deceleration : LREAL;
Jerk : LREAL;
Options : ST_MoveOptions;
END_VAR

Execute

The command is executed with a rising edge at input Execute.
The axis is locked during the stop. The axis can only be restarted once the Execute signal has been set to FALSE after the axis has stopped.

Deceleration

Deceleration (≥0). If the value is 0, the deceleration parameterized with the last move command takes effect. For safety reasons
MC_Stop and MC_Halt cannot be executed with weaker dynamics than the currently active motion command. The parameterization is adjusted automatically, if necessary.

Jerk

Jerk (≥0). If the value is 0, the jerk parameterized with the last Move command takes effect. For safety reasons
MC_Stop and MC_Halt cannot be executed with weaker dynamics than the currently active motion command. The parameterization is adjusted automatically, if necessary.

Options

Currently not implemented - The data structure Options includes additional, rarely required parameters. The input can normally remain open.

General rules for MC function blocks

Outputs


VAR_OUTPUT
Done : BOOL;
Busy : BOOL;
Active : BOOL;
CommandAborted : BOOL;
Error : BOOL;
ErrorID : UDINT;
END_VAR

Done

The Done output becomes TRUE, if the axis was stopped and has come to a standstill.

Busy

The Busy output becomes TRUE when the command is started with Execute and remains TRUE as long as the command is processed. If Busy becomes FALSE again, the function block is ready for a new order.
Notice Busy remains TRUE as long as the axis is locked. The axis is only unlocked and Busy becomes FALSE when Execute is set to FALSE.

Active

Active indicates that the function block is controlling the axis.
Notice Active remains TRUE as long as the axis is locked. The axis is only unlocked and Active becomes FALSE when Execute is set to FALSE.

CommandAborted

Becomes TRUE, if the command could not be fully executed.

Error

Becomes TRUE if an error occurs.

ErrorID

If the error output is set, this parameter supplies the error number.

General rules for MC function blocks

Inputs/outputs


VAR_IN_OUT
Axis : AXIS_REF;
END_VAR

AXIS_REF

Axis

Axis data structure

The axis data structure of type AXIS_REF addresses an axis unambiguously within the system. Among other parameters it contains the current axis status, including position, velocity or error state.