子程序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