Vergleichsfunktionen: Vergleicher in SPS

Wie in der Mathematik müssen in Steuerungen manchmal Vergleichsfunktionen eingebaut werden. Beispielsweise könnte man einen Zählerstand mit einem Wert vergleichen und abhängig vom Ergebnis die Ausgänge auf 0 oder 1 setzen.

Bei diesem Vorgang werden zwei Operanden miteinander verglichen, die denselben Datentyp haben müssen. Trifft der Vergleich zu, steht ein boolescher Signal 1 zur Verfügung, ansonsten 0. Die nachfolgenden Vergleichsfunktionen werden bei Speicherprogrammierbaren Steuerungen eingesetzt:

  • == (GLEICH)
  • <> (UNGLEICH)
  • <= (KLEINER o. GLEICH)
  • >= (GRÖßER o. GLEICH)
  • < (KLEINER)
  • > (GRÖßER)

Folgende Operanden können für Vergleichsfunktionen eingesetzt werden:

  • Bit
  • Byte
  • Wort
  • Doppelwort

Dabei können die Datentypen vom folgenden Format sein:

  • INT
  • DINT
  • REAL
  • DATE-AND-TIME
  • STRING
  • CHAR

Vergleichsfunktionen werden unabhängig vom VKE mit Hilfe der Ladefunktion der CPU durchgeführt. Daher werden für die Durchführung wieder die beiden Akkus der CPU benötigt. Der Vorgang bei der Durchführung einer Vergleichsfunktion ist wie folgt:

  1. Der Wert des ersten Vergleichsoperanden wird in den Akku 1 geladen
  2. Der Inhalt von Akku 1 wird in Akku 2 verschoben
  3. Der Wert des zweiten Vergleichsoperanden wird in Akku 1 geladen
  4. Die Vergleichsoperation folgt, indem der Inhalt von Akku 1 mit Akku 2 verglichen wird
  5. Trifft der Vergleich zu, wird das VKE zu 1.
  6. Das VKE kann über weitere Funktionen ausgewertet werden.

Vergleichsfunktion in FUP

Vergleicher
Vergleicher-Box in FUP

Beispielhaft eine Vergleicherbox in FUP. An den beiden Eingängen IN1 und IN2 sind zwei Operanden die miteinander verglichen werden. In diesem Beispiel werden sie auf Gleichheit geprüft. Zu erkennen an CMP==I.

CMP kommt von Compare und bedeutet übersetzt Vergleichen. Mit == wird angegeben, dass die beiden Werte auf Gleichheit verglichen werden sollen. Das I gibt den Datentyp an, in dem Fall INT. Sind die beiden Werte gleich, soll das Signal am Ausgang A4.0 eine 1 sein. Da der Datentyp INT 16 Bit breit ist, müssen die Operanden Wörter sein.

Vergleicher für DINT
Vergleicher-Box für Datentyp DINT

Eine Vergleicherbox für Datentyp DINT in FUP

Der Vergleicher für den Datentyp DINT sieht genauso aus. Nur mit dem Unterschied, dass statt einem I ein D hinter dem Vergleichszeichen steht. Der Datentyp DINT ist 32 Bit breit. Daher werden an den Eingängen IN1 und IN2 Doppelwörter benötigt.

Vergleicherbox für REAL
Vergleicher für den Datentyp REAL

Vergleicherbox für Datentyp REAL

Der Vollständigkeit halber noch ein Vergleicher für den Datentyp REAL, zu erkennen an dem Zeichen R nach dem Vergleichszeichen. Der Datentyp REAL ist ebenfalls 32 Bit breit und benötigt Doppelwörter an den Eingängen.

Neben der Box für den Vergleich auf Gleichheit gibt es natürlich separate Vergleicher für Ungleich, Kleiner, Größer etc.