.
.

REPEAT循环的用法与WHILE循环类似,但区别在于CODESYS仅在执行循环后才检查中止条件。此行为的结果是,无论中止条件如何,REPEAT循环至少执行一次。

语法:

REPAEAT  
<指令>
 UNTIL <布尔表达式>
 END_REPEAT;
 
 

CODESYS执行<instructions>,直到<boolean expression>返回TRUE

如果布尔表达式在第一次求值时已经返回TRUE,则CODESYS只执行一次指令。如果布尔表达式从不采用值TRUE,则指令将无休止地重复,结果导致运行时错误。

.

.例如

REPEAT
Var1 := Var1*2;
iCounter := iCounter-1;
UNTIL
iCounter = 0
END_REPEAT;
 

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

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