技术论坛

 回复:在S7-300程序中做一个类式电气的消声程序

返回主题列表
作者 主题
笑眯眼
游侠

经验值: 359
发帖数: 142
精华帖: 0
楼主    2012-02-08 09:47:06
主题:在S7-300程序中做一个类式电气的消声程序(声光报警)
各位师兄师姐你们好, 我是新手, 请教一个问题就是: 怎么做一个程序能像电气那样的有消声功能,
具体情况是这样的: 从I0.0- I0.7都是常开报警输入, Q0.0外接一个蜂鸣器, I1.0外接一个自复位按钮. 如果I0.0有报警输入, 蜂鸣器响, 按一下按钮, 蜂鸣器停止响, 再来一路报警I0.2, 蜂鸣器再一次响起, 再按一下按钮, 蜂鸣器又停止响应. 以此类推.

请问这个小程序怎么处理, 谢谢啊
Zane
至圣

经验值: 76112
发帖数: 19121
精华帖: 378
34楼    2012-02-18 00:55:59
主题:回复:在S7-300程序中做一个类式电气的消声程序
quote:以下是引用n次看你的背影在2012-02-17 09:55:30的发言:
quote:以下是引用Zane在2012-02-17 00:53:19的发言:
quote:以下是引用n次看你的背影在2012-02-16 11:31:25的发言:
quote:以下是引用Zane在2012-02-16 00:33:27的发言:
quote:以下是引用n次看你的背影在2012-02-15 11:46:31的发言:
呵呵,如果有几千、上万个报警,我到建议做一个专门处理过程报警的FC,并且也把与上位的接口也做在其中,这样做结构清晰,需要增加时,复制一个FC修改一下实参就可以了,扩展容易,维护简单!可参考贴图:




说得太轻松了点,照你的做法,256个报警也得修改32次吧?

有木有开个数据块,无论多少报警一次搞掂的?


呵呵,向“组织”汇报^_^,处理这么多数据,当然要开个数据块哈;在真实项目中,在程序中报警信息是离散的,不可能一次处理完,还是需要有策略地去处理:“分批重复处理”。呵呵,其实做这个过程报警(PROALARM)FC的时候并不轻松,比较烦,是个很枯燥的活儿,考虑的事情也是比较多的。比如是状态0报警还是状态1报警(报警类型)、报警的确认、报警是被确认过的还是刚发生的(静态还是动态)、报警通道开启和关闭、报警收集、整理、打包存到一起(送给上位)、还要考虑FC的可移植性........代码写好测试好就能用了。等用的时候确实就轻松了(先苦后甜)^_^,就是重复调用赋实参的活儿。汇报完毕,版主深夜指点,不甚感激!不足之处还请Zane班和大家指正。


照你这么做,做出来也运行不起来啊,不能喧宾夺主啊 。
简单点:
1.不用考虑报警标志位的置位与复位,只考虑检测报警标志位,任意多条。
2.有新报警到,报警等亮,报警声响;报警不消除,灯不能灭;报警声可灭,新报警重新激发;
3.按复位按钮,报警位不消除,灯不能灭(也不允许闪断);如果报警位已消除,可消声。
4.按消声按钮仅能消声
5.程序的输入1.报警位数据块2.复位按钮3.消音按钮;输出1.灯报警 2.声报警(不允许其他的变量)

有空的人开动下脑子玩玩吧?


呵呵,这个块在多台S7的机器里面安全、准确、稳定地运行10年了,从来就没有出现过Zane班所担心和忧虑的情况,无需杞人忧天。呵呵,那些东西都老掉牙的东西了,还有什么玩头?

我不说吧,你的表现犹如菜鸟,我说了吧,你又说老掉牙的玩意儿了,不管掉不掉牙,亮亮你的本事吧,冬日的表现我就很赞赏,也让大家学习学习嘛?
Zane 注册自动化系统工程师 Always save before download
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。