Anweisungsliste

Wikimedia-Liste
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 13. April 2006 um 15:40 Uhr durch 84.140.214.34 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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"