Arbeiten im Zustandsdiagrammeditor
Im Zustandsdiagrammeditor implementieren Sie grafisch ein Zustandsdiagramm.
Zustandsdiagramm implementieren
Sie können Zustände einfügen, die Methoden oder Aktionen aufrufen. Wenn Sie Transitionen einfügen, können Sie Bedingungen für einen Zustandsübergang definieren. Beim Einfügen ist die Bedingung standardmäßig TRUE, dargestellt als
. Danach können Sie diesen Wert ändern, so dass er eine Aktion oder Methode aufruft.
Sie können Kontrollstrukturen implementieren, indem Sie Pseudozustände einfügen. Um die Übersichtlichkeit zu verbessern, können Sie Zustände in zusammengesetzten Zuständen gruppieren, für die Sie mit Abschlusstransitionen ein gemeinsames Verhalten implementieren. Mit Ausnahmetransitionen können Sie das Verhalten im Fehlerfall programmieren.
CODESYS ist gestartet.
Wählen Sie den Befehl .
Bestimmen Sie einen Namen und einen Ort und wählen Sie als Vorlage Standardprojekt.
Der Dialog Standardprojekt öffnet sich.
Wählen Sie in PLC_PRG und als Implementierungssprache UML-Zustandsdiagramm.
Klicken Sie im Gerätebaum auf das Programm
PLC_PRG.Der Editor besteht aus einem Fenster für die Deklaration und einem Fenster für die grafische Implementierung. In der Ansicht Werkzeuge sind die Elemente aufgelistet, aus denen Sie ein Zustandsdiagramm erstellen können.

Ziehen Sie einen Startzustand in die Implementierung.

Klicken Sie auf den Startzustand.
Das Symbol
für Abschlusstransitionen erscheint.Klicken Sie auf die Transition
.Ein Mauszeiger erscheint, dessen Linie eine Transition und dessen Zeiger das Element andeuten.
Klicken Sie unter den Startzustand.
Ein Zustand ist eingefügt.
Doppelklicken Sie auf den Standardnamen.
Ein Zeileneditor öffnet sich.
Geben Sie als Namen
PowerOffein.
Klicken Sie auf den Zustand, dann auf die Transition und anschließend auf eine Stelle unterhalb des Zustands.
Eine Transition mit weiterem Zustand wurde eingefügt.
Geben Sie als Namen
Idleein.Fügen Sie eine Transition zu einem weiteren Zustand mit Namen
DoItein.Fokussieren Sie mit dem Mauszeiger den Zustand
DoIt.Im Zustand erscheinen Symbole, um Aktionen oder Methoden hinzuzufügen.

Klicken Sie auf das Symbol
.Der Zustand ist um eine DO-Aktion erweitert.
Fokussieren Sie das DO-Symbol.
Rechts daneben erscheint das Symbol
.Klicken Sie auf das Symbol.
Der Dialog Neues Aktionsobjekt öffnet sich. Dort können Sie die initialen Einstellungen für ein Programmierobjekt vornehmen, das dem Programm
PLC_PRGuntergeordnet ist. Das Objekt kann entweder eine Methode oder eine Aktion sein.Wählen Sie eine Aktion und beenden Sie den Dialog mit Hinzufügen.
Im Gerätebaum unterhalb von
PLC_PRGerscheint die neue und leere AktionPLC_PRG_DoIt_DO. Im ZustandDoItwird die DO-Aktion namentlich aufgelistet. Die Aktion ist im Editor geöffnet.Deklarieren Sie Steuervariablen und lokale Variablen im Deklarationsteil von
PLC_PRG.PROGRAM PLC_PRG VAR iCounter: INT; bReady: BOOL; bDoIt: BOOL; bPowerOn : BOOL; bPowerOff : BOOL; END_VARImplementieren Sie in der Aktion
PLC_PRG_DoIt_DOCode für Ablauf und Steuerung.iCounter := iCounter + 1; IF iCounter > 100 THEN iCounter := 0; bReady := TRUE; RETURN; END_IFFokussieren Sie den Zustand
DoItund wählen Sie das Symbol
. Anschließend klicken Sie in der Section auf New und bestätigen Sie den Dialog.Beim Status
Doitwurde die EXIT-AktionPLC_PRG_DoIt_EXIThinzugefügt.Implementieren Sie dort Code.
bReady := FALSE; bDoIt := FALSE;
Fügen Sie eine Transition vom Zustand
DoItzum ZustandIdlehinzu.Klicken Sie bei der Transition auf das Symbol
.Der Zeileneditor öffnet sich. Wenn Sie die Funktionalität Intelligentes Kodieren aktiviert haben, erscheint eine Auswahlliste mit allen deklarierten Variablen.
Wählen Sie die boolesche Variable
bReadyaus.Die Variable dient als Steuervariable, um in den Zustand
Idlezu schalten.Fügen Sie eine Transition vom Zustand
Idlezum ZustandPowerOffhinzu.Klicken Sie bei der Transition auf das Symbol
.Der Zeileneditor öffnet sich. Wenn Sie die Funktionalität Intelligentes Kodieren aktiviert haben, erscheint eine Auswahlliste mit allen deklarierten Variablen.
Geben Sie als Steuervariable
bPowerOffan.Selektieren Sie im Gerätebaum das Programm
PLC_PRGund fügen Sie ein Objekt Aktion mit dem NamenPowerDowndarunter hinzu.Implementieren Sie die Aktion.
bPowerOn := FALSE;
Aktivieren Sie
PLC_PRGim Editor.Klicken Sie bei der Transition von
Idlezum ZustandPowerOffauf das Symbol
, um eine Aktion aufzurufen.Eine Auswahlliste mit Aktionen erscheint.
Wählen Sie die Aktion
PowerDown.
Implementieren Sie die Bedingung vom Zustand
PowerOffzum ZustandIdle.bPowerOnSelektieren Sie im Gerätebaum das Programm
PLC_PRGund fügen Sie ein Objekt Aktion mit dem NamenPowerUpdarunter hinzu.Implementieren Sie den Code der Aktion.
bPowerOff := FALSE;
Aktivieren Sie
PLC_PRGim Editor.Klicken Sie bei der Transition von
Idlezum ZustandPowerOffauf das Symbol
.Eine Auswahlliste mit Aktionen erscheint.
Wählen Sie die Aktion
PowerUpund setzen Sie die Variable zwischenIdleundDoItaufbDoIt.Das Zustandsdiagramm ist implementiert. Alle Transitionen haben eine Bedingung. Die Aktionen, die aufgerufen werden, sind implementiert.

Übersetzen Sie die Applikation mit dem Befehl .
Die Kompilierung wurde fehlerfrei abgeschlossen.
Elementeigenschaften bearbeiten
Selektieren Sie im Zustandsdiagrammeditor ein Element.
In der Ansicht Eigenschaften sind alle Eigenschaften des Elements aufgelistet.
Editieren Sie die Eigenschaften in der Spalte Wert.
Sie können den Zustand DoIt in der Ansicht bearbeiten.
Selektieren Sie im Zustandsdiagrammeditor den Zustand
Doit.
In der Ansicht Eigenschaften ist die Option Zyklusintern (1) deaktiviert.
Aktivieren Sie die Option.
Der Zustand ist nicht mehr buszyklusgetaktet sondern zyklusintern.

Mehrfachauswahl
Wenn im Fenster WerkzeugeAuswahl aktiviert ist (Standardeinstellung), können Sie im Editor mit der Maus ein Rechteck über mehrere Elemente ziehen. Alle erfassten Elemente sind dann selektiert. Sie können die Elemente aber auch bei gedrückter Strg-Taste nacheinander anklicken.
Bild erstellen
Sie können von Ihrem Zustandsdiagrammobjekt eine Grafik im PNG-Format erstellen und weiterverwenden.
Selektieren Sie im Gerätebaum ein Zustandsdiagrammobjekt.
Öffnen Sie dessen Kontextmenü und wählen Sie dort den Befehl Bild erstellen.
Der Dialog Bild erstellen öffnet sich.
Aktivieren Sie die gewünschten Optionen.
Bestätigen Sie den Dialog mit OK.
Die Bilddatei wird gespeichert.
Wechsel Sie zu ihrem Desktop.
Öffnen Sie die Verknüpfung.
Ein voreingestellter Editor öffnet sich und zeigt das Bild an.
