Skip to main content

Abarbeitungsreihenfolge in AS

. Grundsätzliches Verhalten der Elemente
  • Aktiver Schritt

    Ein aktiver Schritt ist ein Schritt, dessen Aktionen gerade ausgeführt werden. Im Onlinebetrieb 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 Doppellinie TRUE liefert.

Prozedur. Abarbeitungsreihenfolge
  1. 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!

  2. 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.

  3. 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.

  4. Zeitenprüfung, Schrittaktionen ausführen

  5. 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.

  6. 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 Schritts abgelaufen ist), wird der nachfolgende Schritt aktiviert.

Wichtig

Bei der Implementierung von Aktionen müssen Sie folgendes beachten:

Eine Aktion kann innerhalb desselben Zyklus mehrfach ausgeführt werden, weil Sie die Aktion in mehreren AS-Diagrammen verwenden.

Beispiel: Ein AS-Diagramm 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.

Tipp

Beachten Sie die Möglichkeit, implizite Variablen zu verwenden, um den Abarbeitungsstatus von Schritten und Aktionen zu überwachen bzw. die Abarbeitung zu kontrollieren.