Symbol
Eine Aktion enthält eine oder mehrere Anweisungen in einer der gültigen Programmiersprachen. Sie können eine Aktion einem Schritt zuweisen.
Aktionen, die Sie in AS-Schritten verwenden, müssen als Bausteine im Projekt angelegt sein.

Ausnahme: Im Fall von IEC-Aktionen, die Sie als Aktionsassoziation einem Schritt hinzufügen,
können Sie anstelle eines Aktionsobjekts auch eine boolsche Variable angeben. Der
Wert dieser Variablen wird bei jeder Ausführung der "Aktion" zwischen FALSE
und TRUE
umgeschaltet.




HINWEIS

Sie müssen Schrittnamen innerhalb des Gültigkeitsbereichs des "Vater"-Bausteins eindeutig definieren. Eine in AS geschriebene Aktion darf keinen Schritt enthalten, der den gleichen Namen hat wie der Schritt, dem die Aktion zugewiesen ist.
Es gibt "IEC-Aktionen" und "Schrittaktionen":
1. IEC-Aktionen
IEC-Aktionen sind Aktionen gemäß der Norm IEC 61131-3. Sie werden entsprechend ihres Qualifizierers ausgeführt.
IEC-Aktionen werden zweimal ausgeführt: das erste Mal, wenn der Schritt aktiv wird und ein zweites Mal, wenn er deaktiviert wird. Wenn Sie einem Schritt mehrere Aktionen zuweisen, wird die Aktionenliste von oben nach unten abgearbeitet.
Jede Aktionenbox enthält in der ersten Spalte den Qualifizierer und in der zweiten den Aktionsnamen. Beide können direkt editiert werden.





HINWEIS

Wenn in verschiedenen AS-Bausteinen diesselbe globale boolsche Variable als IEC-Aktion assoziiert ist, kann dies zu nicht erwünschten Überschreibungseffekten führen!
Sie können für IEC-Aktionen im Gegensatz zu Schrittaktionen unterschiedliche Qualifizierer verwenden. Ein weiterer Unterschied zu den Schrittaktionen ist, dass jede IEC-Aktion mit einem Kontroll-Flag versehen ist. Dies bewirkt, dass CODESYS die Aktion - auch wenn sie gleichzeitig von einem weiteren Schritt aufgerufen wird - nur einmal zur selben Zeit ausführt. Dies kann für Schrittaktionen nicht garantiert werden.
Sie weisen IEC-Aktionen mit dem Befehl „SFC Aktionsassoziation einfügen“ einem Schritt zu.
2. Schrittaktionen
Dies sind Aktionen, die Sie in Erweiterung des IEC-Standards verwenden können.
-
Eingangsaktion:
CODESYS führt diese Aktion einmal aus, nachdem der Schritt aktiviert wurde und bevor die Hauptaktion ausgeführt wird.
Sie referenzieren eine neue oder bereits unter dem AS-Objekt angelegte Aktion aus einem Schritt heraus über die Elementeigenschaft „Eingangsaktion“ (2). Eine neue Aktion können Sie dem Schritt auch mit dem Befehl „Eingangsaktion hinzufügen“ hinzufügen. Die Eingangsaktion wird durch ein
E
in der unteren linken Ecke der Schritt-Box angezeigt. -
Hauptaktion:
CODESYS führt diese Aktion aus, nachdem der Schritt aktiviert wurde und eine eventuelle Eingangsaktion bereits ausgeführt wurde. Allerdings wird sie im Gegensatz zu einer IEC-Aktion (s.o.) kein zweites Mal ausgeführt, wenn der Schritt wieder deaktiviert wird. Sie können hier auch keine Qualifizierer verwenden.
Eine bereits vorliegende Aktion fügen Sie einem Schritt über die Elementeigenschaft „Hauptaktion“ (1) hinzu. Eine neue Aktion können Sie nach einem Doppelklick auf das Schrittelement anlegen und hinzufügen. Eine Hauptaktion wird durch ein gefülltes Dreieck in der rechten oberen Ecke der Schritt-Box angezeigt.
-
Ausgangsaktion:
CODESYS führt diese Aktion einmal aus, wenn der Schritt deaktiviert wurde. Beachten Sie allerdings, dass die Ausführung nicht mehr im gleichen Zyklus, sondern zu Beginn des nächsten erfolgt!
Sie referenzieren eine neue oder bereits unter dem AS-Objekt angelegte Aktion aus einem Schritt heraus über die Elementeigenschaft „Ausgangsaktion“ (3). Eine neue Aktion können Sie dem Schritt auch mit dem Befehl „Ausgangsaktion hinzufügen“ hinzufügen. Die Ausgangsaktion wird durch ein
X
in der unteren rechten Ecke der Schritt-Box angezeigt.

Siehe auch
Unterschied IEC-Aktion - Schrittaktion
Der wesentliche Unterschied zwischen Schrittaktionen und IEC-Aktionen mit Qualifizierer N besteht darin, dass die IEC-Aktion immer zweimal ausgeführt wird: ein erstes Mal, wenn der Schritt aktiv ist und ein zweites Mal, wenn er deaktiviert wird. Siehe dazu folgendes Beispiel:
Beispiel

Sie haben dem Schritt AS1
die Aktion Action_AS1
einmal als Schrittaktion (links), einmal als IEC-Aktion mit Qualifizierer N beigefügt.
Da in beiden Fällen 2 Transitionen geschaltet werden, dauert es jeweils 2 SPS-Zyklen
bis erneut der Initialisierungsschritt erreicht wird. Angenommen, in der Aktion Action_AS1
werde eine mit 0 initialisierte Zählvariable iCounter
hochgezählt. Nach der erneuten Aktivierung des Schritts Init
hat iCounter
im linken Beispiel den Wert 1. Im rechten Beispiel hat sie jedoch den Wert 2, da
die IEC-Aktion ein zweites Mal aufgrund der Deaktivierung von AS1
ausgeführt wird.
Ein weiterer Unterschied ist, dass Schrittaktionen quasi "eingebettet" werden können. In diesem Fall können sie nur noch von dem betreffenden Schritt aufgerufen werden. Wenn Sie diesen Schritt kopieren, erzeugt CODESYS automatisch neue Aktionsobjekte und kopiert jeweils den Implementierungscode. Ob eine Schrittaktion "eingebettet" wird, definieren Sie entweder beim Einfügen der ersten Aktion im Schritt, oder auch später noch über die Elementeigenschaft „Beim Kopieren duplizieren“. Generell kann dieses Verhalten auch in den AS-Optionen voreingestellt werden.
Außerdem kann bei IEC-Aktionen anstelle eines Aktionsobjekts eine boolsche Variable angegeben werden. Dies ist bei Schrittaktionen nicht möglich.