说明
使用“在计数循环中执行”指令,重复执行程序循环,直至运行变量不在指定的取值范围内。
也可以嵌套程序循环。在程序循环内,可以编写包含其它运行变量的其它程序循环。
通过指令“复查循环条件”(continue),可以终止当前连续运行的程序循环。通过指令“立即退出循环”(exit) 终止整个循环的执行。有关本主题的更多信息,请参见“另请参见”。
说明
有关运行次数和运行变量的信息
程序运行时无法更改运行次数。
出于性能原因,应在块接口的“temp”部分中声明运行变量。此外,程序运行时不得更改运行变量。否则,该指令可能根据实施情况返回未定义结果。
for 语句的限制
编写不会导致死循环的“安全”for 语句时,请遵循以下规则和限制:
for := to by do ;
end_for;
如果... ... 则 说明
起始值 < 结束值 结束值 结束值 and 增量 (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) 中。
5G时代你知道什么职业赚钱吗
多点触控技术DuoSense被公认为下一代超级本必备
打造智能座舱新入口!汇顶科技创新车载指纹方案首获规模商用
合肥轨道交通配置了一款太赫兹无接触式人体安检测温一体机
因特网连接,什么是因特网连接
西门子博途SCL: FOR:在计数循环中执行
浅析电气火灾监控系统的应用
物联网应用中的电池寿命计算
AM系列微机保护装置在35kV供配电系统中的应用分析
EG网关网口连接组态王使用教程
用于备用电池的智能电池充电器
在SpinalHDL中如何优雅地例化端口?
如何通过ROOM框在PCB板上来放置元器件
AI+物流为物流方案提供“大脑”和“眼睛”
浅谈信号完整性技巧
什么牌子的蓝牙耳机最好,618性价比最好的蓝牙耳机推荐
碳酸锂产能上涨,江特电机营收净利大幅增长
RFID标签给轮胎带来了什么
区块链数字货币投资服务平台火币云Open API正式上线
AI芯片的隐形赢家,“暴露了”