电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 梯形图实例 >> 正文

西门子plc S7-200 SMART的FOR_NEXT循环指令,FOR和NEXT指令的用法,循环指令

作者:佚名    文章来源:本站原创    点击数:    更新时间:2023/4/18

FOR-NEXT循环指令

循环指令的引入为解决重复执行相同功能的程序段提供了极大的方便,并且优化了程序结构,特别是在进行大量相同功能计算和逻辑处理时,循环指令非常有用。

循环指令由FOR和NEXT两条指令构成,使用时必须成对出现,FOR…NEXT指令中间的程序称为循环体,就是PLC每次扫描到此处时需要循环执行的程序。

INDX:记录循环次数,每执行一次循环,数值会加1,该值在FOR指令重新使能时会自动清零。

INIT、FINAL:循环的起始值和循环的结束值。

FOR NEXT之间的程序,称为循环体,是用来实现循环的。

每循环一次INDX的值会加1,并且用它跟终止进行比较,如果大于终终止值,循环结束。

注:循环次数若是太多可能出现看门狗错误的报警。

FOR NEXT示例应用 

FOR NEXT示例应用

循环指令使用注意事项:

1、FOR、NEXT指令使用时必须成对出现。

2、FOR、NEXT指令可以循环嵌套,最多8层,因此使用时若嵌套使用需注意嵌套层数。

3、每次重新使能改指令时,PLC自动复位各参数,因此使用时可以不需要对参数进行清零。

4、初始值大于终止值时,循环指令不执行,设置结束次数时需注意,不要设置的比结束值大。

例程1:计算0+1+2+3+...+100的结果?

 

例程1

例程2:通过 FOR-NEXT 指令,对 5 个变量:VW100、VW102、VW104、VW106、VW108 进行求和,求和结果放到 VW200 中,计算的平均值存放在 VD210 中 。

 

例程2

补充说明:

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

Tags:smart,循环指令,FOR,NEXT  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
推荐文章
最新推荐
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询