Declaración ST: SI
El IF
La instrucción se utiliza para verificar una condición y, dependiendo de esta condición, para ejecutar las instrucciones posteriores.
Una condición se codifica como expresión que devuelve un valor booleano. Si la expresión devuelve TRUE
, entonces la condición se cumple y las declaraciones correspondientes se ejecutan después THEN
. Si la expresión devuelve FALSE
, entonces las siguientes condiciones, que se identifican con ELSIF
, son evaluados. Si una ELSIF
devoluciones de condiciones TRUE
, entonces las declaraciones se ejecutan después de la correspondiente THEN
. Si todas las condiciones vuelven FALSE
, entonces las sentencias se ejecutan después ELSE
.
Por lo tanto, a lo sumo una rama de la IF
se ejecuta la sentencia. ELSIF
ramas y el ELSE
rama son opcionales.
Sintaxis
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;
El programa se ejecuta de la siguiente manera en tiempo de ejecución:
Para la evaluación de la expresión iTemp < 17 = TRUE
, se ejecuta la instrucción siguiente y se enciende la calefacción. Para la evaluación de la expresión iTemp < 17 = FALSE
, el posterior ELSIF
condición iTemp > 25
se evalúa. Si esto es cierto, entonces las declaraciones en ELSIF
se ejecutan y se abre la vista. Si todas las condiciones son FALSE
, entonces la instrucción se ejecuta en ELSE
y la calefacción se apaga.