MC_Stop
This function block commands a motion stop and transfers the axis to the state Stopping. It aborts any ongoing function block execution. While the axis is in state Stopping, no other function block can perform any motion on the same axis. The Done output is set immediately after zero dynamics is reached. The axis remains in the state Stopping as long as Execute is TRUE or zero dynamics is not yet reached. As soon as Done is SET and Execute is FALSE the axis goes to state Standstill.
Syntax
Definition:
FUNCTION_BLOCK MC_Stop
VAR_IN_OUT
Axis : Reference To AXIS_REF;
END_VAR
VAR_INPUT
Execute : BOOL;
Deceleration : LREAL;
Jerk : LREAL;
END_VAR
VAR_OUTPUT
Done : BOOL;
Busy : BOOL;
Active : BOOL;
CommandAborted : BOOL;
Error : BOOL;
ErrorId : UDINT;
END_VAR
Inputs
|
Name |
Type |
Default |
Description |
|---|---|---|---|
|
Execute |
BOOL |
|
Trigger the command with rising edge. While this is TRUE, other function blocks will be rejected for the axis. |
|
Deceleration |
LREAL |
#Default |
Maximum deceleration ([PosUnit]/s^2, positive) |
|
Jerk |
LREAL |
#Default |
Maximum jerk ([PosUnit]/s^3, positive) |
Outputs
|
Name |
Type |
Description |
|---|---|---|
|
Done |
BOOL |
Zero dynamics has been reached. |
|
Busy |
BOOL |
Function block is not finished and new output values are to be expected. |
|
Active |
BOOL |
Function block has active control on the axis. |
|
CommandAborted |
BOOL |
Command is aborted by another command. |
|
Error |
BOOL |
Error occurred within function block. |
|
ErrorId |
UDINT |
Error identifier |
Weiterführende Informationen
Mit dem Funktionsbaustein MC_Stop wird eine Achse mit einer definierten Bremsrampe angehalten und die Achse gegen andere Bewegungskommandos verriegelt. Erst wenn sich die Achse im Stillstand befindet (MC_Stop.Done = TRUE) und der Eingang MC_Stop.Execute = FALSE ist, wird die Verriegelung der Achse bzgl. anderer Bewegungskommandos aufgehoben.
Für die Bremsrampe werden die maximalen Dynamiken von Deceleration und Jerk aus vorherigem Kommando und den am Baustein angegebenen Werten gewählt.
Alternative kann eine Achse mit MC_Halt ohne Verriegelung angehalten werden.
Wird MC_Stop auf eine gekoppelte Slave-Achse angewendet, so führt dieses zum automatischen Abkoppeln der Achse und anschließendem Ausführen des Stop-Kommandos.
Auswirkungen auf den Achszustand
Der Funktionsbaustein MC_Stop kann in jedem Bewegungszustand der Achse aufgerufen werden. Die Achse wird dadurch in den Zustand Stopping versetzt. Neben dem Anhalten der Achse mit einer definierten Bremsrampe erfolgt im Stopping-Zustand eine Verriegelung der Achse gegen andere Bewegungskommandos. Daher ist es auch möglich MC_Stop im Zustand Standstill aufzurufen, um eine Verriegelung der Achse zu erzeugen. Erst wenn keine Bewegung der Achse erfolgt und der Eingang MC_Stop.Execute = FALSE gesetzt ist, wird die Achse in den Zustand Standstill versetzt und dadurch die Verriegelung der Achse wieder aufgehoben.

Hinweis zum Umstieg von NC2 zu MC3
In der MC3 ist eine Parametrierung der Dynamiken mit dem Wert 0 (implizite Verwendung der zuletzt kommandierten Dynamiken) nicht möglich.
Versionsinformation
- TwinCAT Standard >= v3.1.4026.23.1
- TF5500 MC3 Base >= v4.0.6