回复:高手指点,请教#M_DEF指什么,帮理解下S7-300PLC程序

老学童

  • 帖子

    765
  • 精华

    32
  • 被关注

    64

论坛等级:奇侠

注册时间:2011-06-22

钻石 钻石 如何晋级?

发布于 2013-10-09 15:08:39

6楼

quote:以下是引用coco321在2013-10-09 14:17:09的发言:
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、确实,这段程序是法国人写的,我好奇你是怎么看出来的 呵呵。。真是牛人啊。。。。

楼主,
1. “为什么要串入#M_DEF的常闭点”就是“互锁”,例如: 在MESSAGE_21 = 1之前,能流可以通过前面的#M_DEF常闭点,当然此时其它报警前面的#M_DEF常闭点也是可以通过的,这样,当
A(
O "STP662"
O "STP663"
ON "TMST"
)
其中一个条件成立,就会输出报警“MESSAGE_21 ”,并且将#M_DEF置位(=1),这样所有其它报警条件后面的#M_DEF常闭点就断开了,因此,即使由于“MESSAGE_21 ”的连锁反应产生了其它报警条件成立,也都被#M_DEF“阻挡”而不能输出(因为此时#M_DEF常闭点已经断开了);
2. 与问题1相同;
3. 因为程序中有很多拉丁语的缩写:
EV = Electro Valvola (电磁阀)
ACQ = ACQua (水)
ALARME = ALARM (报警)等等
祝工作快乐!
人的生命似洪水在奔流,不遇着岛屿、暗礁,难以激起美丽的浪花。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。