全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 控制/MCU >

西门子博途SCL: FOR:在计数循环中执行

时间:2023-07-18 10:07

人气:

作者:admin

标签: SCL  S7-1200  计数器  西门子 

导读:使用“在计数循环中执行”指令,重复执行程序循环,直至运行变量不在指定的取值范围内。...

说明

使用“在计数循环中执行”指令,重复执行程序循环,直至运行变量不在指定的取值范围内。

也可以嵌套程序循环。在程序循环内,可以编写包含其它运行变量的其它程序循环。

通过指令“复查循环条件”(CONTINUE),可以终止当前连续运行的程序循环。通过指令“立即退出循环”(EXIT) 终止整个循环的执行。有关本主题的更多信息,请参见“另请参见”。

说明
有关运行次数和运行变量的信息
程序运行时无法更改运行次数。
出于性能原因,应在块接口的“Temp”部分中声明运行变量。此外,程序运行时不得更改运行变量。否则,该指令可能根据实施情况返回未定义结果。

FOR 语句的限制

编写不会导致死循环的“安全”FOR 语句时,请遵循以下规则和限制:

FOR := TO BY DO ;

END_FOR;

如果... ... 则 说明
起始值 < 结束值 结束值 <(PMAX 增量) 运行变量在正方向上运行
起始值 > 结束值 AND 增量 < O 结束值 >(NMAX 增量) 运行变量在负方向上运行

限制

各种数据类型的限制不同:

数据类型 PMAX NMAX
SINT 类型的运行变量 127 -128
INT 类型的运行变量 32767 -32768
DINT 类型的运行变量 2147483647 -2147483648
LINT 类型的运行变量 9223372036854775807 -9223372036854775808

参数

下表列出了该指令的参数:

参数 数据类型 存储区 说明
S7-1200 S7-1500
<执行变量> SINT、INT、DINT SINT、INT、DINT、LINT I、Q、M、D、L 执行循环时会计算其值的操作数。执行变量的数据类型将确定其它参数的数据类型。
<起始值> SINT, INT, DINT SINT、INT、DINT、LINT I、Q、M、D、L 表达式,在执行变量首次执行循环时,将分配表达式的值。
<结束值> SINT, INT, DINT SINT、INT、DINT、LINT I、Q、M、D、L 表达式,在运行程序最后一次循环时会定义表达式的值。在每个循环后都会检查运行变量的值:
未达到结束值:
执行符合 DO 的指令
达到结束值:
最后执行一次 FOR 循环
超出结束值:
完成 FOR 循环
执行该指令期间,不允许更改结束值。
SINT, INT, DINT SINT、INT、DINT、LINT I、Q、M、D、L 执行变量在每次循环后都会递增(正增量)或递减(负增量)其值的表达式。可以选择指定增量的大小。如果未指定增量,则在每次循环后执行变量的值加 1。
执行该指令期间,不允许更改增量。
<指令> - - 只有运行变量的值在取值范围内,每次循环都就会执行的指令。取值范围由起始值和结束值定义。

有关有效数据类型的更多信息,请参见“另请参见”。

示例

以下示例说明了该指令的工作原理

SCL
FOR i := 2 TO 8 BY 2
DO "a_array[i] := "Tag_Value"*"b_array[i]";
END_FOR;

“Tag_Value”操作数乘以“b_array”ARRAY 变量的元素 (2, 4, 6, 8)。并将计算结果读入到“a_array”ARRAY 变量的元素 (2, 4, 6, 8) 中。





审核编辑:刘清

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信