Skip to main content

编译器警告 C0266

信息: 循环退出条件 <condition>' 恒为 FALSE. 可能是无尽循环。

可能的错误原因: 在一个 FOR 循环,迭代发生在控制变量的整个值范围内。

错误更正: 根据 IEC 61131 标准,其中的声明 FOR 只有当控制变量的值超过最终值时,才会执行循环。因此,为控制变量使用足够大的类型,该类型可以映射最终值+1

462. 警告示例
PROGRAM PLC_PRG
VAR
      b : BYTE;
      i : INT;
END_VAR
FOR b := 0 TO 255 BY 1 DO
      i := i + 1;
END_FOR;

留言

C0266:循环退出条件 “b > 255” 常量为 FALSE。可以无限循环。