AS-Element Aktion

Symbol: AS-Element Aktion 1:

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.

AS-Element Aktion 2:

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.

AS-Element Aktion 3:

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.

AS-Element Aktion 4:

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.

AS-Element Aktion 5:

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.

Wenn in verschiedenen AS-Bausteinen dieselbe globale boolsche Variable als IEC-Aktion assoziiert ist, kann dies zu nicht erwünschten Überschreibungseffekten führen.

Siehe auch:

2. Schrittaktionen

Dies sind Aktionen, die Sie in Erweiterung des IEC-Standards verwenden können.

AS-Element Aktion 6:

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:

AS-Element Aktion 7:

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: