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 für die Warnung:
PROGRAM MAIN
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.