Vergleichsfunktionen in AWL

In Steuerungsprogrammen werden häufig Zahlen miteinander verglichen. Beispielsweise könnte man eine Zuweisung an die Bedingung knüpfen, dass zwei Zahlenwerte aus der Produktion den gleichen Wert haben. Zum Vergleich werden die beiden Zahlenwerte in Akku 1 und Akku 2 geladen und miteinander verglichen. Hierfür gibt es folgende Befehle:

  • AKKU2 ist gleich AKKU1, Symbol: ==
  • AKKU2 ist ungleich AKKU1, Symbol: <>
  • AKKU2 ist größer als AKKU1, Symbol: >
  • AKKU2 ist kleiner als AKKU1, Symbol: <
  • AKKU2 ist gleich oder größer als AKKU1, Symbol: >=
  • AKKU2 ist gleich oder kleiner als AKKU1, Symbol: <=

Wenn das Ergebnis eines Vergleichs WAHR ist, dann wird das Verknüpfungsergebnis VKE auf 1. Ist das Ergebnis FALSCH, ist das VKE eine 0. Im Statuswort wird über die Bits A1 und A0 die Relationen "kleiner als", "gleich" oder "größer als" angezeigt.

Man kann folgende Zahlenformate vergleichen, wobei beide zu vergleichende Zahlen das gleiche Format haben müssen. Ist das nicht der Fall, muss man eine Zahl mit den Umwandlungsfunktionen zuerst umwandeln.

I - 16 Bit Ganzzahlen vergleichen
D - 32 Bit Ganzzahlen vergleichen
R - Gleitpunktzahlen vergleichen

Beispielcode, wie man in AWL einen Vergleich durchführt. Hier wird geprüft, ob die beiden Zahlen in den Adresse MW10 und MW16 gleich sind.

U(
L MW10
L MW16
==I
= A 1.3