Skip to main content

Abarbeitungsreihenfolge

Wichtig

Beachten Sie bei der Implementierung von Aktionen Folgendes:

Mehrfachausführungen einer Aktion sind innerhalb desselben Zyklus möglich, da die Verwendung der Aktion in mehreren AS-Diagrammen möglich ist.

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 unvorhersehbaren 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 oder die Abarbeitung zu kontrollieren.

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.

  • IEC-Aktionen werden mindestens zweimal ausgeführt. Das erste Mal nach Aktivwerden des Schritts, das zweite Mal - aber erst im nächsten Zyklus - nach Deaktivieren des Schritts.

  • Alternative Verzweigungen

    Wenn der Schritt vor der Verzweigung aktiv ist, werden die ersten Transitionen der alternativen Zweige von links nach rechts ausgewertet. Sobald eine Transition den Wert TRUE liefert, wird der nachfolgende Schritt des entsprechenden Zweigs aktiviert. Die Transitionen der rechts davon liegenden Zweige werden nicht mehr ausgewertet.

  • Parallele Verzweigungen

    Wenn der Schritt vor der Verzweigung aktiv und die Transition vor der horizontalen Doppellinie TRUE ist, werden die ersten Schritte aller Zweige gleichzeitig aktiviert. Die Zweige werden anschließend parallel ausgeführt. Der auf die Verzweigung folgende Schritt wird aktiviert, sobald die letzten Schritte aller Zweige aktiv sind und die nachfolgende Transition den Wert TRUE liefert.

Abarbeitungsreihenfolge

  1. Reset der IEC-Aktionen

    Die internen Steuerflags der Aktionen mit den Qualifizierern N, R, S, L, D, P, SD, DS, SL werden zurückgesetzt. Das sind die Flags, die eine IEC-Aktion steuern. Die Flags, auf die innerhalb von Aktionen zugegriffen wird, werden jedoch nicht zurückgesetzt!

  2. Ausgangsaktionen ausführen

    Daraufhin werden alle Schritte überprüft, 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.

    Eine Ausgangsaktion wird ausgeführt, wenn der Schritt deaktiviert wird. Das heißt, wenn seine Eingangs- und Schrittaktionen, falls vorhanden, im vorangegangenen Zyklus ausgeführt wurden und die Bedingung für den nachfolgenden Schritt TRUE liefert.

  3. Eingangsaktionen ausführen

    Daraufhin werden alle Schritte überprüft, 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, werden die Eingangsaktionen ausgeführt.

    Eine Eingangsaktion wird beim Aktivieren des zugehörigen Schritts einmalig ausgeführt. Voraussetzung dafür ist, dass die dem Schritt vorangehende Transition den Wert TRUE liefert.

  4. Zeitüberwachung, Schrittaktionen ausführen

    Es wird überwacht, ob ein Schritt länger aktiv ist als zulässig. Die Zeitüberwachung dient dazu, Fehler im Ablauf zu erkennen. Beispielsweise wenn eine erwartete Transition nicht erfüllt wird und der Ablauf deshalb in einem Schritt stehen bleibt.

  5. IEC-Aktionen ausführen

    Die IEC-Aktionen werden in alphabetischer Reihenfolge ausgeführt. Dies erfolgt in zwei Durchläufen durch die Liste der Aktionen. Im ersten Lauf werden die IEC-Aktionen aller Schritte ausgeführt, 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

    Wenn die folgenden Bedingungen erfüllt sind, wird der nachfolgende Schritt aktiviert:

    • Der Schritt ist im aktuellen Zyklus aktiv.

    • Die nachfolgende Transition liefert den Wert TRUE.

    • Eine gegebenenfalls definierte Minimalzeit des Schritts ist abgelaufen.