蔣勇,薛蓮
(四川廣安發(fā)電有限責任公司,四川 廣安 638017)
四川廣安發(fā)電有限責任公司(以下簡稱廣安發(fā)電公司)是一個自動化程度很高的火力發(fā)電公司,公司總裝機容量為2400 MW,分3期建設完成。
廣安發(fā)電公司三期化學輔機采用可編程控制器PLC(Programmable Logic Controller)控制,由于種種原因,PLC上位機上沒有設置語音報警,再加上崗位多、操作畫面多、操作人員少且分散(每個崗位只有1人),造成幾次漏酸、漏堿發(fā)現(xiàn)不及時的事故。利用廣安發(fā)電公司多業(yè)務平臺電腦和PI系統(tǒng),用Excel制作了一個聲光報警系統(tǒng)。將3個崗位的重要數(shù)據(jù)整合在一起監(jiān)視,這樣3個崗位3個人都能對別的崗位和自己崗位的數(shù)據(jù)進行監(jiān)視并報警,提高了運行的可靠性。
PI系統(tǒng)(Plant Information System)是由 OSIsoft公司開發(fā)的基于C/S和B/S結(jié)構(gòu)的工廠實時數(shù)據(jù)集成、應用平臺。PI系統(tǒng)以數(shù)據(jù)原形的方式長期在線儲存工廠所有的生產(chǎn)數(shù)據(jù),滿足快速、高效地進行數(shù)據(jù)采集、存儲和顯示的要求。由于其功能卓越、性能可靠,在國、內(nèi)外電廠信息化建設中獲得了廣泛的應用,在電力行業(yè)實時/歷史數(shù)據(jù)庫產(chǎn)品應用中占據(jù)了領導性的地位。
PI系統(tǒng)是一個直觀顯示企業(yè)生產(chǎn)過程的虛擬窗口。PI實時地獲取各個實際數(shù)據(jù)源的原始生產(chǎn)數(shù)據(jù),用戶通過企業(yè)計算機可看到當前和歷史的信息及數(shù)據(jù)。這些信息可按其原有的精度在線存儲數(shù)年以備將來使用。
若要達到本文所述的聲光報警效果,必須有PI系統(tǒng),還需要1臺安裝Office Excel的多媒體電腦,才能具有制作簡易聲光報警系統(tǒng)的條件。
首先在網(wǎng)站下載PI-Datalink進行安裝,安裝結(jié)束后,啟動Excel 2003,點擊工具→加載宏→瀏覽,在C:program filespipcexcel目錄下找到pipc.xll將其選擇導入出現(xiàn)下列窗口,如圖1所示。

圖1 加載宏PI-Datalink窗口
將PI-Datalink前的小勾勾上,再次啟動Excel 2003時就會在菜單欄多出1個PI的菜單,如圖2所示。
點擊PI選擇connections出現(xiàn)圖3所示的窗口,右擊空白區(qū)域選擇Add Server添加1個服務器。
Excel表格的布局和制作這里不再贅述,僅介紹如何添加1個監(jiān)視項目和如何用Excel自帶的VB實現(xiàn)語音報警。

圖2 PI菜單界面
選擇1個表格,點擊菜單上的PI,選擇第1個Current Value,出現(xiàn)下列窗口,如圖4所示。
點擊Tagname后的小點,進入Tag Search點擊Search按鈕進行全部搜索,Tag的名字直接復制就可以了,如圖5所示。
在圖5中,作者添加的是1個廣安發(fā)電公司三期制氫站原料水箱的液位。此時,表格里就會出現(xiàn)當前制氫站原料水箱的液位,若想知道這個數(shù)據(jù)是什么時間獲取的,那么就在Current Value選擇的時候?qū)ime at left勾選,這樣,就會在數(shù)據(jù)左邊出現(xiàn)獲取這個數(shù)據(jù)的日期和時間。經(jīng)觀察,這個數(shù)據(jù)一直不會變化,雙擊一下表格,數(shù)據(jù)就刷新,當然,不能一直靠雙擊表格來刷新數(shù)據(jù),要實現(xiàn)報警就必須要自動獲取實時的數(shù)據(jù),那么怎么實現(xiàn)自動獲取實時數(shù)據(jù)呢?根據(jù)雙擊一下表格就能刷新數(shù)據(jù)的性質(zhì),利用Excel的VB編程就能實現(xiàn)自動獲取數(shù)據(jù)。



圖5 用搜索界面查找1個項目標簽
進入Excel的Visual Basic編輯器,在工作表上點擊右鍵添加1個模塊并鍵入以下代碼:

讓F28加1,其實就是讓個表格變化一下,相當于雙擊了一下表格,然后,又去執(zhí)行runtimer,這里就建立了一個循環(huán),從而讓數(shù)據(jù)不斷從PI服務器上更新。

播放聲音文件alarm.wav,這里特別注意要想聲音正常播放,聲音文件必須和Excel文件放在同一個目錄。

監(jiān)測M2的數(shù)據(jù)是否大于G27的數(shù)據(jù),如果是就執(zhí)行mysound,G27的數(shù)據(jù)是設置的報警數(shù)據(jù),比如設定制氫站原料水箱的報警水位是300 mm,那么,當M2小于300 mm時,就會出現(xiàn)語音報警。
模塊的代碼添加完畢后,回到Excel表中添加3個按鈕,進入工作表的代碼編輯并添加以下代碼:

點擊這個按鈕后,執(zhí)行 runtimer,這個按鈕的Caption屬性就為“開始監(jiān)視”。

這個是測試按鈕,點擊這個按鈕就執(zhí)行 mysound播放alarm.wav,檢查聲音是否正常,避免無聲音投入報警系統(tǒng),這個按鈕的Caption屬性就為“測試聲音”。

點擊這個按鈕關閉Excel程序,這個按鈕的Caption屬性就為“退出監(jiān)視”。

當工作表發(fā)生改變后就執(zhí)行myif來判斷M2的數(shù)據(jù)是否小于G27的數(shù)據(jù)。
Excel打開后,點擊開始監(jiān)視按鈕,觸發(fā)runtimer后執(zhí)行add,再返回執(zhí)行runtimer。隨著F28不斷加1,就不斷從PI服務器上獲取實時數(shù)據(jù),不斷寫入實時數(shù)據(jù)就不斷地讓工作表Worksheet發(fā)生Change事件,就不斷執(zhí)行myif這個判斷語句來檢查是否達到報警值,從而實現(xiàn)語音報警。
作者制作的表格中只用了1個判斷,即全部的報警值只有1個,只用監(jiān)視所有數(shù)據(jù)的最大值,比如補水箱液位一般是300~600mm,報警值為300mm,而酸、堿罐液位一般表示都是1.36 m,數(shù)字位數(shù)不一樣,怎么實現(xiàn)1個報警?其實很簡單,用設置的補水箱液位報警值(比如是300 mm)減去PI上取得的實時數(shù)據(jù)600 mm,獲得數(shù)值(-300),而設置的酸堿罐報警值1.37 m減去PI上取得的實時數(shù)據(jù)1.36 m,獲得數(shù)值(0.01),設置這些數(shù)值由)J7:J25表格顯示出來,通過M2來取最大值判斷“=LARGE(J7:J25,1)”,就得到最大值0.01,酸罐液位異常并觸發(fā)聲音報警。從J7到J25和M2設置表格的條件格式,當<0.003時設置綠色,當>0.003時設置為橙色,當>0.010時設置為紅色,并在 M3的單元格添加公式“=IF(J27<0.003,“目前系統(tǒng)穩(wěn)定,無異常”,IF(J27 > 0.010,“系統(tǒng)異常,立即檢查排除!!”,“系統(tǒng)有異常可能,請注意觀察!!”))”,以提示目前系統(tǒng)狀況是否穩(wěn)定。這樣,聲光報警到此就全部實現(xiàn)了。
該例在 PI系統(tǒng)、Windows XP、Excel 2003下測試通過并在廣安發(fā)電公司三期化學輔機中投入使用。
如果某單位安裝有PI系統(tǒng)和1臺多媒體電腦,那么完全可以用以上方法實現(xiàn)聲光報警。這樣,不僅能提高運行的安全經(jīng)濟性,還可以減少操作工作量。