Operator - Test if first input is equal to second input.
IN1 : ANY
IN2 : ANY Second input
Q : BOOL TRUE if IN1 = IN2
Both inputs must have the same type. In LD language, the input rung (EN) enables the operation, and the output rung is the result of the comparison. In IL language, the EQ instruction performs the comparison between the current result and the operand. The current result and the operand must have the same type.
Comparisons can be used with strings. In that case, the lexical order is used for comparing the input strings. For instance, "ABC" is less than "ZX" ; "ABCD" is greater than "ABC".
Equality comparisons cannot be used with TIME variables. The reason why is that the timer actually has the resolution of the target cycle and test may be unsafe as some values may never be reached.
Q := IN1 = IN2;
(* The comparison is executed only if EN is
Op1: LD IN1
ST Q (* Q is true if IN1 = IN2 *)
> < >= <= <> CMP