REPEAT 循环的使用方法与WHILE 循环相同,不同之处在于CODESYS 只在循环执行后检查终止条件。这种行为的结果是,无论中止条件如何,REPEAT 循环都会至少执行一次。
语法
REPEAT <instructions> UNTIL <boolean expression> END_REPEAT;
CODESYS 执行<instructions> ,直到<boolean expression> 返回TRUE 。
如果布尔表达式在第一次求值时已经返回TRUE ,CODESYS 就会精确执行一次指令。如果布尔表达式从未采用TRUE 值,那么指令将无休止地重复,结果会导致运行时错误。
示例
REPEAT Var1 := Var1*2; iCounter := iCounter-1; UNTIL iCounter = 0 END_REPEAT;
从某种意义上说,WHILE 和REPEAT 循环比FOR 循环更强大,因为在执行循环之前不需要知道循环的执行次数。在某些情况下,您只能使用这两种回路。但是,如果循环的执行次数是明确的,则最好使用FOR 循环,以避免无休止的循环。
作为 IEC 61131-3 标准的扩展,您可以在WHILE 循环中使用 CONTINUE 指令。