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
PowerOff
ein.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
Idle
ein.Fügen Sie eine Transition zu einem weiteren Zustand mit Namen
DoIt
ein.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_PRG
untergeordnet 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_PRG
erscheint die neue und leere AktionPLC_PRG_DoIt_DO
. Im ZustandDoIt
wird 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_VAR
Implementieren Sie in der Aktion
PLC_PRG_DoIt_DO
Code für Ablauf und Steuerung.iCounter := iCounter + 1; IF iCounter > 100 THEN iCounter := 0; bReady := TRUE; RETURN; END_IF
Fokussieren Sie den Zustand
DoIt
und wählen Sie das Symbol. Anschließend klicken Sie in der Section auf New und bestätigen Sie den Dialog.
Beim Status
Doit
wurde die EXIT-AktionPLC_PRG_DoIt_EXIT
hinzugefügt.Implementieren Sie dort Code.
bReady := FALSE; bDoIt := FALSE;
Fügen Sie eine Transition vom Zustand
DoIt
zum ZustandIdle
hinzu.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
bReady
aus.Die Variable dient als Steuervariable, um in den Zustand
Idle
zu schalten.Fügen Sie eine Transition vom Zustand
Idle
zum ZustandPowerOff
hinzu.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
bPowerOff
an.Selektieren Sie im Gerätebaum das Programm
PLC_PRG
und fügen Sie ein Objekt Aktion mit dem NamenPowerDown
darunter hinzu.Implementieren Sie die Aktion.
bPowerOn := FALSE;
Aktivieren Sie
PLC_PRG
im Editor.Klicken Sie bei der Transition von
Idle
zum ZustandPowerOff
auf das Symbol, um eine Aktion aufzurufen.
Eine Auswahlliste mit Aktionen erscheint.
Wählen Sie die Aktion
PowerDown
.Implementieren Sie die Bedingung vom Zustand
PowerOff
zum ZustandIdle
.bPowerOn
Selektieren Sie im Gerätebaum das Programm
PLC_PRG
und fügen Sie ein Objekt Aktion mit dem NamenPowerUp
darunter hinzu.Implementieren Sie den Code der Aktion.
bPowerOff := FALSE;
Aktivieren Sie
PLC_PRG
im Editor.Klicken Sie bei der Transition von
Idle
zum ZustandPowerOff
auf das Symbol.
Eine Auswahlliste mit Aktionen erscheint.
Wählen Sie die Aktion
PowerUp
und setzen Sie die Variable zwischenIdle
undDoIt
aufbDoIt
.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.
