FOR循环

通过FOR循环,可以编写重复的处理

语法:

INT_Var :INT;

FOR <INT_Var> := <INIT_VALUE> TO <END_VALUE> {BY <Step size>} DO

<instructions>

END_FOR;

{} 内的部分是可选的 。

<Instructions>会被执行只要计数器<INT_Var>不大于 <END_VALUE>。这在执行 <Instructions> 之前检查,所以 <instructions> 不会被执行,如果 <INIT_VALUE>大于 <END_VALUE>。

当 <Instructions> 被执行, <INT_Var>增加<Step size>。 步大小可以是任意整数值。如果它丢失了,它会被置为1。<INT_Var>变大时循环停止。

例子:

FOR Counter:=1 TO 5 BY 1 DO

Var1:=Var1*2;

END_FOR;

Erg:=Var1;

我们假设Var1默认值是。经过FOR循环后,它会有值32

小心!

如果 <END_VALUE>> 等于计数器值 <INT_VAR>,如: 如果计数器 – 在上例中使用 – SINT型的,且 如果<END_VALUE>是127,那么你会得到一个死循环。所以 <END_VALUE> 一定不能等于计数器的值!

IEC 61131-3 标准扩展(ExST): ( ExST ):

CONTINUE指令可以用在FOR循环中。