Attention
IronPLC implements many parts of the IEC 61131-3 standard and is working toward full Structured Text support. Key features still missing include arrays and structures. Try it out in the IronPLC Playground.
P2035¶
- Code
P2035
- Message
Ordering comparison on reference types (only = and <> are allowed)
This error occurs when ordering comparison operators (<, >, <=, >=) are used with reference types. Only equality (=) and inequality (<>) comparisons are allowed on references.
Example¶
The following code will generate error P2035:
PROGRAM Main
VAR
x : INT;
xRef : REF_TO INT := REF(x);
yRef : REF_TO INT := REF(x);
result : BOOL;
END_VAR
result := xRef > yRef; (* Error: ordering comparison on references *)
END_PROGRAM
To fix this error, use equality or inequality comparison instead:
PROGRAM Main
VAR
x : INT;
xRef : REF_TO INT := REF(x);
yRef : REF_TO INT := REF(x);
result : BOOL;
END_VAR
result := xRef = yRef; (* Correct: equality comparison is allowed *)
END_PROGRAM