Die IF
-Anweisung verwenden Sie, um eine Bedingung zu prüfen und bei erfüllter Bedingung
die nachfolgenden Anweisungen auszuführen.
Eine Bedingung wird als Ausdruck codiert, der einen booleschen Wert zurückliefert.
Wenn der Ausdruck TRUE
liefert, ist die Bedingung erfüllt und die zugehörigen Anweisungen nach THEN
werden ausgeführt. Wenn der Ausdruck FALSE
liefert, werden die folgenden Bedingungen, die mit ELSIF
gekennzeichnet sind, ausgewertet. Wenn eine ELSIF
-Bedingungen TRUE
liefert, werden die Anweisungen nach dem zugehörigen THEN
ausgeführt. Wenn alle Bedingungen FALSE
sind, werden die Anweisungen nach ELSE
ausgeführt.
Es wird also höchstens ein Zweig der IF
-Anweisung ausgeführt. Die ELSIF
-Zweige und der ELSE
-Zweig sind optional.
Syntax
IF <condition> THEN <statements> ( ELSIF <condition> THEN <statements> )* ( ELSE <statements> )? END_IF; // ( ... )* None, once or several times // ( ... )? Optional
Beispiel
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;
Zur Laufzeit wird das Programm folgendermaßen durchlaufen:
Wenn die Auswertung des Ausdrucks iTemp < 17 = TRUE
ergibt, wird die nachfolgende Anweisung ausgeführt und die Heizung eingeschaltet.
Wenn die Auswertung des Ausdrucks iTemp < 17 = FALSE
ergibt, wird die nachfolgenden ELSIF
-Bedingungen iTemp > 25
ausgewertet. Wenn diese wahr ist, wird die Anweisungen unter ELSIF
ausgeführt und das Fenster geöffnet. Wenn alle Bedingungen FALSE
sind, wird die Anweisung unter ELSE
ausgeführt und die Heizung wird ausgeschaltet.
Siehe auch