子不語
求教一个问题,第一个图是字程序。第二图 是主程序
我主程序调用 子程序(点喷枪控制)的时候,为什么子程序内 SM0.1 初始化不了啊?VW333 还是0 不是88
winter938
SM0.1只在RUN后的第一个扫描周期ON,你能确保子程序在此扫描周期得到执行吗?
phoenixyqc
这要看一下你主程序调用是什么条件的
回复内容:
对: winter938 SM0.1只在RUN后的第一个扫描周期ON,你能确保子... 内容的回复!
不能啊,因为我是要按下按钮 I1.2才能调用 子程序!
但是为什么,我在子程序内用 SM0.1 初始化 M1.0 就可以呢?
对: phoenixyqc 这要看一下你主程序调用是什么条件的 内容的回复!
我直接是用按钮I1.2 ,能否说明下,您所谓的调用条件吗?谢谢
我跟楼上是一个想法啊,你调用条件不能让SM0.1起作用肯定是不对的
对: phoenixyqc 我跟楼上是一个想法啊,你调用条件不能让SM0.1起作用... 内容的回复!
如果使他起作用呢?
对: 子不語 回复内容:对: phoenixyqc 我跟楼上是一个... 内容的回复!
怎么使他起作用?
SM0.1是RUN后首次扫描有效。这个你明白不?PLC工作时是一个扫描周期一个扫描周期来的,就是程序会被反复读取,只有第一次SM0.1是ON状态。你要用SM0.1就是用第一次,以后都当他常断,至于后面你要做,那还是找个变量的上升沿或者下降沿吧。
银光人生—华
对: 银光人生—华 ... 内容的回复!
不是这样吧,我觉得他其实是想在子程序调用的开始赋值一次的,然后他可能把SM0.1想成局部变量了,其实SM0.1是全局的,所以在子程序里没有他想要的效果。这种有调用条件的,要在调用的时候赋值,就用那个条件变量的上升沿脉冲就好了。
liaohuanbin
SM0.1只有在PLC第一次扫描周期才会接通,而你的子程序是另一个条件才能调用,子程序没有被调用是不会被扫描的,只有在主程序条件满足调用才会执行子程序,而这时SM0.1早已不接通了,怎么会初始化呢?
谢谢您
谢谢您