quote:以下是引用老学童在2013-10-08 18:21:12的发言:
楼主,从提供的程序大致可以分析并得出以下信息:
1. 此程序用于判断并输出某项功能相应的几个报警信息;
2. 既然要输出报警信息,那么就要确定哪个故障首先发生,因为,往往一个故障发生后会引起一连串的连锁反应并导致其它故障提示,这样,使用者就分不清到底哪个是故障的元凶;
3. Network 1用于初始化,将所有与故障报警相关的变量复位,当然包括#M_DEF;
4. 而后面的Network 2,3,4用于针对各种故障条件分别进行判断,并用#M_DEF来控制报警输出,例如: 如果MESSAGE_21 = 1,则将#M_DEF也同时置位(S #M_DEF),这样其它受此故障牵连引起的后续报警就不允许再输出了。
5. 程序是意大利或西班牙人写的(哈哈...题外话),跟某种水阀控制有关!
结论:
#M_DEF是该功能块用于“互锁”几个报警信息输出的一个临时变量,并且
M表示Message(信息,提示或报警)
DEF表示DEFine (确定,下定义)
但愿我的推断符合你的程序逻辑!
十分感谢!!
还有2个问题:
1、问下,在network2\3\4中,可以看到:为什么要串入#M_DEF的常闭点,并且紧接着置位#M_DEF呢?
2、您提到的“例如: 如果MESSAGE_21 = 1,则将#M_DEF也同时置位(S #M_DEF),这样其它受此故障牵连引起的后续报警就不允许再输出了。” 为什么就吧允许再输出了,能举例子是如何实现的吗?我对这段程序还是不很理解。
3、确实,这段程序是法国人写的,我好奇你是怎么看出来的 呵呵。。真是牛人啊。。。。