REPEAT循环的用法与WHILE循环类似,但区别在于CODESYS仅在执行循环后才检查中止条件。此行为的结果是,无论中止条件如何,REPEAT循环至少执行一次。
语法:
REPAEAT
<指令>
UNTIL <布尔表达式>
END_REPEAT;
CODESYS执行<instructions>,直到<boolean expression>返回TRUE。
如果布尔表达式在第一次求值时已经返回TRUE,则CODESYS只执行一次指令。如果布尔表达式从不采用值TRUE,则指令将无休止地重复,结果导致运行时错误。
从某种意义上说,WHILE和REPEAT循环比FOR循环更强大,因为在执行循环之前不需要知道循环的执行次数。在某些情况下,你只能使用这两种循环。但是,如果清楚执行循环的次数,则最好使用FOR循环,以避免无限循环。
作为对IEC 61131-3标准的扩展,可以在WHILE循环内使用CONTINUE指令。