Attention
IronPLC can only run very simple programs. The steps described are accurate but many language features are not yet supported.
Logical Operators¶
Logical operators perform boolean logic on BOOL operands.
IEC 61131-3 |
Section 3.3.1 |
Support |
Supported |
Syntax¶
Operator |
Syntax |
Description |
|---|---|---|
|
|
Logical AND (also written |
|
|
Logical OR |
|
|
Logical exclusive OR |
|
|
Logical complement (unary) |
Description¶
AND (or &) returns TRUE only when both operands are TRUE.
OR returns TRUE when at least one operand is TRUE. XOR returns
TRUE when exactly one operand is TRUE. NOT inverts a single
boolean value.
Precedence from highest to lowest: NOT, AND / &, XOR, OR.
Use parentheses to override the default precedence.
Example¶
PROGRAM main
VAR
sensor_a : BOOL := TRUE;
sensor_b : BOOL := FALSE;
enable : BOOL := TRUE;
run_motor : BOOL;
alarm : BOOL;
END_VAR
run_motor := enable AND (sensor_a OR sensor_b);
alarm := sensor_a XOR sensor_b;
END_PROGRAM
See Also¶
BOOL — boolean data type
Comparison Operators — relational operators producing BOOL
Arithmetic Operators — numeric operators