情况大体如下:
程序1最后,STEP为30,wincc提示出YES按钮,点击“YES”按钮,(点击后就消失在step为特定步值得时候出来),“步值“SEL”(SEL是程序段的)被赋值为4,通过主程序OB1判断成立后跳调用程序2。
程序2是个过渡程序,最后时STEP为50,wincc提示出YES按钮,点击“YES”按钮,“SEL”被赋值为8,通过OB1调用程序3。
可是对于程序2,如果在wincc界面上有误设定,使得程序2结束前几个条件都满足,(程序2很短,几个条件满足就全通了),在程序1时点击“YES”后,(相当于都程序1、2里的YES都通了),就不会出现YES提示,直接跳转到程序3。
为了解决这个问题,我在程序2,SEL被赋值为8前加了个S_ODT,3秒的延迟接通。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
①奇怪的是,这样做第一次有效,再试一次的时候,定时器根本不工作,直接通的,然后就不会出现YES按钮,然后又直接跳到程序3。
②但是,当把定时器加到“SEL”被赋值为4之前(也就是做到程序1里),就OK了。就不会直接跳到程序3了。
我所困惑的很简单,在①操作时,为什么定时器的相当于被保持接通了,第一次试的时候可以,再试时,调用程序1时,程序2没被调用(监控RUN条都不动),等调用到程序2时,为什么定时器不计时了。。。。。
貌似说了很多废话,不知道说明白了没有。。。
在思考中,望前辈指导。。。