在S7-200中如何使用循环指令

2018年11月25日14:11:58 发表评论 37 阅读

S7-200中如何使用循环指令

FOR-NEXT循环指令

1、FOR-NEXT 指令用于重复执行程序段,FOR 指令和 NEXT 指令之间的指令为循环体。

2、每条 FOR 指令需要有一条 NEXT 指令与之成对出现。

3、可以嵌套,嵌套深度为 8 层。

4、启用 FOR-NEXT 指令,首先将 INIT ( 初始值 ) 复制到 INDX(当前循环次数);每执行一次,INDX (当前循环次数) 加 1; 如果 INDX 大于 FINAL (终止循环次数),终止循环。

5、如果 INIT 值大于 FINAL 值,则不执行循环。

应用例程

通过 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 (终止循环次数)数值。

weinxin
微信扫一扫西门子PLC 立即报价
1分钟内报价1天内发货1年内质保(为了省去等待时间,请提供准确型号)-享受专属VIP客服服务

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: