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.

Zustand 1:

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.

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: Zustand 2:

„Impliziter Startzustand“

  • Nein: [Default] Setzen Sie die Eigenschaft auf Nein, wenn Sie einen normalen Zustand benötigen.
  • Diagramm: Setzen Sie die Eigenschaft auf Diagramm, wenn Sie wollen, dass der Zustand zusätzlich ein Startzustand ist. Ein Zustandsautomat benötigt auf oberster Ebene einen Startzustand und auch jede Region in einem zusammengesetzten Zustand.

„Zyklusintern“

  • Zustand 3:: Aktivieren Sie die Checkbox, um den Zustandszyklus auf intern zu setzen. In „Zyklusintern“ wird sofort die Transition in den nächsten Zustand geschaltet.
  • Zustand 4:: [Default] Deaktivieren Sie die Checkbox, um den Zustandszyklus auf normal zu setzen. Dann wechselt der Zustand mit dem Taskzyklus. Eine Transition in den nächsten Zustand wird bei einem Zykluswechsel der Task ausgeführt.

„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.

Zustand 5:

Der Zustand ist editierbar.

  • Sie können den Namen durch zwei Einzelklicks auf den Namen bearbeiten.
  • Sie können über das Befehlsicon, das oberhalb des Zustands angezeigt wird, ausgehende Transitionen hinzufügen.
  • Über die drei Icons in der Zustandsmitte können Sie den Zustand um eine ENTRY-, DO- und/oder EXIT-Aktion erweitern.
  • Sie können den Zustand mit der Taste [Entf] entfernen.

Klicken Sie auf das Symbol Zustand 6:

Zustand 7:

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.

Zustand 8:

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 Zustand 9::

Zustand 10:

Der Zustand wird um eine ENTRY-Aktion/-Methode erweitert.

Klicken Sie auf Zustand 11::

Zustand 12:

Der Zustand wird um eine DO-Aktion/-Methode erweitert.

Klicken Sie auf Zustand 13::

Zustand 14:

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 Zustand 15:.

Zustand 16:

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 Zustand 17: oder doppelklicken Sie auf die zugewiesene Aktion.

Zustand 18:

Die zugewiesene Aktion, im Beispiel „SampleMethod“, wird im Editor geöffnet. Im aufgehenden POU-Editor können Sie das Aktionsobjekt editieren.

Klicken Sie auf Zustand 19::

Zustand 20:

Die Aktionsliste des Zustands klappt zu.

Klicken Sie auf Zustand 21::

Zustand 22:

Die Aktionsliste des Zustands klappt auf.