发布于 2012-03-28 01:12:35
1楼
楼主:提供一个思路给你参考一下吧,可能会比用LAD实现起来简单些。
1、首先把50个阀门的开启限位信号的状态连续地赋到一个DB里面,不过还是有些麻烦;
比如:
A I 0.1
= DB11.DBX 0.0
A I 0.5
= DB11.DBX 0.1
A I 1.3
= DB11.DBX 0.2
A I 3.3
= DB11.DBX 0.4
//* .
//* .
//* .
A I 66.6
= DB11.DBX 6.1
2、如果阀门的开启信号不到位的状态为1,那么只要统计一下1的个数,如果大于等于4就输出报警;
比如:
L 0
T MW 100
OPN DB 11
LAR1 P#0.0
L 50
NEXT: T LW 20
A DBX [AR1,P#0.0]
JCN M001 //如果阀门的开启信号不到位的状态为0,将JCN改为JC
L MW 100
+ 1
T MW 100
M001: +AR1 P#0.1
L LW 20
LOOP NEXT
L MW 100
L 4
>=I
= Q 0.0 //报警输出
楼主:最后我想说:“S7-300的PLC功能是比较强大的,你遇到的问题,并不算瓶颈!”
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”