CoDeSys Ablaufsprache (AS)
Die Ablaufsprache hilft Ihnen bei der Strukturierung Ihres Programms, insbesondere wenn Sie sequentielle Abläufe programmieren.
In der Ablaufsprache werden Schrittketten angelegt, denen so genannte Aktionen zur Abarbeitung
hinterlegen werden können, bei Bedarf auch mehrere pro Schritt. Je nach Konfiguration des Schritts
werden diese Aktionen ausgeführt, solange der zugehörige Schritt aktiv ist. Auch kann die
Abarbeitung der Aktion mit entsprechenden Qualifiern gesteuert werden. Die Schritte sind durch
Transitionsbedingungen getrennt, die quasi als Weiterschaltung zum nächsten Schritt dienen. Diese
Transitionsbedingungen können ihrerseits beliebige boolesche Ausdrücke sein, wie z.B. boolesche
Variable, Vergleiche oder auch zusammengesetzte Abfragen. Ebenso können mehrere Schritte parallel
oder alternativ abgearbeitet werden und sogar Sprünge zu anderen Schritten können programmiert
werden. Dabei erfolgt die Ausführung der Aktionen immer nur einmal innerhalb eines SPS- Zyklus. Vor
dem Aufruf eines AS-Bausteins überprüft CoDeSys immer den Zustand der Transitionsbedingungen und
schaltet ggf. den aktiven Schritt weiter.
Jeder Schritt kann jeweils eine so genannte
Eingangs- oder Ausgangsaktion beinhalten. Solch eine Eingangsaktion wird nur beim erstmaligen
Aktivieren eines Schrittes einmalig ausgeführt - entsprechend verhält sich die Ausgangsaktion nach
dem letztmaligen Ausführen des Schrittes. Somit eigenen sich diese Aktionen hervorragend zur
Initialisierung bzw. zum Abschalten von Vorgängen, die dem Schritt zugeordnet sind.
Sie können auch Makros in die Schrittkette einfügen: dahinter verbergen sich ggf. mehrere
Schritt-Transitionskombinationen, die dann aber in der Schrittkette nur als ein Makro-Schritt
angezeigt werden und somit zur Übersichtlichkeit beitragen.
Die Ablaufsprache in CoDeSys
unterstützt alle im Standard beschriebenen Bezeichner (Qualifier). Die IEC-Qualifier in den
Aktionsflags bestimmen die Ausführung der Aktion.
Überblick der verfügbaren Qualifier zur Steuerung der Ausführung von Aktionen:
| Qualifier | Erläuterung |
|---|---|
| N (Non-stored) | Die Aktion ist so lange aktiv wie der Schritt |
| R (overriding Reset) | Die Aktion wird deaktiviert |
| S (Set / Stored) | Die Aktion wird aktiviert und bleibt bis zu einem Reset aktiv |
| L (time Limited) | Die Aktion wird für eine bestimmte Zeit aktiviert, maximal solange bis der Schritt deaktiviert wird |
| D (time Delayed) | Die Aktion wird nach einer eingegebenen Verzögerungszeit aktiv, sofern der Schritt noch aktiv ist. Die Aktion wird ausgeführt, bis der Schritt deaktiviert wird |
| P (Pulse) | Die Aktion wird genau einmal ausgeführt, sobald der Schritt aktiv wird |
| SD (Stored and time Delayed) | Die Aktion wird nach einer abgelaufenen Verzögerungszeit aktiviert und bleibt bis zum Reset aktiv |
| DS (Delayed and Stored) | Die Aktion wird nach einer abgelaufenen Verzögerungszeit aktiviert, sofern der Schritt noch aktiv ist und bleibt bis zu einem Reset aktiv |
| SL (Stored and time Limited) | Die Aktion ist für eine bestimmte Zeit aktiviert, oder bis sie einen Reset erhält |
Zur Erleichterung der Programmierung und des Debugging bietet CoDeSys einen vereinfachten Modus der
Ablaufsprache an. In diesem Modus wird die Aktion unmittelbar als "non-stored" (siehe
oben) aktiviert, solange der Schritt selbst aktiv ist. Sie können auch den vereinfachten AS-Modus
mit dem Standard-IEC-Modus mischen.
Der Unterschied ist offensichtlich: Beim Standard-IEC Modus
haben Schritte Flags mit Bezeichnern - beim vereinfachten AS-Modus finden Sie lediglich ein
schwarzes Dreieck in der rechten oberen Ecke des Schrittes, in dem die Aktion definiert wurde.

IEC 61131-3 konformer Schritt der Ablaufsprache mit Qualifier und
Aktions-Flag
Vereinfachter Schritt der CoDeSys Ablaufsprache, bei dem die Aktion dem Schritt hinterlegt
ist.
In beiden Fällen wird die Aktion als Tochterbaustein zum AS-Programmbaustein ohne
eigenen Variablenraum erstellt. Den Name des Aktion-Objekts können Sie für die
Standard-IEC61131-3-Schritte frei festlegen. Bei den vereinfachten Schritten wird der Name der
Aktion aus dem Namen des Schrittes abgeleitet. Natürlich können Sie den Schrittnamen in jedem Fall
unter Berücksichtigung der IEC 61131-3 Konventionen für Variablennamen (keine Leerzeichen, keine
Umlaute) selbst definieren. Aus diesen Namen legt CoDeSys selbständig implizit Variablen an, die
für die Diagnose hilfreich sind.
Diagnose in der Ablaufsprache
Im Online-Modus, d.h. wenn die Applikation auf die Steuerung geladen ist und CoDeSys damit
verbunden ist, zeigt Ihnen CoDeSys die aktiven Schritte durch eine blaue Markierung an. Falls Sie
den Schritten Zeitgrenzen zugewiesen haben, dann werden die Grenzen und die abgelaufene Zeit
ebenfalls angezeigt.
Somit haben Sie z.B. bei der Inbetriebnahme der Applikation einen guten Überblick, über
die aktiven Schritte und Transitionsbedingungen.
Doch der AS-Editor in CoDeSys bietet noch
mehr:
Mit Diagnose-Flags können Sie die Applikation so programmieren, dass eine Diagnose auch
automatisch zur Laufzeit erfolgt. Dazu müssen Sie diese Flags lediglich als Variablen deklarieren.
CoDeSys aktualisiert ggf. diese Variablenwerte, wenn z. B. eine Zeitüberschreitung aufgetreten ist:
SFCError wird auf TRUE gesetzt, SFCErrorStep und SFCErrorPOU zeigen als STRING-Variablen den
Schritt- und Bausteinnamen, in dem die Zeitüberschreitung aufgetreten ist. Somit können Sie
innerhalb der Schrittkette oder aber auch in einem übergeordneten Baustein auf solche Meldungen
reagieren und durch TRUE-setzen z.B. von SFCInit oder SFCReset auf den aufgetretenen Fehler
reagieren.

Was suchen sie?
Produktübersicht



