S7-200 SMART FOR-NEXT循环指令

for-next循环指令
1、for-next 指令用于重复执行程序段,for 指令和 next 指令之间的指令为循环体。for指令标记循环的开始,next指令为循环体的结束指令。
2、每条 for 指令需要有一条 next 指令与之成对出现。
3、可以嵌套,嵌套深度为 8 层。
其中:
init,final分别定义起始值和结束值。
使能输入en有效,循环体开始执行,执行到next指令时返回,每执行一次循环体,当前值计数器indx增1,达到终止值final时,循环结束。
使能输入无效时,循环体程序不执行。每次使能输入有效,指令自动将各参数复位。
注意:使用 for 和 next 指令可在重复执行分配计数的循环中执行程序段。
每条 for 指令需要一条 next 指令。
应用例程
for next 简单循环编程实例
图5.for next 循环循环程序图
使用状态表监控程序的运行如下图所示
图6.状态监视图
如上表所示,vw100值为4, index大于终止值,循环终止。
5个变量进行求和后取平均值实例
通过 for-next 指令,对 5 个变量:vw100、vw102、vw104、vw106、vw108 进行求和,求和结果放到 vw200 中,计算的平均值存放在 vd210 中 。
常问问题
 for-next指令的循环次数如何计算?
答:for-next工作过程:启用for-next指令,首先将 init( 初始值) 复制到 indx(当前循环次数);每执行一次,indx (当前循环次数) 加1;如 果 indx 大于 final (终止循环次数),终止循环。
比如:init=1 final=10,则循环体被执行10次,然后退出循环, 退出循环后indx=11
init=0,final=10, 则循环体被执行11次,然后退出循环,退出循环后indx=11
 for-next指令执行时,主程序是否执行,对扫描周期的影响?
答:程序自上而下循环扫描,当for-next指令启用后,则循环体被循环执行,直至循环次数到达,循环结束,程序继续向下执行。即在一个扫描周期内执行循环完毕后才会向下执行,循环次数越多,会导致扫描周期时间延长越多。如果循环次数过多或者出现死循环,会导致扫描周期时间超过看门狗时间,报出看门狗超时的致命错误,cpu停机并且sf/diag灯红灯常亮。
 如何在for-next执行循环过程中,退出循环?
答:您可以在for/next 指令处于循环过程中时,在循环体中修改final (终止循环次数)数值。


差压流量计的工作原理
TMS320C61416控制FPGA数据加载设计
振动测量应用实例
eBPF安全可观测性的前景展望
一种用于高能和长循环锂硫电池的极性氧化还原活性中间层新概念
S7-200 SMART FOR-NEXT循环指令
温度控制器的功能是什么
我国NB-IoT市场的发展情况分析
智慧城市已经成为世界各国数字化战略的重要内容
利用低功耗蓝牙模块和连接技术实现更轻松的物联网设计
三种最常用的特征检测与匹配算法总结
希捷首款16TB磁盘规格简介
威刚推出三款PCIe 4.0 SSD,读取速度超7000MB/s
首配前后双摄像头 乐视新机或在MWC亮相
PC行业再度打击 一季度全球出货为2013年来最差
高通和爱立信联手,打通全球首个5G电话
【风火轮YY3568开发板免费体验】第三章:在 buildroot 框架中添加本地的 hello_world 软件包以及给包打patch
你在生活中发现了物联网的元素吗
海信“净风”空净一体空调发布 聚焦用户对于健康和舒适的双重需求
监视器进入休眠状态怎么办 监视器的屏幕刷新频率怎么设置