The IF  ELSE branch
The following control statements are used for IFELSE branches:
$IF, $ELSE, $ELSIF, $ENDIF.
Branching always starts with
$IF <expr> 
and always ends with
$ENDIF 
Control statements
$ELSE

are optional and serve to set up multiple branches.
Attention
The condition in the $IF control block is checked by verifying the mathematical expression for "true” or "not true” (TRUE and FALSE). To be able to also use decimal variables, the jump condition is regarded as fulfilled (TRUE) if...
...the absolute value of the mathematical expression is > or = 0.5.
Programing Example
The IF  ELSE branch
N10 ...
N20 $IF P1 Only if P1 is greater or equal to 0.5 are the
statements N30 to N50 executed.
N30 ...
N40
N50
N60 $ENDIF
However, the following is also possible :
N10 ...
N20 $IF P1 >= 0.5 Only if P1 is greater or equal to 0.5 are the
statements N30 to N50 executed.
N30 ...
N40
N50
N60 $ENDIF
or:
N10 ...
N20 $IF P1 > P2 Only if P1 is greater than P2, are the statements
N30 to N50 executed, otherwise the statements N70 to N90
N30 ...
N40 ...
N50 ...
N60 $ELSE
N70 ...
N80 ...
N90 ...
N100 $ENDIF
These use of ELSEIF permits:
N10 ...
N20 $IF P1 == 0 Only if P1 is equal to 0, are the statements N30 to N50
executed, otherwise the $ELSEIF condition is
checked whether P2 >= 0.5 and
accordingly N70 to N90 or N110 to N130 are executed.
N30 ...
N40
N50
N60 $ELSEIF P2>=0.5 The $ELSEIF condition is used
To set up branching nested in one another.
N70 ...
N80
N90
N100 $ELSE
N110 ...
N120
N130
N140 $ENDIF
Attention
The C programming language also makes a distinction in syntax between
Assignment : P5 = 3
and
Comparison: $IF P5 == 3
The following applies to Version 2.3 and earlier: As mathematical expressions expect always the sequence…
Operator > Term > Operator > Term > etc.
…expressions preceded by a minus sign must be bracketed in comparison operation ("" is interpreted as operator).
Programing Example
$IF P1 >= 5 wrong because term>operator>operator>term
$IF P1 >= [5] right because term>operator>term>operator>term