Zustand
Ein Zustand ist das Hauptelement eines Zustandsdiagramms. Ein Zustandsautomat (bzw. Zustandsdiagramm) durchläuft während seiner Laufzeit verschiedene Zustände und führt deren Aktionen aus. Ein Zustand kann über ENTRY-, DO-, und EXIT-Aktionen verfügen, die zu festgelegten Zeitpunkten in der Laufzeit des Zustands ausgeführt werden.
Ein Zustand wird als Rechteck mit abgerundeten Ecken dargestellt.
Normaler Zustand
Ein normaler Zustand ist entsprechend der Task, in der er aufgerufen wird, getaktet. Das heißt, dass der Übergang in den nächsten Zustand erst mit dem nächsten Taskzyklus geschaltet wird.
Zyklusinterner Zustand
Besteht ein Zustandsautomat aus zyklusinternen Zuständen, ist das Schaltverhalten unabhängig vom Taskzyklus. Das bedeutet, dass, wenn die Aktionen eines internen Zustands abgeschlossen sind, unmittelbar in die Transition geschaltet wird. Es wird damit sofort die Transitionsbedingung geprüft und bei erfüllter Bedingung die Transitionsaktion ausgeführt. Ebenso wird bei erfüllter Transitionsbedingung sofort anschließend in den Zielzustand geschaltet.
Ob ein Zustand zyklusintern schaltet, wird in der Eigenschaft „Interner Zustand“ eingestellt.
ENTRY-, DO-, EXIT-Aktionen/-Methoden
Ein Zustand kann eine ENTRY-, eine DO- und/oder eine EXIT-Aktion bzw. -Methode haben. Für diese Aktionen bzw. Methoden können Sie eine beliebige Implementierungssprache wählen.
- Die ENTRY-Aktion kann den Zustand initialisieren. Sie wird einmal ausgeführt, wenn alle eingehenden Transitionen schalten, so dass der Zustand aktiv wird.
- Die DO-Aktion wird solange ausgeführt, wie der Zustand aktiv ist.
- Die EXIT-Aktion soll sicherstellen, dass der Zustand in einem gültigen Zustand verlassen wird. Die EXIT-Aktion wird einmal ausgeführt, wenn alle ausgehenden Transitionen schalten, so dass der Zustand verlassen wird.
Aufrufverhalten
Bitte beachten Sie insbesondere die Samples, die u.a. das Aufrufverhalten vom UML- Zustandsdiagramm beschreiben und dieses anhand eines Beispiels darstellen.
Eigenschaften
„Eigenschaft“ | Beschreibung |
---|---|
„Bezeichner“ | Name des Zustands Beispiel: Enable, Production, ErrorHandling |
„Farbe“ | Farbe des Zustands Klicken Sie auf die eingestellte Farbe, um über das sich öffnende Dropdown-Menü die Farbe des Zustands zu ändern. Voreinstellung: |
„Impliziter Startzustand“ |
|
„Zyklusintern“ |
|
„Max. DO-Zyklus-Aufrufe “ | Voraussetzung: Diese Eigenschaft ist verfügbar, wenn die Eigenschaft „Zyklusintern“ aktiviert ist. Definieren Sie die maximale Anzahl an Aufrufen der DO-Aktion pro Zyklus. Geben Sie eine Zahl zwischen 1 und 32767 an. Diese Einstellung ist für zyklusinterne Zustände relevant, wenn die ausgehende Transition des zyklusinternen Zustands während der Abarbeitung des zyklusinternen Zustands nicht erfüllt ist und sich während der DO-Aufrufe auch nicht erfüllen wird. Durch die eingestellte maximale Aufrufanzahl ist sichergestellt, dass es bei dem Aufruf des zyklusinternen Zustands nicht zu einer Endlosschleife kommt. |
„ENTRY-Aktion“ | Weisen Sie dem selektierten Zustand eine Aktion zu, indem Sie deren Aktionsnamen angeben. |
„DO-Aktion“ | |
„EXIT-Aktion“ |
Zustand editieren
Die folgenden Benutzereingaben stehen unter der Bedingung zur Verfügung, dass „Zeiger“ bzw. „Auswahl“ in „Werkzeuge“ aktiviert ist (Standardmodus).
Benutzereingabe im Zustandsdiagramm | Reaktion im Zustandsdiagramm | Beschreibung |
---|---|---|
Fokussieren Sie einen Zustand. | Der Zustand ist editierbar.
| |
Klicken Sie auf das Symbol | Eine abgehende Transition wird erzeugt. Wenn Sie dabei auf einen bestehenden Zustand klicken, wird dieser zum Zielzustand der Transition. Wenn Sie auf einen freien Bereich klicken, wird ein neuer Zustand erzeugt. | |
Erzeugen Sie mehrere Transitionen auf demselben Zustand. |
| Wenn ein Zustand mehr als eine abgehende/eingehende Transition hat, definieren deren Prioritäten die Reihenfolge der Ausführung. Die Priorität der Transitionen ist in einem kleinen Kreis dargestellt. |
Klicken Sie auf : | Der Zustand wird um eine ENTRY-Aktion/-Methode erweitert. | |
Klicken Sie auf : | Der Zustand wird um eine DO-Aktion/-Methode erweitert. | |
Klicken Sie auf : | Der Zustand wird um eine EXIT-Aktion/-Methode erweitert. | |
Fokussieren Sie einen Zustand, der um eine Aktion erweitert wurde, und klicken Sie auf das Symbol . | Das Symbol ist bei Aktionszeilen am Ende der Zeile sichtbar, wenn bislang keine Aktion zugewiesen wurde. Der Dialog „Neues Aktionsobjekt“ öffnet, um eine neue Aktion zu erzeugen. Danach wird der Name der Aktion hinter einem Schrägstrich angezeigt. Siehe auch: „Neues Aktionsobjekt hinzufügen“ | |
Klicken Sie mit zwei Einzelklicks auf den ENTRY-, DO- oder EXIT-Ausdruck (unabhängig davon, ob bereits eine Aktion zugewiesen wurde oder nicht). |
| Der Zeileneditor öffnet mit IntelliSense-Unterstützung, so dass eine neue Aktion zugewiesen werden kann. Ist die gewünschte Aktion im IntelliSense ausgewählt, kann die Aktion mittels Doppelklick oder mittels Selektieren plus [Enter] ausgewählt werden. |
Fokussieren Sie einen Zustand, dem eine Aktion zugewiesen wurde. Klicken Sie auf das Symbol oder doppelklicken Sie auf die zugewiesene Aktion. | Die zugewiesene Aktion, im Beispiel „SampleMethod“, wird im Editor geöffnet. Im aufgehenden POU-Editor können Sie das Aktionsobjekt editieren. | |
Klicken Sie auf : | Die Aktionsliste des Zustands klappt zu. | |
Klicken Sie auf : | Die Aktionsliste des Zustands klappt auf. |