.
.

FOR循环用于执行具有一定重复次数的指令。

语法:

FOR <循环变量> := <初始值> TO <结束值> {BY <步距> } DO
<循环体>
END_FOR;
 

大括号{}中的部分是可选的。

只要<counter>不大于,或者-在负增量的情况下-不小于<end value>,CODESYS就执行<instructions>。在执行<instructions>之前将对此进行检查。

每次执行指令<instructions>时,循环变量<counter>都会自动增加增量<increment>。增量<increment>可以是任何整数值。如果未指定增量,则默认增量为1

.

.例如

FOR iCounter := 1 TO 5 BY 1 DO
iVar1 := iVar1*2;
END_FOR;
Erg := iVar1;
 

如果你将iVar1预先设置为1,则FOR循环后iVar1的值为32

小心!

最终值<结束值>的值可能与循环变量的数据类型的上限不同。

如果循环变量的结束值等于循环变量的数据类型的上限,则会导致无限循环。例如,如果iCounter的数据类型为SINT并且<end value>等于127,则无限循环将导致上述示例,因为数据类型SINT的上限值为127

作为IEC 61131-3标准的扩展,可以在FOR循环中使用CONTINUE指令。