EQ (=)

Die EQ-Anweisung vergleicht die erste Eingabe mit der zweiten Eingabe, um die Gleichheit bei den Datentypen „Integer“, „Real“, „Time“, „Date“ und „String“ festzustellen.
Details zum Betrieb:
  • Bei TON-, TP- und TOF-Anweisungsblöcken wird die Gleichheitsprüfung der „Time“-Werte nicht empfohlen.
  • Die Verwendung des Datentyps „Real“ wird für den Vergleich der Werte auf Gleichheit nicht empfohlen, da Zahlen in mathematischen Operationen anders gerundet werden als die, die in der Anzeige der Variablenausgabe stehen. Daher können zwei Ausgabewerte in der Anzeige gleich aussehen, werden aber dennoch mit „false“ ausgewertet. Beispiel: Beim Vergleich von 23,500001 mit 23,499999 werden in der Ansicht der Variablenausgabe beide mit 23,5 angezeigt, sind jedoch im Controller nicht gleich.
Unterstützte Sprachen: Funktionsblockdiagramm, Kontaktplan und Strukturierter Text.
Diese Anweisung gilt für die Controller
Micro810
LC10,
Micro820
L20E,
Micro850
L50E und
Micro870
L70E.
EQ
EQ
EQ-Parameter
Parameter
Parametertyp
Datentyp
Beschreibung
EN
Eingang
BOOL
Bei True ist die Anweisung aktiviert.
  • TRUE: Ausführen der aktuellen Berechnung.
  • FALSE: Es findet keine Berechnung statt.
Gilt für Kontaktplan-Programme.
i1
Eingang
BOOL
SINT
USINT
BYTE
INT
UINT
WORD
DINT
UDINT
DWORD
LINT
ULINT
LWORD
REAL
LREAL
TIME
DATE
STRING
Alle Eingaben müssen denselben Datentyp haben.
Die „Time“-Eingabe gilt für strukturierten Text, Kontaktpläne oder Funktionsblockdiagramme.
Der Datentyp „Real“ wird nicht empfohlen.
i2
Eingang
BOOL
SINT
USINT
BYTE
INT
UINT
WORD
DINT
UDINT
DWORD
LINT
ULINT
LWORD
REAL
LREAL
TIME
DATE
STRING
o1
Ausgang
BOOL
TRUE, wenn i1 = i2.

Vergleichen Sie REAL-Werte mittels SUB (-), ABS, und LT (<)-Beispiel

Die Verwendung des Datentyps „Real“ für Vergleiche von Werten auf Gleichheit wird nicht empfohlen, da es Unterschiede bei der Auf- und Abrundung von Zahlen gibt. Zwei Ausgabewerte sehen möglicherweise in einer
FactoryTalk Design Workbench
-Anzeige gleich aus, werden aber mit „false“ ausgewertet.
Beispiel: Beim Vergleich von 23,500001 mit 23,499999 werden in der Ansicht der Variablenausgabe beide mit 23,5 angezeigt, sind jedoch im Controller nicht gleich.
Um zu prüfen, ob zwei Real-Datentypen gleich sind, können Sie eine SUB-Anweisung verwenden, um den Unterschied zwischen den Werten zu erhalten, und anschließend feststellen, ob der Unterschied kleiner ist als ein festgesetzter Genauigkeitswert. Schauen Sie sich das folgende Beispiel eines LD-Programms an, in dem zwei Werte vom Datentyp „Real“ verglichen werden.
Vergleichen Sie REAL-Werte mittels SUB (-), ABS, und LT (<)-Beispiel
Beispiel für Vergleiche von REAL-Werten mittels SUB (-), ABS, und LT (<)

EQ-Beispiele

Beispiel für ein EQ-Funktionsblockdiagramm
Beispiel für ein EQ-Funktionsblockdiagramm
Beispiel für ein EQ-Kontaktplan-Programm
Beispiel für ein EQ-Kontaktplan-Programm
(* ST Equivalence: *) aresult := (10 = 25); (* aresult is FALSE *) mresult := ('ab' = 'ab'); (* mresult is TRUE *)
Rückmeldung geben
Haben Sie Fragen oder Feedback zu dieser Dokumentation? Bitte geben Sie hier Ihr Feedback ab.
Normal