Operators & Grouping
Terms are joined by operators, negated with NOT, and grouped with parentheses. The editor offers only the operators that make sense for the term before them.
AND).The operators
| Group | Operators |
|---|---|
| Logical | AND OR |
| Comparison | < > <= >= |
| Equality | = != |
The operator between two terms is a dropdown. It is type-filtered by the term before it:
| Preceding term type | Valid operators |
|---|---|
| Bool | AND, OR, =, != |
| Int / Double / Time | =, !=, <, >, <=, >= |
| String | =, != |
So a numeric term must be followed by a comparison against a value; two Bool terms join with AND/OR. A comparison such as Global.Temperature > 80 is itself a Bool sub-expression, so the next operator can be AND/OR again.
NOT
NOT is not an operator between terms — it is a modifier on a single Bool term (or a group). Only Bool-returning terms can be negated:
Motor.IMotor.Running AND NOT Motor.IMotor.Overload
Parentheses
Select two or more terms and Wrap with ( ) to group them; groups can nest, and a group can carry its own NOT:
IF (Motor.IMotor.Running AND NOT Motor.IMotor.Overload) AND Global.Temperature < 80
Rules: a group must wrap at least two terms and form a complete boolean sub-expression (it can't start or end on an operator). Comparison, not XOR, is the only non-logical joiner — there is no XOR operator in the editor.