.
.

WHILE循环与FOR循环一样使用,以便多次执行指令,直到发生中止条件为止。WHILE循环的中止条件是布尔表达式。

语法:

WHILE <布尔表达式> DO
 <指令>
 END_WHILE;
 

CODESYS多次执行<instructions>,直到<boolean expression>返回TRUE。如果布尔表达式在第一次求值时已经为FALSE,则CODESYS不再执行指令。如果布尔表达式的值从不为FALSE,则会无休止地重复执行这些指令,从而导致运行时错误。

.

.例如

WHILE iCounter <> 0 DO
Var1 := Var1*2
iCounter := iCounter-1;
END_WHILE;
                  
 

提示!

你必须通过编程方式确保不会引起无限循环。

从某种意义上说,WHILEREPEAT循环比FOR循环更强大,因为在执行循环之前不需要知道循环的执行次数。因此,在某些情况下,只能使用这两种循环。但是,如果清楚执行循环的次数,则最好使用FOR循环,以避免无限循环。

作为对IEC 61131-3标准的扩展,可以在WHILE循环内使用CONTINUE指令。