Anweisungsliste

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Die Anweisungsliste, meist kurz AWL genannt, ist eine der in IEC 61131-3 standardisierten Methoden zur Programmierung von Speicherprogrammierbaren Steuerungen (SPS). Viele SPS-Hersteller bezeichnen die von ihnen verwendete Sprache auch dann als AWL, wenn sie sich nicht exakt an die IEC 61131-3 hält, so dass sich bestehende AWL-Programme kaum auf Steuerungen anderer Hersteller übertragen lassen.

AWL dient hauptsächlich zur logischen Verknüpfung von Steuerungseingängen und -ausgängen. Typischerweise wird ein (digitaler) Eingang in das Arbeitsregister (auch Akkumulator genannt) geladen (load digital input 0, „LD %IX0.0“), mit anderen Eingängen, Konstanten oder Speicherwerten verknüpft (exklusiv-oder speicher bit 3, „XOR %MX0.3“) und auf einen Ausgang geschrieben (store digital output 1, „ST %QX0.1“).

Die Hauptmerkmale von AWL sind, dass Operatoren nur einen Operanden besitzen und die Syntax der Sprache an die Assemblersprache angelehnt ist. Somit bietet sie nur sehr umständliche Strukturierungsmöglichkeiten durch Sprungbefehle. Vorteile ergeben sich aber, wenn aufgrund einer Speicherknappheit der eingesetzten CPU der Programmcode kleingehalten werden soll. Auf älteren Steuerungen sind AWL-Programme noch relativ häufig anzutreffen. AWL-Programme sind aber im Vergleich zu Programmen in höheren Sprachen insbesondere bei größeren Projekten sehr unübersichtlich und schlecht wartbar. Heute werden daher für die Programmierung von Steuerungen normalerweise die höheren Sprachen der IEC 61131-3, insbesondere strukturierter Text (ST) oder Ablaufsprache, Continuous Function Chart oder vielfach auch „C“ eingesetzt.

AWL-Beispielprogramme[Bearbeiten]

Beispiel 1: Und-Verknüpfung zweier binärer Eingänge auf einen Ausgang

LD  INPUT1
AND INPUT2
ST  OUTPUT

Beispiel 2: Addition zweier Integer-Werte

LD  WERT1
ADD WERT2
ST  OUTPUT

Beispiel 3: RS-Flipflop (rücksetzdominant)

LD  S-INPUT
S   AUSGANG
LD  R-INPUT
R   AUSGANG

Im Vergleich dazu die Beispiele für Siemens S7, (nicht normkonforme) deutsche Mnemoniks:

U „Input1“
U „Input2“
= „Output“
L „Wert1“ 
L „Wert2“
+I
T „Output“
U „Setzen“
S „Speicher“
U „Ruecksetzen“
R „Speicher“