Instruction ST : IF
le IF
L'instruction est utilisée pour vérifier une condition et, en fonction de cette condition, pour exécuter les instructions suivantes.
Une condition est codée comme un expression qui renvoie une valeur booléenne. Si l'expression retourne TRUE
, la condition est remplie et les instructions correspondantes sont exécutées après THEN
. Si l'expression retourne FALSE
, puis les conditions suivantes, qui sont identifiées par ELSIF
, sont évalués. Si un ELSIF
la condition revient TRUE
, les instructions sont exécutées après les instructions correspondantes THEN
. Si toutes les conditions reviennent FALSE
, les instructions sont exécutées après ELSE
.
Par conséquent, au plus une branche du IF
l'instruction est exécutée. ELSIF
les succursales et les ELSE
branche sont facultatifs.
Syntaxe
IF <condition> THEN <statements> ( ELSIF <condition> THEN <statements> )* ( ELSE <statements> )? END_IF; // ( ... )* None, once or several times // ( ... )? Optional
PROGRAM PLC_PRG VAR iTemp: INT; xHeatingOn: BOOL; xOpenWindow: BOOL; END_VAR IF iTemp < 17 THEN xHeatingOn := TRUE; ELSIF iTemp > 25 THEN xOpenWindow := TRUE; ELSE xHeatingOn := FALSE; END_IF;
Le programme est exécuté comme suit à l'exécution :
Pour l'évaluation de l'expression iTemp < 17 = TRUE
, l'instruction suivante est exécutée et le chauffage est activé. Pour l'évaluation de l'expression iTemp < 17 = FALSE
, la suite ELSIF
état iTemp > 25
est évalué. Si cela est vrai, alors les déclarations dans ELSIF
sont exécutés et la vue est ouverte. Si toutes les conditions sont FALSE
, alors l'instruction est exécutée dans ELSE
et le chauffage est éteint.