Zustandsdiagramm

Das folgende Zustandsdiagramm definiert das Verhalten einer Achse.

Zustandsdiagramm 1:

Note 1

Aus undefiniertem Zustand, in dem ein Fehler auftritt.

Note 2

Aus undefiniertem Zustand, wenn MC_Power.Enable = FALSE. Die Achse hat keinen Fehler.

Note 3

MC_Reset und MC_Power.Status = FALSE

Note 4

MC_Reset und MC_Power.Status = TRUE und MC_Power.Enable = TRUE

Note 5

MC_Power.Status = TRUE und MC_Power.Enable = TRUE

Note 6

MC_Stop.Done = TRUE und MC_Stop.Execute = FALSE

Bewegungskommandos werden grundsätzlich sequentiell abgearbeitet. Alle Kommandos arbeiten in dem beschriebenen Zustandsdiagramm.

Die Achse befindet sich immer in einem der definierten Zustände. Jedes Bewegungskommando, das eine Transition verursacht, ändert den Zustand der Achse und damit das Bewegungsprofil. Das Zustandsdiagramm ist eine Abstraktionsebene, die den realen Zustand der Achse, vergleichbar zum Prozessabbild von E/A-Punkten, widerspiegelt. Der Zustand der Achse wechselt sofort mit dem auslösenden Kommando.

Das Zustandsdiagramm bezieht sich auf Einzelachsen.

Der Zustand „Disabled“ beschreibt den Grundzustand einer Achse. In diesem Zustand kann die Achse durch keinen Funktionsbaustein bewegt werden. Wenn der Funktionsbaustein MC_Power mit Enable = TRUE aufgerufen wird, wechselt die Achse in den Zustand „Standstill“ oder im Fehlerfall in den Zustand „ErrorStop“. Wenn der Funktionsbaustein MC_Power mit Enable = FALSE aufgerufen wird, wechselt der Zustand nach „Disabled“.

Zweck des Zustands „ErrorStop“ ist es, die Achse zu stoppen und anschließend keine weiteren Kommandos anzunehmen, bis ein Reset ausgelöst wurde. Der Zustandsübergang „Error“ bezieht sich nur auf tatsächliche Achsfehler und nicht auf Ausführungsfehler eines Funktionsbausteins. Achsfehler können aber auch am Fehlerausgang eines Funktionsbausteins angezeigt werden.

Funktionsbausteine, die im Zustandsdiagramm nicht aufgeführt werden, beeinflussen den Zustand der Achse.

Der Zustand „Stopping“ zeigt an, dass sich die Achse in einer Stopprampe befindet. Der Zustand wechselt nach dem vollständigen Stopp erst nach „Standstill“, wenn MC_Stop mit Execute = FALSE aufgerufen wird. Andernfalls bleibt die Achse für weitere Bewegungskommandos gesperrt.