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 TwinCAT 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.
- TwinCAT 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 TwinCAT jeweils die erste Transition jedes alternativen Zweiges von links nach rechts aus. Im ersten Zweig, in dem TwinCAT 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 TwinCAT 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.
Abarbeitungsreihenfolge
- Reset der IEC-Aktionen
TwinCAT 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
TwinCAT ü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.
TwinCAT 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
TwinCAT ü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 TwinCAT die Eingangsaktionen aus.
TwinCAT 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
TwinCAT führt für alle Schritte in der Reihenfolge, in der sie im AS-Diagramm angeordnet sind, Folgendes durch: - TwinCAT kopiert die verstrichene Zeit des aktiven Schritts in die entsprechende implizite Schrittvariable <Schrittname>.t.
- Bei einer Zeitüberschreitung bedient TwinCAT die entsprechenden Fehler-Flags.
- Bei nicht-IEC-Schritten führt TwinCAT die Schrittaktion nun aus.
- IEC-Aktionen ausführen
TwinCAT 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 TwinCAT 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.
Bei der Implementierung von Aktionen müssen Sie folgendes beachten: |
Beachten Sie die Möglichkeit, Implizite Variablen zu verwenden, um den Abarbeitungsstatus von Schritten und Aktionen zu überwachen bzw. die Abarbeitung zu kontrollieren. |
Siehe auch: