化学辅机声光报警系统的监控设计
2012-10-19蒋勇薛莲
蒋勇,薛莲
(四川广安发电有限责任公司,四川 广安 638017)
1 问题的提出
四川广安发电有限责任公司(以下简称广安发电公司)是一个自动化程度很高的火力发电公司,公司总装机容量为2400 MW,分3期建设完成。
广安发电公司三期化学辅机采用可编程控制器PLC(Programmable Logic Controller)控制,由于种种原因,PLC上位机上没有设置语音报警,再加上岗位多、操作画面多、操作人员少且分散(每个岗位只有1人),造成几次漏酸、漏碱发现不及时的事故。利用广安发电公司多业务平台电脑和PI系统,用Excel制作了一个声光报警系统。将3个岗位的重要数据整合在一起监视,这样3个岗位3个人都能对别的岗位和自己岗位的数据进行监视并报警,提高了运行的可靠性。
2 PI系统概况
PI系统(Plant Information System)是由 OSIsoft公司开发的基于C/S和B/S结构的工厂实时数据集成、应用平台。PI系统以数据原形的方式长期在线储存工厂所有的生产数据,满足快速、高效地进行数据采集、存储和显示的要求。由于其功能卓越、性能可靠,在国、内外电厂信息化建设中获得了广泛的应用,在电力行业实时/历史数据库产品应用中占据了领导性的地位。
PI系统是一个直观显示企业生产过程的虚拟窗口。PI实时地获取各个实际数据源的原始生产数据,用户通过企业计算机可看到当前和历史的信息及数据。这些信息可按其原有的精度在线存储数年以备将来使用。
若要达到本文所述的声光报警效果,必须有PI系统,还需要1台安装Office Excel的多媒体电脑,才能具有制作简易声光报警系统的条件。
3 安装PI-Datalink,让Excel具备条件
首先在网站下载PI-Datalink进行安装,安装结束后,启动Excel 2003,点击工具→加载宏→浏览,在C:program filespipcexcel目录下找到pipc.xll将其选择导入出现下列窗口,如图1所示。
图1 加载宏PI-Datalink窗口
将PI-Datalink前的小勾勾上,再次启动Excel 2003时就会在菜单栏多出1个PI的菜单,如图2所示。
点击PI选择connections出现图3所示的窗口,右击空白区域选择Add Server添加1个服务器。
Excel表格的布局和制作这里不再赘述,仅介绍如何添加1个监视项目和如何用Excel自带的VB实现语音报警。
图2 PI菜单界面
选择1个表格,点击菜单上的PI,选择第1个Current Value,出现下列窗口,如图4所示。
点击Tagname后的小点,进入Tag Search点击Search按钮进行全部搜索,Tag的名字直接复制就可以了,如图5所示。
在图5中,作者添加的是1个广安发电公司三期制氢站原料水箱的液位。此时,表格里就会出现当前制氢站原料水箱的液位,若想知道这个数据是什么时间获取的,那么就在Current Value选择的时候将time at left勾选,这样,就会在数据左边出现获取这个数据的日期和时间。经观察,这个数据一直不会变化,双击一下表格,数据就刷新,当然,不能一直靠双击表格来刷新数据,要实现报警就必须要自动获取实时的数据,那么怎么实现自动获取实时数据呢?根据双击一下表格就能刷新数据的性质,利用Excel的VB编程就能实现自动获取数据。
图5 用搜索界面查找1个项目标签
4 用VB扩展表格的功能
进入Excel的Visual Basic编辑器,在工作表上点击右键添加1个模块并键入以下代码:
让F28加1,其实就是让个表格变化一下,相当于双击了一下表格,然后,又去执行runtimer,这里就建立了一个循环,从而让数据不断从PI服务器上更新。
播放声音文件alarm.wav,这里特别注意要想声音正常播放,声音文件必须和Excel文件放在同一个目录。
监测M2的数据是否大于G27的数据,如果是就执行mysound,G27的数据是设置的报警数据,比如设定制氢站原料水箱的报警水位是300 mm,那么,当M2小于300 mm时,就会出现语音报警。
模块的代码添加完毕后,回到Excel表中添加3个按钮,进入工作表的代码编辑并添加以下代码:
点击这个按钮后,执行 runtimer,这个按钮的Caption属性就为“开始监视”。
这个是测试按钮,点击这个按钮就执行 mysound播放alarm.wav,检查声音是否正常,避免无声音投入报警系统,这个按钮的Caption属性就为“测试声音”。
点击这个按钮关闭Excel程序,这个按钮的Caption属性就为“退出监视”。
当工作表发生改变后就执行myif来判断M2的数据是否小于G27的数据。
5 监视系统是如何工作的
Excel打开后,点击开始监视按钮,触发runtimer后执行add,再返回执行runtimer。随着F28不断加1,就不断从PI服务器上获取实时数据,不断写入实时数据就不断地让工作表Worksheet发生Change事件,就不断执行myif这个判断语句来检查是否达到报警值,从而实现语音报警。
6 最后的完善
作者制作的表格中只用了1个判断,即全部的报警值只有1个,只用监视所有数据的最大值,比如补水箱液位一般是300~600mm,报警值为300mm,而酸、碱罐液位一般表示都是1.36 m,数字位数不一样,怎么实现1个报警?其实很简单,用设置的补水箱液位报警值(比如是300 mm)减去PI上取得的实时数据600 mm,获得数值(-300),而设置的酸碱罐报警值1.37 m减去PI上取得的实时数据1.36 m,获得数值(0.01),设置这些数值由)J7:J25表格显示出来,通过M2来取最大值判断“=LARGE(J7:J25,1)”,就得到最大值0.01,酸罐液位异常并触发声音报警。从J7到J25和M2设置表格的条件格式,当<0.003时设置绿色,当>0.003时设置为橙色,当>0.010时设置为红色,并在 M3的单元格添加公式“=IF(J27<0.003,“目前系统稳定,无异常”,IF(J27 > 0.010,“系统异常,立即检查排除!!”,“系统有异常可能,请注意观察!!”))”,以提示目前系统状况是否稳定。这样,声光报警到此就全部实现了。
7 结束语
该例在 PI系统、Windows XP、Excel 2003下测试通过并在广安发电公司三期化学辅机中投入使用。
如果某单位安装有PI系统和1台多媒体电脑,那么完全可以用以上方法实现声光报警。这样,不仅能提高运行的安全经济性,还可以减少操作工作量。