全新西门子PLC模块回收
回收西门子CPU模块,回收西门子触摸屏,西门子模块回收
全新西门子PLC模块回收
回收西门子CPU模块,回收西门子触摸屏,西门子模块回收
FOR:在计数循环中执行
说明:使用"在计数循环中执行"指令,重复执行程序循环,直至运行变量不在指定的取值范围内。
也可以嵌套程序循环。在程序循环内,可以编写包含其它运行变量的其它程序循环。
通过指令"复查循环条件"(Continue),可以终止当前正在运行的程序循环。通过指令"立即退出循环"(Exit)终止整个循环的执行。
注意:
有关运行次数和运行变量的信息:
程序运行时无法更改运行次数。出于性能原因,应在块接口的"Temp"部分中声明运行变量。在循环中,该运行变量无法更改。
按如下方式声明此指令:
FOR
END_FOR;
如果增量为1,可以简写为:
FOR
END_FOR;
图10 FOR语句
下表列出了该指令的参数:
参数 | 数据类型 | 存储区 | 说明 |
---|---|---|---|
有符号整数、无符号整数* | I、Q、M、D、L | 执行循环时会计算其值的操作数。执行变量的数据类型将确定其它参数的数据类型。 | |
I、Q、M、D、L | 表达式,在运行变量首次执行循环时,将为运行变量分配该表达式的值。 | ||
I、Q、M、D、L | 表达式,在运行程序*后一次循环时会为运行变量分配该表达式的值。在每个循环后都会检查运行变量的值:
执行该指令期间,不允许更改结束值。 | ||
I、Q、M、D、L | 表达式,根据增量表达式的值,执行变量在每次循环后都会递增(正增量)或递减(负增量)自身变量值。 如果未指定增量,则在每次循环后执行变量的值加 1。 执行该指令期间,不允许更改增量。 | ||
- | 只要运行变量的值在取值范围内,每次循环都就会执行的语句。取值范围由起始值和结束值定义。 |
*TIA PORTAL V16开始支持无符号整数类型的变量
示例
图11 FOR示例
Tag_Value 操作数乘以b_array 数组变量的元素 (2, 4, 6,8)。并将计算xiangbaijiao结果读入到a_array 数组变量的元素 (2, 4, 6, 8) 中。
下表展示了给定 Tag_Value 与 b_array[i] 的值得到 a_array[i] 的结果:
设定 | Tag_Value | |||
值 | 5 | |||
设定 | b_array[2] | b_array[4] | b_array[6] | b_array[8] |
值 | 3 | 5 | 7 | 9 |
结果 | a_array[2] | a_array[4] | a_array[6] | a_array[8] |
值 | 15 | 25 | 35 | 45 |