ST 声明:REPEAT
这 REPEAT
循环像 尽管
循环,但不同的是 CODESYS 仅在执行循环后检查中止条件。这种行为的后果是 REPEAT
循环至少执行一次,无论中止条件如何。
句法:
REPEAT <instructions> UNTIL <boolean expression> END_REPEAT;
CODESYS 执行 <instructions>
声明直到 <Boolean expression>
返回真。
如果布尔表达式已经返回 TRUE
在第一次评估中, CODESYS 只执行一次语句。如果布尔表达式从不应用该值 TRUE
,然后这些语句会无休止地重复,从而导致运行时错误。
例 74. 例子
REPEAT Var1 := Var1*2; iCounter := iCounter-1; UNTIL iCounter = 0 END_REPEAT;
从某种意义上说 WHILE
和 REPEAT
循环比 为了
循环,因为在执行之前不需要知道循环的执行次数。在某些情况下,您只能使用这两种循环。但是,如果循环执行的次数是明确的,那么 FOR
最好使用循环以避免无限循环。
作为 IEC 61131-3 标准的扩展,您可以使用 继续 内的声明 WHILE
环形。