Skip to main content

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.