Skip to main content

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
Exemple 70. Exemple
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.