Rechner-Objekt

Mit dem Rechner-Objekt können arithmetische Operationen mit Operanden oder Verknüpfungen von Operanden ausgeführt werden.

Folgende Funktionen sind dabei möglich:

  • UND-, ODER-, Exclusiv-Oder-Verknüpfungen mit Bit-Operanden

  • Addition

  • Multiplikation

  • Modulo

  • Dezimal-zu-BCD für Byte-Operanden

  • BCD-zu-Dezimal für Byte-Operanden

  • Vergleiche: Größer als, Größer oder gleich, Kleiner als, Kleiner oder gleich, Gleich

  • Bereiche: in Bereich, außerhalb Bereich

Es können maximal 4 Operanden für die Funktion angegeben werden. Das Ergebnis der Funktion wird in einen Operanden geschrieben. Handelt es sich bei dem Ergebnis-Operanden um einen Bit-Operanden, so kann dieser invertiert werden.

UND-, ODER-, Exclusiv-Oder-Verknüpfungen mit Bit-Operanden

Es können alle 4 Eingangs-Operanden belegt werden. Werden weniger Operanden angegeben, dann sind die nicht verwendeten Eingangs-Operanden mit den Konstanten '1' oder '0' zu belegen. Je nachdem welche Konstante für die Operation neutral ist.

Am Operanden für das Funktionsergebnis ist ein Bit-Operand anzugeben. Über die Eigenschaft "Ergebnis invertieren" kann dieser invertiert werden.

Addition, Multiplikation

Es können alle 4 Eingangs-Operanden belegt werden. Werden weniger Operanden angegeben, dann sind die nicht verwendeten Eingangs-Operanden mit den Konstanten zu belegen. Je nachdem welche Konstante für die Operation neutral ist.

Am Funktionsergebnis muss ein Operand angegeben sein, der in der Lage, ist den Wert des Ergebnisses aufzunehmen. Anderenfalls findet kein Schreibvorgang in den Operanden statt.

Modulo

Bei dieser Operation werden nur die beiden ersten Eingangs-Operanden verwendet. Das Funktionsergebnis wird ermittelt aus:

Operand 1 [Modulo] Operand 2

Am Funktionsergebnis muss ein Operand angegeben sein, der in der Lage, ist den Wert des Ergebnisses aufzunehmen. Anderenfalls findet kein Schreibvorgang in den Operanden statt.

Dezimal-zu-BCD für Byte-Operanden

Bei dieser Operation wird nur der erste Eingangs-Operand verwendet.

Es wird nur das niederwertigste Byte des Operanden ausgewertet.

Der ermittelt Wert wird danach in BCD gewandelt und das Ergebnis in den Operanden am Funktionsergebnis geschrieben.

BCD-zu-Dezimal für Byte-Operanden

Bei dieser Operation wird nur der erste Eingangs-Operand verwendet.

Es wird nur das niederwertigste Byte des Operanden ausgewertet.

Der ermittelt Wert wird von BCD nach dezimal gewandelt und das Ergebnis in den Operanden am Funktionsergebnis geschrieben.

Vergleicher: Größer als, Größer oder gleich, Kleiner als, Kleiner oder gleich, Gleich

Bei den Vergleichsoperationen werden nur die Eingangs-Operanden 1 und 2 verwendet. Die Operanden können dabei auch unterschiedlich breit sein, d.h. es kann beispielsweise der Inhalt eines Byte-Operand mit dem Inhalt eines Wort-Operanden verglichen werden.

Die Operationen werden wie folgt ausgeführt:

  • Größer als: Wert-Operand 1 > Wert-Operand 2

  • Größer oder gleich: Wert-Operand 1 >= Wert-Operand 2

  • Kleiner als: Wert-Operand 1 < Wert-Operand 2

  • Kleiner oder gleich: Wert-Operand 1 <= Wert-Operand 2

  • Gleich: Wert-Operand 1 == Wert-Operand 2

Das Funktionsergebnis ist normalerweise in einen Bit-Operanden zu schreiben. Wird ein Byte-, Wort- oder Doppelwort-Operand angegeben, dann werden die Werte '0' oder '1' geschrieben.

Bereiche: in Bereich, außerhalb Bereich

Bei den Bereichsoperationen werden nur die Eingangs-Operanden 1, 2 und 3 verwendet. Die Operanden können dabei auch unterschiedlich breit sein, d.h. es kann beispielsweise der Inhalt eines Byte-Operand mit dem Inhalt eines Wort-Operanden verglichen werden.

Am Eingangs-Operanden 2 ist der Operand anzugeben, dessen Wert geprüft wird.

Am Eingangs-Operand 1 muss der min. Wert des Bereichs angegeben sein. Entweder als Operand oder als Konstante.

Am Eingangs-Operand 3 muss der max. Wert des Bereichs angegeben sein. Entweder als Operand oder als Konstante.

Die Auswertung sieht folgendermaßen aus:

  • In Bereich: Wert-Eingangs-Operand 1 <= Wert-Eingangs-Operand 2 <= Wert-Eingangs-Operand 3

  • Außerhalb Bereich: Wert-Eingangs-Operand 1 > Wert-Eingangs-Operand 2 oder Wert-Eingangs-Operand 2 > Wert-Eingangs-Operand 3

Das Funktionsergebnis ist normalerweise in einen Bit-Operanden zu schreiben. Wird ein Byte-, Wort- oder Doppelwort-Operand angegeben, dann werden die Werte '0' oder '1' geschrieben.

Einsatz des Rechner-Objekts

Die Einsatzgebiete des Rechner-Objekts sind vielfältig.

Man kann dieses beispielsweise verwenden, um ein Flüssigkeits-Objekt mit einem zusätzlichen Sensor für den Füllstand zu versehen.

Dabei würde die Funktion "In Bereich" verwendet werden.

Möchte man beispielsweise den Operanden IM.M10.1 auf '1' setzen, sobald der Füllstand des Flüssigkeits-Objekts zwischen 800 bis 1000 Inkrementen liegt, dann ist das Rechner-Objekt wie folgt zu setzen. Dabei wird davon ausgegangen, dass der momentane Füllstand im Wort-Operanden IM.MW2 abgelegt ist.

Die Funktion "In Bereich" kommt auch zum Einsatz, wenn man die Position von Linear- oder Drehbewegungen sensorisch erfassen möchte. Hier wird das Rechner-Objekt in ähnlicher Weise verwendet, wie im obigen Beispiel mit dem Füllstand.

Weitere Einsatzgebiete sind das Auslösen von Ereignissen in der virtuellen Anlage um das Verhalten der realen Anlage nachzuahmen. Dies wird oftmals durch Verknüpfung von Operanden des internen Speicherbereichs von PLC-Lab (IM) erreicht.