Ermittelt die FOR-Anweisungen, bei denen die Obergrenze nicht mit einem konstanten Wert definiert ist.
Begründung: Wenn die Obergrenze einer Schleife ein variabler Wert ist, dann lässt sich nicht mehr erkennen wie oft eine Schleife ausgeführt wird. Dies kann zur Laufzeit zu gravierenden Problemen führen, im schlimmsten Fall zu einer Endlosschleife.
Wichtigkeit: Hoch
Beispiel
PROGRAM PLC_PRG VAR i:INT; iBorder1: INT := 10; iBorder2: INT := 10; iCounter: INT; END_VAR VAR CONSTANT ciBorder:INT := 10; END_VAR FOR i:=0 TO 10 DO //OK iCounter := i; END_FOR FOR i:=0 TO ciBorder DO // OK iCounter := i; END_FOR FOR i:=0 TO iBorder1 DO // SA0081 iCounter := i; END_FOR FOR i:=0 TO iBorder2 DO // SA0081 iCounter := i; IF iCounter = 10 THEN iBorder2 := 50; END_IF END_FOR --> SA0081: Obergrenze für eine FOR-Schleife muss ein konstanter Wert sein