FOR:在计数循环中执行
说明:使用"在计数循环中执行"指令,重复执行程序循环,直至运行变量不在指定的取值范围内。
也可以嵌套程序循环。在程序循环内,可以编写包含其它运行变量的其它程序循环。
通过指令"复查循环条件"(Continue),可以终止当前正在运行的程序循环。通过指令"立即退出循环"(Exit)终止整个循环的执行。
注意:
有关运行次数和运行变量的信息:
程序运行时无法更改运行次数。出于性能原因,应在块接口的"Temp"部分中声明运行变量。在循环中,该运行变量无法更改。
按如下方式声明此指令:
FOR <运行变量> := <起始值> TO <结束值> BY <增量> DO
<语句>;
END_FOR;
如果增量为1,可以简写为:
FOR <运行变量> := <起始值> TO <结束值> DO
<语句>;
END_FOR;
下表列出了该指令的参数:
参数
| 数据类型
| 存储区
| 说明
| <运行变量>
| 有符号整数、无符号整数*
| I、Q、M、D、L
| 执行循环时会计算其值的操作数。执行变量的数据类型将确定其它参数的数据类型。
| <起始值>
| I、Q、M、D、L
| 表达式,在运行变量首次执行循环时,将为运行变量分配该表达式的值。
| <结束值>
| I、Q、M、D、L
| 表达式,在运行程序最后一次循环时会为运行变量分配该表达式的值。在每个循环后都会检查运行变量的值:
- 未达到结束值:
执行符合 DO 的语句 - 达到结束值:
最后执行一次 FOR 语句 - 超出结束值:
完成 FOR 循环
执行该指令期间,不允许更改结束值。
| <增量>
| I、Q、M、D、L
| 表达式,根据增量表达式的值,执行变量在每次循环后都会递增(正增量)或递减(负增量)自身变量值。
如果未指定增量,则在每次循环后执行变量的值加 1。
执行该指令期间,不允许更改增量。
| <语句>
| -
|
| 只要运行变量的值在取值范围内,每次循环都就会执行的语句。取值范围由起始值和结束值定义。
| TIA PORTAL V16开始支持无符号整数类型的变量
示例
FOR示例
Tag_Value 操作数乘以b_array 数组变量的元素 (2, 4, 6, 8)。并将计算结果读入到a_array 数组变量的元素 (2, 4, 6, 8) 中。
下表展示了给定 Tag_Value 与 b_array 的值得到 a_array 的结果:
设定
| 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
| 学会了吗?转发收藏慢慢看!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |