MC_Stop

MC_Stop 1:

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

MC_Stop 2: 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)

MC_Stop 3: In/Outputs

Name

Type

Description

Axis

Reference To AXIS_REF

Reference to the axis

MC_Stop 4: 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.

MC_Stop 5:

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