AS-Element Aktion
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.
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 mindestens 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.
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 TwinCAT 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 einem Schritt IEC-Aktionen mit dem Befehl Aktionsassoziation einfügen im Menü SFC zu.
Assoziierte boolesche Variablen Eine assoziierte boolesche Variable wird bei jedem Aufruf des AS-Bausteins gesetzt oder zurückgesetzt. Das heißt, ihr wird jedes Mal entweder der Wert TRUE oder FALSE neu zugewiesen, unabhängig davon, ob der zugehörige Schritt aktiv ist oder nicht. |
Siehe auch:
- Dokumentation TC3 User Interface: Befehl Aktionsassoziation einfügen
- Qualifizierer für Aktionen in AS
2. Schrittaktionen
Dies sind Aktionen, die Sie in Erweiterung des IEC-Standards verwenden können.
- Eingangsaktion:
TwinCAT 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 (Step entry). 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:
TwinCAT 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 (Step active) hinzu. Eine Hauptaktion wird durch ein gefülltes Dreieck in der rechten oberen Ecke der Schritt-Box angezeigt. - Ausgangsaktion:
TwinCAT 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 (Step exit). 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
Ausführung
Der wesentliche Unterschied zwischen Schrittaktionen und IEC-Aktionen mit Qualifizierer „N“ besteht darin, dass die IEC-Aktion (mindestens) zweimal ausgeführt wird: ein erstes Mal, wenn der Schritt aktiv ist und ein zweites Mal, wenn er deaktiviert wird. Siehe dazu folgendes 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 zwei Transitionen geschaltet werden, dauert es jeweils zwei SPS-Zyklen, bis erneut der Initialisierungsschritt erreicht wird. Angenommen, in der Aktion Action_AS1 werde eine mit 0 initialisierte Zählvariable nCounter hochgezählt. Nach der erneuten Aktivierung des Schritts Init hat nCounter 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.
Duplizierung
Ein weiterer Unterschied ist, dass Schrittaktionen „eingebettet“ werden können. In diesem Fall können sie nur noch von dem betreffenden Schritt aufgerufen werden. Wenn Sie diesen Schritt kopieren, erzeugt TwinCAT 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 über die Schritteigenschaft Duplizieren oder kopieren. Generell kann dieses Verhalten auch in den TwinCAT-Optionen in der Kategorie AS-Editor voreingestellt werden.
Boolsche Variable
Außerdem kann bei IEC-Aktionen anstelle eines Aktionsobjekts eine boolsche Variable angegeben werden. Dies ist bei Schrittaktionen nicht möglich.
Siehe auch: