如果在OB1中调用了一个S7-GRAPH模块比方说FB1,当FB1中某步已经被激活,比方说调用了一个FC111,但是此步到下一步的TRANSITION的条件没有满足,那么请问这时,程序是停在这个TRANSITION上,还是回到OB1中继续执行下面的内容呢?如果是后者的话,当OB1一个周期结束,第二个周期时,当调用FB1时,如果那个TRANSITION还没有满足,是不是又重新激活上次的那个步,再调用一次FC111呢?
有点不太理解,请师兄们指点一下吧。不胜感激。
如果TRANSITION没有满足就停在那儿等的话,程序就暂停了,感觉不应该是这样。有点想不通呀。
最佳答案
当转换条件不满足的时候,被激活步始终是激活的,只有转换条件满足或手动激活其它步的时候,你先前被激活的步才会去活,所以自动循环只要是转换条件 不满足,调用FC111的步是激活的,FC111中的程序会一直被执行。
提问者对于答案的评价:
没有直接回答出关键的OB1是否继续扫描循环问题。但是,我自己觉得OB1肯定继续循环,不然应该会有超时报警的。然后就是如果GRAPH的FB是打在自动位置的话,下一个周期就会继续激活上一次的步。
专家置评
回到OB1中继续执行,可以把FB1想象成为一个异步块,OB1每次循环检查TRANSITION条件是否满足,如果不满足,则FB1不会执行下一个步,会跳出FB1执行FB1之后的程序。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc227894.html