主要硬件组成:两组压力变送器(4~20mA输出)和电磁阀,CPU222,EM231。
目的:压力变送器4~20mA信号经过线形化分别存储在VD200,VD210中。我想在系统上电的时候做一些初始化工作:如果两个压力均高于设定下限值(VD710),则打开较低压力那一路上对应的电磁阀;如果两个压力一个高于设定值,一个低于设定值,则打开高于设定值那一路上的电磁阀;如果两个压力均低于设定值,则关闭两组电磁阀。
程序如下:
LD SM0.1
LPS
AR> PT1:VD200, PT2:VD210 //当PT1>=PT2>=ALM_PL的时候
LPS
AR>= PT2:VD210, ALM_PL:VD710
= EV1:Q0.1 //EV1上电关闭
NOT
= EV2:Q0.2 //EV2打开。使用BUDDLE 2
LPP
AR>= PT1:VD200, ALM_PL:VD710 // 当PT1>=ALM_PL>=PT2的时候
AR<= PT2:VD210, ALM_PL:VD710
= EV2:Q0.2 //EV2上电关闭
NOT
= EV1:Q0.1 //EV1处于打开状态。使用BUDDLE 1
LRD
AR< PT1:VD200, PT2:VD210 //当PT2>=PT1>=ALM_PL的时候
LPS
AR>= PT1:VD200, ALM_PL:VD710
= EV2:Q0.2 //EV2上电关闭
NOT
= EV1:Q0.1 //EV1处于打开状态,使用BUDDLE 1
LPP
AR>= PT2:VD210, ALM_PL:VD710 //如果PT2>ALM_PL>PT1
AR<= PT1:VD200, ALM_PL:VD710
= EV1:Q0.1 //EV1上电关闭
NOT
= EV2:Q0.2 //EV2处于打开状态,使用BUDDLE 2
LPP
AR< PT1:VD200, ALM_PL:VD710 //如果PT1,PT2均低于报警下限值,则输出报警到Q0.5,Q0.6
AR< PT2:VD210, ALM_PL:VD710
= EV11:Q0.3
= EV22:Q0.4
NOT //同时关闭EV1和EV2。供气系统停止运行。
= EV1:Q0.1
= EV2:Q0.2
问题,此段程序不能够完成我想达到的目的,请大家帮我分析一下到底什么问题,不胜感激~
问题补充:
Q0.5和Q0.6用作报警输出。上述没有表达清楚。
此段程序主要目的用来选择一组钢瓶使用,上电时选择一组压力比较低但高于设定值的钢瓶使用。
在使用过程中,后续程序会继续扫描压力,然后根据压力状况作出切换
请教SG9:那我这段程序怎么写才合理呢?
能不能给出例子程序,完成此功能
最佳答案
这就是你在一个网络里重复对Q0.1、Q0.2输出造成的。
Network 1 // 网络标题
// 网络注释
LD SM0.1
LPS
AR> VD200, VD210 //当PT1>=PT2>=ALM_PL的时候
LPS
AR>= VD210, VD710
= M0.1 //EV1上电关闭
NOT
= M0.2 //EV2打开。使用BUDDLE 2
LPP
AR>= VD200, VD710 // 当PT1>=ALM_PL>=PT2的时候
AR<= VD210, VD710
= M0.4 //EV2上电关闭
NOT
= M0.3 //EV1处于打开状态。使用BUDDLE 1
LRD
AR< VD200, VD210 //当PT2>=PT1>=ALM_PL的时候
LPS
AR>= VD200, VD710
= M0.6 //EV2上电关闭
NOT
= M0.5 //EV1处于打开状态,使用BUDDLE 1
LPP
AR>= VD210, VD710 //如果PT2>ALM_PL>PT1
AR<= VD200, VD710
= M1.1 //EV1上电关闭
NOT
= M1.2 //EV2处于打开状态,使用BUDDLE 2
LPP
AR< VD200, VD710 //如果PT1,PT2均低于报警下限值,则输出报警到Q0.5,Q0.6
AR< VD210, VD710
= Q0.3
= Q0.4
NOT //同时关闭EV1和EV2。供气系统停止运行。
= M1.3
= M1.4
Network 2
LD M0.1
O M0.3
O M0.5
O M1.1
O M1.3
S Q0.1, 1
Network 3
LD M0.2
O M0.4
O M0.6
O M1.2
O M1.4
S Q0.2 ,1
提问者对于答案的评价:
虽然你修改后的程序不能够使用,不过还是给了我很多提示,按照这种思路,重新修改了程序。现在可以实现此功能了。
SG9:同样非常感谢你的回答,你的回答可以说是字字真金。不过在我没有搞明白这个问题之前,我很难领悟到你所讲的。
cloud21 & 雨文: 也非常谢谢你们的回答。我这个系统在实际使用过程中,可能会遇到断电之类的情况。而且断电后气体仍然会使用,不能够按最后一次正确状态来确定上电后的输出。所以必须有这么一段初始化程序。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc357602.html