《電子技術應用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > OPC技術在CEMS監(jiān)控軟件中的應用

OPC技術在CEMS監(jiān)控軟件中的應用

2009-07-14
作者:郭昭烽,,程明霄

  摘? 要: 介紹了國內CEMS應用的現狀以及開發(fā)專用監(jiān)控軟件的必要性,。實踐表明,利用OPC技術開發(fā)監(jiān)控軟件不僅可以保證系統(tǒng)的穩(wěn)定性和可靠性,,還能提高系統(tǒng)的開放性和兼容性,,在監(jiān)控軟件開發(fā)領域具有良好的前景,。
??? 關鍵詞: OPC;CEMS,;監(jiān)控軟件,;環(huán)保

?

?? 煙氣在線連續(xù)排放監(jiān)測系統(tǒng)(CEMS)在我國熱電廠有廣泛的應用。CEMS作為環(huán)保監(jiān)測的重要手段通常需要為其他通訊軟件提供被監(jiān)測的數據,。CEMS是一個集成的系統(tǒng),,集成了不同廠家的設備,從而要求其監(jiān)控軟件的底層數據連接有一定的兼容性和開放性,。本文探討了一種使用OPC技術開發(fā)CEMS監(jiān)控軟件的方法,,可以解決上述問題。
1?CEMS概述及其在國內應用現狀
??? CEMS由采樣系統(tǒng),、測試系統(tǒng),、數據采集與處理系統(tǒng)組成,能完成采集并處理數據,、生成報表,、控制操作、監(jiān)測數據上傳等功能,。一般的CEMS中數據采集與處理系統(tǒng)主要由PLC,、工控機及相應的軟件組成,能自動監(jiān)測SO2,、NO,、CO、CO2及其他的有關參數,,如煙氣溫度,、濕度、煙氣流量,、壓力及含氧量等數據,。
??? 隨著近年來國家對環(huán)保工作的重視,CEMS作為一種環(huán)境監(jiān)測的重要手段,,在我國得到了迅速普及和推廣,,尤其在電廠等企業(yè)得到越來越多的應用,。但是得到環(huán)保部門認可的CEMS卻很少。這是因為:早期的CEMS與外部連接的數據傳輸接口上缺少統(tǒng)一的標準,, 各地CEMS廠家在CEMS數據標準和設計結構上采用不同的形式,, 使各自分散的數據資源彼此隔離, 無法進行信息交換和業(yè)務協(xié)同,,極大地影響了CEMS的系統(tǒng)建設和維護效率,。
2?CEMS監(jiān)控軟件的設計
??? CEMS監(jiān)控軟件不僅要直觀、動態(tài)地顯示整個測量過程和測量結果,,還必須為上級環(huán)保部門的數據通訊軟件提供數據,。雖然市面上有許多現成的通用組態(tài)軟件,如:組態(tài)王,、WINCC,、MCGS等,但是用來開發(fā)監(jiān)控軟件很難完全符合CEMS的數據傳輸要求,。例如:有些地方環(huán)保部門的數據通訊軟件以DLL,、UDP等方式提供接口,而通用組態(tài)軟件在底層的數據連接一般只是提供常用的接口,。因此,,自行開發(fā)具備通用數據接口的CEMS監(jiān)控軟件是十分必要的。
??? 在針對CEMS設計監(jiān)控軟件時,,需要充分了解現場所應用的CEMS 整體工作原理及其監(jiān)測流程,。從表面上看,,CEMS的監(jiān)控系統(tǒng)主要是從PLC 中采集數據或寫入數據,,十分簡單。但是,,由于CEMS 系統(tǒng)的特殊性,,監(jiān)控軟件還得完成一些其他的工作。如稀釋采樣CEMS 系統(tǒng)中,,其采樣管線中的每個探頭都依靠PLC程序或本身的電磁閥進行各種控制動作,,如:采樣、反吹,、校準,、維護等等。而且各個分析儀器的反吹和校準的請求各不相同,,所以必須準確無誤地區(qū)分開各個進程,。只有當各采樣探頭處于正常采樣時,它的數值才有效,,才能進報表,。另外,,為了保證系統(tǒng)的準確度,還需要校準報表,,知道每次校準時的各監(jiān)測量的零點漂移和全幅漂移等,。
??? 由于CEMS是一個集成系統(tǒng),因此在流量監(jiān)測儀,,氧氣檢測儀,,紅外檢測儀和控制PLC上通常會選用不同廠家的產品。CEMS要把不同的制造商的部件集成在一起需要為每個部件專門開發(fā)驅動或服務程序,, 還需要把這些由制造商提供的驅動或服務程序與應用程序聯系起來,。因此,實現通用的數據接口將成為CEMS監(jiān)控軟件開發(fā)中的一個關鍵問題,。
3? OPC技術在監(jiān)控軟件設計中的應用
3.1? OPC技術

  OPC提供了解決此類問題的方案,。
  OPC(OLE for Process Control,用于過程控制的OLE)是一種工業(yè)過程控制的標準,,這個標準定義了應用Microsoft操作系統(tǒng)在基于PC的服務器和客戶機之間交換實時數據的方法,。OPC是基于Microsoft 公司的DNA(Distributed Internet Application)構架和COM(Component Object Model)技術,根據易于擴展性而設計的,。它的目標是開發(fā)出一個開放的,、靈活的、即插即用的工業(yè)標準,,使用戶對解決方案擁有更大的選擇余地,,同時減少了硬件和軟件供應商的開發(fā)和維護費用。這個標準使得COM和DCOM技術適用于過程控制和制造自動化等應用領域[1],。OPC是以OLE/COM機制作為應用程序的通訊標準,, OLE/COM是一種客戶/服務器模式,具有語言無關性,、代碼重用性,、易于集成性等優(yōu)點。OPC規(guī)范了接口函數,,不管現場設備以何種形式存在,,客戶都以統(tǒng)一的方式去訪問,從而保證軟件對客戶的透明性,。
3.2? OPC Data Access規(guī)范
??? CEMS監(jiān)控軟件在數據的底層連接上采用了OPC技術,,就可以增強系統(tǒng)的兼容性和開放性??梢允褂肙PC服務器直接為上級環(huán)保部門的通信軟件提供數據,。而當監(jiān)控系統(tǒng)接入其他廠家的設備時,只要該廠家的產品同樣兼容OPC規(guī)范即可,不需要廠家提供獨立的驅動,,在監(jiān)測軟件上也不需要做任何變動,,體現了OPC數據存取規(guī)范的優(yōu)越性。
??? OPC 數據存取(Data Access)規(guī)范是提供給用戶訪問實時過程數據的方法,。在OPC數據訪問規(guī)范中,, 一個OPC 的數據存取服務器中包括幾類對象:服務器(OPC Server)、組(OPC Group)和項(OPC Item),。OPC服務器對象維護有關服務器的信息并作為OPC 組對象的包容器,, 而OPC組對象維護有關其自身的信息,提供包容OPC項的機制,, 并管理OPC項,。OPC組有2種類型:公共組(Public)和局部組(Local or Private)。公共組可以為多個客戶程序共享,,而局部組只為某一個客戶程序所有,。在每個組里, 客戶程序可以定義多個OPC項,,OPC項代表了與服務器里數據源的連接,。從定制接口(Custom Interface)角度來看, 一個OPC項不能被OPC客戶程序作為一個對象來進行操作,,因此,,在OPC項中沒有定義外部接口。所有對OPC項的操作都是利用OPC項的包容器(OPC組)或OPC項的定義來進行的,。每個OPC 項包含:值(Value),、品質(Quality)和時間標簽(Time Stamp)。值(Value)的類型是VARIANT,,品質的類型是SHORT[2],。
3.3? OPC客戶端子程序設計
??? 監(jiān)控軟件的OPC客戶端子程序的一般實現步驟:首先在客戶端注冊OPC服務器,并連接OPC服務器端,。在連接服務器成功后,,創(chuàng)建一個OPC數據組,。查詢數據庫的系統(tǒng)參數表,,得到CEMS的具體監(jiān)測點的信息,根據這些信息在OPC數據組中創(chuàng)建相對應的OPC數據項,。這時候將OPC客戶端句柄數組和OPC服務器端句柄數組等信息向OPC服務器提交連接請求,,設置OPC數據組的狀態(tài)為ACTIVE,即可以使用OPC數據組的DATACHANGE事件返回請求查詢的值,,程序流程如圖1所示,。

?


??? 以具體的廠商提供的OPC服務器為例,SIEMENS公司為其S7200系列PLC提供了SIMATIC PC ACCESS OPC SERVER。在安裝注冊該服務器后,,可以在軟件中通過引用SOPCDAAUTO.dll來使用,。在連接之后依次創(chuàng)建OPC GROUP和OPC ITEMS,通過對OPC ITEMS寫OPC CLIENTHANDLER(客戶端句柄)信息,,如:'MicroWin: 2:192.168.0.2:1000:1000,,Q0.0,BOOL,,RW,,0.00,0.00'即可通過PPI電纜或者以太網通信實現對PLC中Q0.0寄存器值的訪問,。以上客戶端句柄包含的訪問信息有:PPI電纜通信地址為2,;以太網IP地址為192.168.0.2;客戶端TSAP(通信連接地址)為1000,;服務器端TSAP為1000等,。隨后程序等待下次服務器返回,期間可響應客戶的操作斷開同OPC服務器的連接并關閉連接程序,。
??? 在得到OPC數據組DATACHANGE事件的返回值后,,數據采集以及存儲子程序將根據OPC CLIENTHANDLER和QUALITY 2個數組元素相對應的數組來判斷數據的傳輸質量。如,,傳輸質量為BAD或者GOOD或者UNKOWN等,。接下來就可以根據OPC CLIENTHANDLER和VALUE 2個數組為CEMS的各個監(jiān)測點返回測得值。具體結合CEMS中各個監(jiān)測點的工作狀態(tài),,按照CEMS標準的規(guī)定進行數據的篩選和有效的存儲,。
3.4? OPC客戶端程序在CEMS監(jiān)控軟件中的應用
3.4.1? 根據硬件配置服務器

??? 對于DLL服務器來說,這些行為是通過調用輸出函數Dll Register Server和Dll Unregister Server來實現的,。這2個函數都不帶參數,,返回1個HRESULT顯示結果。2個可能返回的錯誤代碼是SELFREGECLASS和SELFREGETYPELIB,,分別表示CLSID和類型庫信息的注冊或刪除的失敗(這2個代碼定義在OLECTL.H頭文件中),。
??? 如果服務器以EXE模塊的形式出現,對服務器進行注冊就要使用命令行參數/Reg Server或-Reg Server(區(qū)分大小寫),。如果要注銷服務器,,必須帶命令行參數/Unreg Server或-Unreg Server運行EXE模塊。自注冊EXE模塊檢測到命令行參數后,,引發(fā)相當于DLL服務器的Dll Register Server和Dll Unregister Server函數的行為,。
3.4.2? 數據存儲
??? 數據存儲工作的流程是:從OPC接口接收各監(jiān)測的數據,通過其數據處理程序根據預設的開關量返回值的組合判斷確定CEMS是否處于正??尚诺臄祿杉ぷ鳡顟B(tài),,并將采集的數據在臨時內存存儲(累加或者計算滑動平均值)。根據國家CEMS標準的數據存儲的特點,數據存儲程序采用系統(tǒng)時間跳變觸發(fā)的方法,,即只在系統(tǒng)分鐘跳變,、小時跳變等關鍵時間點上進行這些數據存儲操作,系統(tǒng)時間跳變是以判斷系統(tǒng)時間是否進入了下一個計時單位(如分鐘,、小時,、日等)來驅動程序進行數據存儲的操作。
3.4.3? 監(jiān)控顯示界面
??? 監(jiān)控軟件顯示界面使用SHOCKETWAVE FLASH控件,,以ADOBE FLASH PLAYER為編譯器,,利用SHOCKWAVE FLASH控件的FLASHVARS屬性,將現場變量采集點的信息從數據庫傳遞給界面動畫顯示SWF文件,,再使用DUPLICATEMOVIECLIP命令生成相應的控件并設置其坐標等其他屬性,,同時將OPC服務器返回的數據或數據庫歸檔的數據通過FLASHVARS屬性傳遞到界面動畫顯示SWF文件中,更新相應的控件顯示,,所述界面動畫顯示SWF文件可為SHOCKETWAVE FLASH控件的內部組件或外部用戶自定義顯示文件,。
??? 通過使用OPC技術開發(fā)CEMS監(jiān)控軟件的底層數據連接,可以提高CEMS的系統(tǒng)兼容性,,避免了需要根據不同廠家的硬件使用情況編寫定制軟件的問題,,同時也便于向其他軟件提供標準化的數據,簡化了配置硬件的操作,。通過引用廠商提供的OPC服務器接口,,并設置所需要的OPC變量,就可以根據這些變量信息在圖形化的顯示界面中引用OPC,,選擇狀態(tài)變量實現存儲和控制策略,。據此開發(fā)的監(jiān)控軟件已經在數家電廠正式使用,承擔了數據存儲和通信傳輸的重要工作,。實際檢驗來看,,具有相當可行性。


參考文獻
[1] 呂勇,,李友榮,,王志剛,等.基于OPC技術的設備遠程監(jiān)測與診斷系統(tǒng)[J].機械與電子,,2005(10):65-67.
[2] 蔡思文,,祁耀斌.OPC客戶端設計及其在監(jiān)控系統(tǒng)的應用[J].微計算機信息,2007,,23(5-1):150-200.
[3] 戴麗萍,,云格.CEMS在火電廠中的應用[J].中國儀器儀表,2007(5):1-6.
[4] 吳庚申.應用OPC接口實現S7-200PLC網絡與PC數據通訊[J].青島遠洋船員學院學報,,2006(4):80-90.
[5] 肖永華,葛海波,楊川,,等.電廠機組監(jiān)測系統(tǒng)的研究[J].繼電器,,2006(7).
[6] 漆全.電力監(jiān)測與控制系統(tǒng)組態(tài)軟件的設計與研究[D].武漢:武漢大學,2005.

本站內容除特別聲明的原創(chuàng)文章之外,,轉載內容只為傳遞更多信息,,并不代表本網站贊同其觀點。轉載的所有的文章,、圖片,、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯系確認版權者,。如涉及作品內容,、版權和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118,;郵箱:[email protected],。