设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
S7-200 SMART—For_Next循环指令
返回列表
发新帖
[西门子]
S7-200 SMART—For_Next循环指令
[复制链接]
90480
|
0
|
2024-3-23 07:51:27
|
显示全部楼层
|
阅读模式
For-Next循环指令
循环指令的引入为解决重复执行相同功能的程序段提供了极大的方便,并且优化了程序结构,特别是在进行大量相同功能计算和逻辑处理时,循环指令非常有用。
循环指令由FOR和NEXT两条指令构成,使用时必须成对出现,FOR…NEXT指令中间的程序称为循环体,就是PLC每次扫描到此处时需要循环执行的程序。
INDX:记录循环次数,每执行一次循环,数值会加1,该值在FOR指令重新使能时会自动清零。
INIT、FINAL:循环的起始值和循环的结束值。
FOR NEXT之间的程序,称为循环体,是用来实现循环的。
每循环一次INDX的值会加1,并且用它跟终止进行比较,如果大于终终止值,循环结束。
注:循环次数若是太多可能出现看门狗错误的报警。
循环指令使用注意事项:
1、FOR、NEXT指令使用时必须成对出现。
2、FOR、NEXT指令可以循环嵌套,最多8层,因此使用时若嵌套使用需注意嵌套层数。
3、每次重新使能改指令时,PLC自动复位各参数,因此使用时可以不需要对参数进行清零。
4、初始值大于终止值时,循环指令不执行,设置结束次数时需注意,不要设置的比结束值大。
例程1:计算0+1+2+3+...+100的结果?
例程2:通过 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 (终止循环次数)数值。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
SmartAuto
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』