Compilerwarnung C0266
Meldung: Schleifenaustrittsbedingung <condition> ist konstant FALSE
. Endlosschleife möglich.
Mögliche Fehlerursache: In einer FOR
-Schleife wird über den gesamten Wertebereich der Kontrollvariablen iteriert.
Fehlerbehebung: Gemäß der Norm IEC 61131 werden die Anweisungen innerhalb der FOR
-Schleife nur ausgeführt, wenn der Wert der Kontrollvariablen den Endwert überschreitet. Verwenden Sie daher für die Kontrollvariable einen ausreichend großen Typ, der den Endwert+1 abbilden kann.
Beispiel 462. Beispiel für die Warnung
PROGRAM PLC_PRG VAR b : BYTE; i : INT; END_VAR FOR b := 0 TO 255 BY 1 DO i := i + 1; END_FOR;
Meldung:
C0266: Schleifenaustrittsbedingung 'b > 255' ist konstant FALSE. Endlosschleife möglich.