这个程序怎么才能循环起来呢》?请高手指点当Q0.2工作结束后让Q0.5,Q0.6工作能?

子程序1如下:Network 1 
LD     I0.0
=      Q1.1
Network 2 // 网络标题
// 网络注释
LDN    I0.0
AN     M0.5
LD     I1.0
O      Q0.4
ALD
O      M0.5
=      Q0.4
=      Q0.3
Network 3 
LD     M0.2
AN     I1.0
LD     I1.1
O      T37
ALD
TON    T37, +30
Network 4 
LD     T37
=      M1.1
Network 5 
LD     T37
AN     Q0.7
O      M0.6
=      Q0.6
Network 6 
LD     M1.1
O      Q0.6
=      Q0.5
Network 7 
LD     I0.4
LPS
A      I1.2
EU
LPS
AN     Q0.7
S      M1.3, 1
LPP
A      Q0.7
R      M1.3, 1
LPP
A      M1.3
=      Q0.7
Network 8 
LD     I0.0
AN     M0.5
AN     M0.6
=      M0.0
子程序2如下:

Network 1 
LD     Q1.1
AN     M1.6
AN     I0.1
LD     I0.2
AN     I0.3
OLD
O      M1.4
AN     Q0.1
AN     Q0.2
=      Q0.0
Network 2 
LD     I0.1
AN     M1.6
AN     I0.2
O      M0.3
O      M1.5
AN     Q0.0
AN     Q0.2
=      Q0.1
Network 3 
LD     I0.3
AN     M1.6
AN     I0.2
LPS
AN     T38
=      M0.3
LRD
TON    T38, +6000
LPP
A      T38
=      M0.1
Network 4 
LD     M0.1
O      Q0.2
AN     I0.4
O      M1.6
AN     Q0.1
AN     Q0.0
=      Q0.2
Network 5 
LD     I0.4
=      M0.2

问题补充:
以上是子程序,M0.6在OB1里面的。这样可以吗?谢谢

最佳答案

这位仁兄犯了一个很致命的问题,就是你没有在你的主程序中调用你的子程序。
在您的子程序中,你的I0.4即使导通了。也不会检测到M0.2这个点的状态值,因为你的子程序没有执行。
建议在您的Network 9中加入一个程序:
LD SM0.0
CALL: SBR_0:SBR0(这里要用你的子程序名)
这样您的NetWork3调用的M0.2才可以执行,T37才能实现定时,Q0.5,Q0.6才会有输出。

提问者对于答案的评价:
是的 。谢谢  还有一个问题就是怎么才能让,Q0.3 Q0.4运行完后,让q0.0运行,直到Q0.2运行完后再让,Q0.5 Q0.6运行,运行完后再到Q0.3 Q0.4运行循环呢?

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc219192.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年12月2日
下一篇 2017年12月2日

相关推荐