Anweisungsliste
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, sodass 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.
Ihre Hauptmerkmale sind, dass Operatoren nur einen Operanden besitzen und dass die Sprache stackorientiert ist. Die Syntax der Sprache ist an die Assemblersprache angelehnt und bietet nur sehr umständliche Strukturierungsmöglichkeiten durch Sprungbefehle. Vorteile ergeben sich aber, wenn aufgrund einer Speicherknappheit der eingesetzten CPU der Programmcode klein gehalten werden soll.
Für komplexere Aufgaben werden daher heute meist Höhere Sprachen wie "C", strukturierter Text (SCL) oder eine Ablaufsprache (z. B. Graph 7) eingesetzt.
Für einfache Verknüpfungen werden graphische Sprachen wie Kontaktplan oder Funktionsplan verwendet, da sich die Abläufe besser visualisieren lassen. In der SPS-Programmierung wird die AWL meist nur von Fortgeschrittenen oder Profis angewandt, da es einige Erfahrung erfordert, komplexe Programmabläufe ohne Visualisierung zu verstehen.
Beispiele
Beispiel 1: Und-Verknüpfung zweier binärer Eingänge auf einen Ausgang
LD INPUT1 AND INPUT2 ST OUTPUT1
Beispiel 2: Addition zweier Integer-Werte
LD WERT1 ADD 100 ST WERT2
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, deutsche Mnemonik:
U "Input1" U "Input2" = "Output1"
L "Wert1" L 100 +I T "Wert2"
U "setzen" S "Speicher" U "ruecksetzen" R "Speicher"