编译器警告 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。可以无限循环。