登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:求S7200PLC的FOR指令的正确使用方法?

点击:7824 回复:7

程序中需要使用循环指令执行子程序若干次:
第一次执行FOR指令,INDX计数递增值直接大于终值!
FOR指令依然循环,为何会失效呢?
附件
12-02-02 16:59
你应该同时贴出SBR_6的代码。
12-02-02 19:04
FOR/NEXT指令执行过程其实只是让循环体内的程序被强制来回扫描若干次而已,这个过程短暂到你难以察觉,所以就产生了第一次执行FOR指令,INDX计数递增值直接大于终值的错觉;你想要的结果是控制子程序运行次数,不应该用FOR指令啊。
其次,当FOR指令执行完毕,继续往下扫描执行其余指令,再回头扫描到FOR时,如果输入条件没有改变,则继续执行循环,这就是你说的“失效”错觉。
12-02-02 22:28
cvlsam大大,子程序代码很长,在这儿我只能说抱歉!
FOR指令的内循环,我理解的是第一次执行FOR指令后,执行程序,当程序结束,再扫描到NEXT,然后执行第二次循环。可实践中发现好像对FOR指令理解的不太对头,不知是什么原因?
感谢Kate的解答!
我在想如果FOR行不通,是否可以采用标志位跳转+计数器的方式解决呢.
12-02-03 09:21

引用 Kate 在 2012/2/2 22:28:05 发言【内容省略】

表情
12-02-03 09:33
用顺控指令加计数可以实现。
12-02-03 10:00
在FOR指令中间不能加定时器,你子程序里面是不是有定时器?
12-02-09 01:11
回答楼上的,木有加定时器。
看到很多朋友的留言,我也受到点启发。
我目前的替代方法是,For+Cx的结构,既然FOR循环再每个扫描周期内周而复始就用比较指令来控制通断。
如有更好的方法还请大家指教。
12-02-09 08:50

工控新闻

更多新闻资讯