Grundsätzliches Verhalten der Elemente
-
Aktiver Schritt: Ein aktiver Schritt ist ein Schritt, dessen Aktionen gerade ausgeführt werden. Im Online-Betrieb stellt CODESYS aktive Schritte in blau dar.
-
Initialschritt: Im ersten Zyklus nach Aufruf einer AS-POU wird der Initialschritt automatisch aktiv und die Schrittaktion wird ausgeführt.
-
CODESYS führt IEC-Aktionen mindestens zweimal aus. Das erste Mal nach Aktivwerden des Schrittes, das zweite Mal - aber erst im nächsten Zyklus - nach Deaktivieren des Schrittes.
-
Alternative Verzweigungen: Wenn der Schritt vor der Verzweigung aktiv ist, wertet CODESYS jeweils die erste Transition jedes alternativen Zweiges von links nach rechts aus. Im ersten Zweig, in dem CODESYS eine Transition findet, die
TRUE
liefert, wird der darauf folgende Schritt aktiviert. -
Parallele Verzweigungen: Wenn der Schritt vor der Verzweigung (vor der horizontalen Doppellinie) aktiv ist und die Transition vor der Verzweigung
TRUE
liefert, aktiviert CODESYS die ersten Schritte in allen Zweigen. Die Zweige werden dann gleichzeitig abgearbeitet. Der Schritt nach dem Ende der Verzweigung (nach der horizontalen Doppellinie) wird aktiviert, wenn alle letzten Schritte in den Zweigen aktiv sind und die Transition nach der DoppellinieTRUE
liefert.
Abarbeitungsreihenfolge:
-
Reset der IEC-Aktionen
CODESYS setzt die internen Aktionskontroll-Flags der Aktions-Qualifizierer (N, R, S, L, D, P, SD, DS, SL) zurück. Das sind die Flags, die eine IEC-Aktion steuern. Die Flags, die innerhalb von Aktionen aufgerufen werden, werden jedoch nicht zurückgesetzt!
-
Ausgangsaktionen ausführen
CODESYS überprüft daraufhin alle Schritte, ob sie die Bedingung für die Ausführung der Ausgangsaktionen erfüllen. Die Reihenfolge der Prüfung entspricht der Anordnung im AS-Diagramm: von oben nach unten und von links nach rechts.
CODESYS führt eine Ausgangsaktion aus, wenn der Schritt deaktiviert wird, d.h. wenn seine Eingangs- und Schrittaktionen (falls vorhanden) im vorangegangenen Zyklus ausgeführt worden sind und die Bedingung für den nachfolgenden Schritt
TRUE
liefert. -
Eingangsaktionen ausführen
CODESYS überprüft daraufhin alle Schritte, ob sie die Bedingung für die Ausführung der Eingangsaktionen erfüllen. Die Reihenfolge der Prüfung entspricht der Anordnung im AS-Diagramm: von oben nach unten und von links nach rechts. Wenn dies der Fall ist, führt CODESYS die Eingangsaktionen aus.
CODESYS führt eine Eingangsaktion aus, sobald die Abarbeitung bei der dem Schritt vorangehenden Transition angelangt ist und diese Transition
TRUE
liefert, der Schritt also aktiviert wird. -
Zeitenprüfung, Schrittaktionen ausführen
CODESYS führt für alle Schritte in der Reihenfolge, in der sie im AS-Diagramm angeordnet sind, Folgendes durch:
-
CODESYS kopiert die verstrichene Zeit des aktiven Schritts in die entsprechende implizite Schrittvariable
<Schrittname>.t
. (noch nicht implementiert) -
Bei einer Zeitüberschreitung bedient CODESYS die entsprechenden Fehler-Flags. (noch nicht implementiert)
-
Bei nicht-IEC-Schritten führt CODESYS die Schrittaktion nun aus.
-
-
IEC-Aktionen ausführen
CODESYS führt die IEC-Aktionen in alphabetischer Reihenfolge aus. Dies erfolgt in zwei Durchläufen durch die Liste der Aktionen. Im ersten Lauf führt CODESYS die IEC-Aktionen aller Schritte aus, die im vorangegangenen Zyklus deaktiviert wurden. Im zweiten Lauf werden die IEC-Aktionen aller Schritte ausgeführt, die aktiv sind.
-
Transitionen-Check, Aktivierung der nachfolgenden Schritte
Die Transitionen werden ausgewertet: Wenn ein Schritt im aktuellen Zyklus aktiv ist und die nachfolgende Transition
TRUE
liefert (und die ggf. definierte Minimalzeit des Schrittes abgelaufen ist), wird der nachfolgende Schritt aktiviert.




HINWEIS

Bei der Implementierung von Aktionen müssen Sie folgendes beachten:
Eine Aktion kann innerhalb desselben Zyklus mehrfach ausgeführt werden, weil Sie sie in mehreren AS-Diagrammen verwenden. Beispiel: Ein AS enthält zwei IEC-Aktionen A und B, die beide in der Sprache AS programmiert sind und die beide eine IEC-Aktion C aufrufen. In diesem Fall würde C zweimal aufgerufen werden.
Wenn Sie die gleiche IEC-Aktion gleichzeitig auf verschiedenen Ebenen eines AS-Diagramms verwenden, kann das zu unvorhersagbaren Effekten während der Abarbeitung führen. Deshalb gibt CODESYS eine entsprechende Fehlermeldung aus. Diese Fehlermeldung kann zum Beispiel erscheinen, wenn mit Projekten gearbeitet wird, die mit einer älteren Version des Entwicklungssystems erstellt wurden.
Beachten Sie die Möglichkeit, Implizite Variablen zu verwenden, um den Abarbeitungsstatus von Schritten und Aktionen zu überwachen bzw. die Abarbeitung zu kontrollieren.