Skip to main content

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;


从某种意义上说 WHILEREPEAT 循环比 为了 循环,因为在执行之前不需要知道循环的执行次数。在某些情况下,您只能使用这两种循环。但是,如果循环执行的次数是明确的,那么 FOR 最好使用循环以避免无限循环。

作为 IEC 61131-3 标准的扩展,您可以使用 继续 内的声明 WHILE 环形。