ST 声明:FOR
这 FOR
循环用于执行具有一定重复次数的语句。
句法:
FOR <counter> := <start value> TO <end value> {BY <increment> } DO <instructions> END_FOR;
花括号 {} 内的部分是可选的。
CODESYS 执行 <instructions>
只要 <counter>
不大于 - 或在负数的情况下 increment
步小于 - 的 <end value>
.这是在执行之前检查的 <instructions>
.
每次 <instructions>
语句已执行,计数器 <counter>
按增量自动增加 <increment>
.增量 <increment>
可以有任何整数值。如果不指定增量,则标准增量为 1
.
例 71. 例子
FOR iCounter := 1 TO 5 BY 1 DO iVar1 := iVar1*2; END_FOR; Erg := iVar1;
如果您已预先配置 iVar1
和 1
, iVar1
有价值 32
在 FOR 循环之后。
小心
结束值 <end value> 不得与计数器的数据类型上限相同。
如果计数器的结束值等于计数器的数据类型的上限,则导致无限循环。例如,一个无限循环会导致上面的例子,如果 iCounter
属于数据类型 SINT
和 <end value>
等于 127
, 因为数据类型 SINT
有上限 127
.
作为 IEC 61131-3 标准的扩展,您可以使用 继续
内的声明 FOR
环形。