Übersicht über die Bitverknüpfungsoperationen in Anweisungsliste AWL
Ein Bit kann nur die Signalzustände 0 oder 1 haben. Wird z.B. ein Taster an die SPS angeschlossen, erhält die SPS vom Taster entweder eine 0 (Aus) oder 1 (An). Auch ein Ausgang, z.B. eine Lampe, kann nur das Signal 0 oder 1 haben. Eine Bitverknüpfung liegt dann vor, wenn der Zustand eines Bits, z.B. der Bitzustand des Tasters an eine Bedingungen geknüpft wird (0 oder 1). Soll z.B. das Licht angehen (Signal 1 am Ausgang), wenn ein Taster betätigt wird (Signal 1 an Taster), ist die Bitverknüpfung Signal Taster vergleichen mit 1. Das Signal des Tasters wird an die Bedingung geknüpft, das Signal 1 zu liefern. Eine Bitverknüpfung liegt vor.
Mit Bitverknüpfungsoperationen werden die an die SPS gelieferten Signalzustände "0" oder "1" ausgewertet und gemäß programmiertem Schaltlogik verknüpft. Das SPS-Programm wird dabei Zeile für Zeile abgearbeitet. In jeder Zeile entsteht dadurch das Verknüpfungsergebnis VKE, das je nach Ergebnis der Verknüpfung den Signalzustand "0" oder "1" hat. Erfolgt eine Zuweisung an ein Ausgang, z.B. Signal des Lichts, wird das Bit aus dem VKE als Signal an den Ausgang geliefert. Auch hier liegt eine Bitverknüpfung vor. Nämlich Signal des Lichts = Bitzustand des VKE.
Die Signale der Eingänge oder Ausgänge werden auch Bitoperanden genannt, da hierfür eine Bitadresse im Adressregister der SPS reserviert wird. Sie haben dadurch eine eindeutige Adresse und bei Bitverknüpfungen wird der Zustand der Bitadresse, je nach Schaltungslogik, mit 0 oder 1 verglichen.
Folgende binäre Grundverknüpfungen gibt es in der Programmiersprache AWL für Verknüpfungsoperationen mit Bitoperanden:
- U // Und-Verknüpfung, UND-Vergleich mit 1
- UN // Und NICHT-Verknüpfung, UND-Vergleich mit 0
- O // Oder-Verknüpfung, ODER-Vergleich mit 1
- ON // Oder NICHT-Verknüpfung, ODER-Vergleich mit 0
- X // Exklusiv Oder-Verknüpfung, Exklusiv-ODER-Vergleich mit 1
- XN // Exklusiv Oder NICHT-Verknüpfung, Exklusiv-ODER-Vergleich mit 0
Man kann mit folgenden Operationen auch Klammerausdrücke bilden:
- U( // UND-Verknüpfung mit Verzweigung
- UN( // UND-NICHT-Verknüpfung mit Verzweigung
- O( // ODER-Verknüpfung mit Verzweigung
- ON( // ODER-NICHT-Verknüpfung mit Verzweigung
- X( // Exklusiv-ODER-Verknüpfung mit Verzweigung
- XN( // Exklusiv-ODER NICHT-Verknüpfung mit Verzweigung
- ) // Verzweigung schließen
Eine Verknüpfungskette wird in AWL mit folgenden Operationen abgeschlossen:
- S // Setzen, speicherndes Verhalten eines Operanden
- R // Rücksetzen eines Operanden dessen Verhalten gespeichert wurde
- = // Zuweisung VKE-Bits
Das Verknüpfungsergebnis VKE kann mit folgenden Operationen verändert werden:
- NOT // VKE wird negiert
- SET // das VKE wird auf 1 gesetzt
- CLR // das VKE wird zurückgesetzt auf 0 gesetzt
- SAVE // der Signalzustand des VKE wird im BIE-Bit gespeichert
Auf einen Wechsel im Verknüpfungsergebnis VKE reagieren folgende Operationen:
- FN // negative Flanke, Signalveränderung von 1 -> 0
- FP // positive Flanke, Signalveränderung von 0 -> 1
Die Zuweisung "=" in Anweisungsliste AWL
Mit der Zuweisung "=" wird das aktuelle VKE in das adressierte Bit (z.B. A 2.3) geschrieben. Ist das VKE eine 1, ist auch der Ausgang eine 1. Andersrum ist es eine 0. Die Voraussetzung dafür ist aber, dass das Master Control Relay eingeschaltet ist (MCR=1). Sollte der MCR ausgeschaltet sein (0), dann wird der Wert "0" in das adressierte Bit geschrieben.
Kommentare einfügen in Anweisungsliste AWL
Das Programm kann in AWL auch mit Kommentaren versehen werden. Auch wenn Kommentare Arbeit und Zeit bedeuten und vielfach keine Zeit dafür ist, sollte man zumindest die wichtigen Bereiche mit Kommentaren versehen. Dadurch werden die Programme übertragbar, so dass andere Programmierer sich schnell einfinden. Auch die Fehlersuche wird dadurch erleichtert. Ein Kommentar wird mit zwei Schrägstrichen, also // eingefügt. Beispiel:
//Bedingung für des Einschalten des Lichts am 1. Tor
U E 2.5
U E 2.6
= A 2.3 //Die rote Lampe