李福先,楊亮亮
(1.武漢數(shù)字工程研究所,湖北 武漢 430074;2.浙江理工大學(xué),浙江 杭州 310018)
在一個(gè)現(xiàn)代化的大型風(fēng)電場(chǎng)中,有效地監(jiān)視和控制各風(fēng)力發(fā)電機(jī)組的狀態(tài),保證整個(gè)風(fēng)電場(chǎng)安全、可靠、經(jīng)濟(jì)地運(yùn)行至關(guān)重要。近年來(lái)在風(fēng)電行業(yè)得到廣泛應(yīng)用的監(jiān)控與數(shù)據(jù)采集(SCADA)系統(tǒng)為解決大規(guī)模風(fēng)電場(chǎng)的發(fā)電機(jī)組的系統(tǒng)監(jiān)控提供了基本的技術(shù)途徑,但傳統(tǒng)的SCADA系統(tǒng)既存在與不同廠商的硬件設(shè)備之間通訊接口協(xié)議不一致的難題,又存在跨平臺(tái)和提升網(wǎng)絡(luò)通信能力的瓶頸,給系統(tǒng)設(shè)計(jì)、優(yōu)化、擴(kuò)展帶來(lái)不便。而OPC接口既能通過(guò)網(wǎng)絡(luò)把風(fēng)機(jī)控制設(shè)備的原始數(shù)據(jù)提供給人機(jī)接口、歷史數(shù)據(jù)庫(kù)等應(yīng)用程序,也適用于應(yīng)用程序和物理設(shè)備的直接連接,具有接口標(biāo)準(zhǔn)的高度柔軟性,有效地解決了硬件廠商和軟件開(kāi)發(fā)商之間通訊接口標(biāo)準(zhǔn)兼容的問(wèn)題。本文提出了一種基于OPC-XML-DA規(guī)范、在Internet環(huán)境下以Web服務(wù)層為監(jiān)控系統(tǒng)中間層的B/S(瀏覽器/服務(wù)器)模式的風(fēng)力發(fā)電機(jī)組遠(yuǎn)程監(jiān)控系統(tǒng)方案,既解決了風(fēng)機(jī)控制硬件設(shè)備通訊接口協(xié)議兼容的問(wèn)題,又增強(qiáng)了風(fēng)電遠(yuǎn)程監(jiān)控系統(tǒng)跨平臺(tái)、網(wǎng)絡(luò)通信的能力,并在1MW風(fēng)力發(fā)電機(jī)組遠(yuǎn)程監(jiān)控系統(tǒng)中成功應(yīng)用。
OPC是一個(gè)用于訪問(wèn)過(guò)程數(shù)據(jù)的標(biāo)準(zhǔn)化接口,它基于微軟的COM/DCOM,并在自動(dòng)化領(lǐng)域訪問(wèn)數(shù)據(jù)時(shí)根據(jù)需求將其擴(kuò)展。OPC技術(shù)采用C/S模式,用于客戶(hù)程序和服務(wù)器之間的數(shù)據(jù)通信,把開(kāi)發(fā)訪問(wèn)接口的任務(wù)放在硬件生產(chǎn)廠家或第三方廠家,以O(shè)PC服務(wù)器的形式提供給用戶(hù),解決了軟、硬件廠商的矛盾,完成了系統(tǒng)的集成,提高了系統(tǒng)的開(kāi)放性和可互操作性。它具有語(yǔ)言無(wú)關(guān)性、代碼重用性、易于集成性等優(yōu)點(diǎn)[1,2]。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和風(fēng)電行業(yè)管理系統(tǒng)對(duì)風(fēng)電機(jī)組監(jiān)控要求的提高,基于COM技術(shù)的OPC標(biāo)準(zhǔn)開(kāi)始無(wú)法滿(mǎn)足要求。為此,OPC基金會(huì)正式發(fā)布了OPC XML-DA規(guī)范1.0版[3]。OPC XML-DA規(guī)范建立在OPC DA基礎(chǔ)上,重點(diǎn)定義在數(shù)據(jù)訪問(wèn)規(guī)范上,用于將OPC數(shù)據(jù)向Internet上的應(yīng)用程序開(kāi)放。OPC XML-DA既兼容了原有OPC DA提供的不用開(kāi)發(fā)專(zhuān)門(mén)通信軟件就可以訪問(wèn)設(shè)備的優(yōu)勢(shì),又能輕松實(shí)現(xiàn)遠(yuǎn)程和跨平臺(tái)數(shù)據(jù)的交換。該規(guī)范基于XML的Web Senrice技術(shù)。Web Service主要提供通過(guò)網(wǎng)絡(luò)直接獲取各種服務(wù)的接口,并通過(guò)標(biāo)準(zhǔn)的網(wǎng)絡(luò)協(xié)議提供給網(wǎng)絡(luò)用戶(hù),在Intemet任何節(jié)點(diǎn)、任何平臺(tái)上的應(yīng)用程序只要符合Web Service的標(biāo)準(zhǔn)都可以從它的公共接口獲取服務(wù),便于不同的應(yīng)用程序在Internet上共享和交換數(shù)據(jù)[4]。
本文提出的基于OPC-XML-DA規(guī)范、以Web服務(wù)層為監(jiān)控系統(tǒng)中間層的B/S模式的風(fēng)力發(fā)電機(jī)組遠(yuǎn)程監(jiān)控系統(tǒng)框圖如圖1所示。該方案實(shí)現(xiàn)了瀏覽器或客戶(hù)端應(yīng)用程序通過(guò)Intemet對(duì)OPC服務(wù)器的訪問(wèn),可實(shí)時(shí)地讀取機(jī)組的數(shù)據(jù)、發(fā)布機(jī)組控制指令。
圖1 基于OPC-XML-DA的B/S模式風(fēng)力發(fā)電機(jī)組遠(yuǎn)程監(jiān)控系統(tǒng)
系統(tǒng)采用三層B/S架構(gòu)。應(yīng)用層的OPC DA客戶(hù)為基于COM/DCOM的客戶(hù)端應(yīng)用程序,OPC XML-DA客戶(hù)為IE瀏覽器,操作者通過(guò)HTTP向Web服務(wù)器發(fā)送XML文件請(qǐng)求,Web服務(wù)器接收到該請(qǐng)求后,將XML文件傳送給客戶(hù)瀏覽器,瀏覽器閱讀頁(yè)面并顯示出來(lái)。
業(yè)務(wù)邏輯層的Web服務(wù)器主要用來(lái)接受客戶(hù)端的響應(yīng),從實(shí)時(shí)數(shù)據(jù)庫(kù)中讀取風(fēng)機(jī)實(shí)時(shí)狀態(tài)數(shù)據(jù),發(fā)布到瀏覽器上供監(jiān)控操作者查看,將收到的客戶(hù)端的控制信息存入實(shí)時(shí)數(shù)據(jù)庫(kù),供OPC應(yīng)用服務(wù)器提取;OPC應(yīng)用服務(wù)器主要功能是通過(guò)OPC標(biāo)準(zhǔn)接口從OPC服務(wù)器采集數(shù)據(jù),根據(jù)用戶(hù)需要對(duì)數(shù)據(jù)進(jìn)行處理,既能通過(guò)ODBC把數(shù)據(jù)送人實(shí)時(shí)數(shù)據(jù)庫(kù)中,又可以通過(guò)ODBC從實(shí)時(shí)數(shù)據(jù)庫(kù)中讀取來(lái)自遠(yuǎn)程瀏覽器端的控制信息,并對(duì)這些控制信息進(jìn)行判斷,然后通過(guò)OPC標(biāo)準(zhǔn)接口將修改的參數(shù)值等控制信息遞交到OPC服務(wù)器中,OPC服務(wù)器再將控制信息傳遞給風(fēng)機(jī)控制器;OPC服務(wù)器既執(zhí)行整個(gè)系統(tǒng)的控制策略、協(xié)調(diào)管理數(shù)據(jù)服務(wù)層,又處理風(fēng)機(jī)控制器向OPC應(yīng)用服務(wù)器的各種請(qǐng)求。
數(shù)據(jù)服務(wù)層用于實(shí)現(xiàn)風(fēng)電機(jī)組數(shù)據(jù)源查詢(xún)更新,事務(wù)管理,高速緩存,安全及多用戶(hù)存取控制等,并以統(tǒng)一的格式向OPC應(yīng)用服務(wù)器提供訂閱風(fēng)電機(jī)組的實(shí)時(shí)數(shù)據(jù)和歷史數(shù)據(jù)。
該B/S模式的架構(gòu)便于遠(yuǎn)程監(jiān)控客戶(hù)端用Web瀏覽器,向Web服務(wù)器發(fā)送各種請(qǐng)求,接收所需的網(wǎng)頁(yè),不需要與后臺(tái)數(shù)據(jù)庫(kù)連接,而遠(yuǎn)程監(jiān)控中心建立的后臺(tái)數(shù)據(jù)庫(kù)可專(zhuān)門(mén)用來(lái)存儲(chǔ)、統(tǒng)計(jì)、查詢(xún)發(fā)電機(jī)組歷史數(shù)據(jù),擬合風(fēng)電參數(shù)歷史曲線、描繪風(fēng)電系統(tǒng)要求反應(yīng)的圖形和歷史趨勢(shì)。這樣,遠(yuǎn)程監(jiān)控系統(tǒng)各層內(nèi)部的參數(shù)修改、完善不會(huì)影響監(jiān)控中心整個(gè)系統(tǒng)的使用,提高了系統(tǒng)的可靠性、靈活性和可維護(hù)性。
B/S架構(gòu)中數(shù)據(jù)服務(wù)層的OPC服務(wù)器主要用來(lái)讀取/寫(xiě)入數(shù)據(jù)從風(fēng)電機(jī)組控制器PLC/到OPC應(yīng)用服務(wù)器,通過(guò)它瀏覽器客戶(hù)端或客戶(hù)端應(yīng)用程序?qū)崿F(xiàn)對(duì)機(jī)組控制器操作指令的下達(dá)和緩存區(qū)數(shù)據(jù)的讀取分析。針對(duì)風(fēng)電機(jī)組遠(yuǎn)程監(jiān)控系統(tǒng)的特點(diǎn),實(shí)現(xiàn)的1 MW風(fēng)電機(jī)組B/S模式遠(yuǎn)程監(jiān)控系統(tǒng)的OPC服務(wù)器架構(gòu)如圖2所示。
圖2 1MWB/S模式風(fēng)電機(jī)組遠(yuǎn)程監(jiān)控系統(tǒng)OPC服務(wù)器架構(gòu)
風(fēng)電機(jī)組的控制程序被下載到PLC控制器時(shí),會(huì)生成一個(gè)符號(hào)文件,該文件被存入OPC網(wǎng)關(guān)服務(wù)器。符號(hào)文件包含條目信息,一個(gè)條目嚴(yán)格對(duì)應(yīng)一個(gè)風(fēng)機(jī)參數(shù)變量,利用這些條目可調(diào)用控制器中的風(fēng)機(jī)參數(shù)變量值。OPC服務(wù)器從網(wǎng)關(guān)服務(wù)器中請(qǐng)求符號(hào)文件的內(nèi)容后生成一個(gè)條目列表,條目列表會(huì)在控制器定義的時(shí)間間隔內(nèi)被更新。讀取和寫(xiě)入風(fēng)機(jī)參數(shù)變量值的使用取決于被設(shè)為“激活的”條目的數(shù)量。OPC服務(wù)器支持?jǐn)?shù)據(jù)分組,分為由OPC服務(wù)器分配的“公共組”和由一個(gè)客戶(hù)端組成的“私有組”。如果在配置中激活相應(yīng)的選項(xiàng),OPC服務(wù)器將條目分組成智能塊,每個(gè)塊生成一個(gè)“公共組”,在客戶(hù)端中可按需求將獨(dú)立的條目組合成“私有組”,“私有組”可根據(jù)它們是否被訪問(wèn)這一命令去激活或取消激活特定的變量組,OPC服務(wù)器可同時(shí)讀取所有變量。OPC服務(wù)器不是一個(gè)被動(dòng)的子程序庫(kù),而是一個(gè)在客戶(hù)端與服務(wù)器之間建立連接時(shí)被啟動(dòng)的可執(zhí)行程序[5]。當(dāng)啟動(dòng)客戶(hù)端瀏覽器或客戶(hù)端軟件并建立通訊時(shí),OPC服務(wù)器自動(dòng)啟動(dòng),從條目列表中選擇相應(yīng)的風(fēng)機(jī)參數(shù)變量。設(shè)計(jì)客戶(hù)端軟件時(shí)須優(yōu)化通訊,將條目分到獨(dú)立的組中,這些組以一種方式定義,且只包含必須同時(shí)被更新的條目,這些組只在需要時(shí)被激活。瀏覽器客戶(hù)端或客戶(hù)端應(yīng)用程序根據(jù)監(jiān)測(cè)和控制風(fēng)機(jī)狀態(tài)參數(shù)的需要來(lái)指定條目,通過(guò)Web服務(wù)器、OPC應(yīng)用服務(wù)器和OPC服務(wù)器來(lái)操作發(fā)電機(jī)組控制器,實(shí)現(xiàn)對(duì)機(jī)組的數(shù)據(jù)監(jiān)測(cè)和指令控制。
圖3 客戶(hù)端應(yīng)用程序與OPC服務(wù)器的部分通訊數(shù)據(jù)
實(shí)現(xiàn)的1 MW風(fēng)電機(jī)組遠(yuǎn)程監(jiān)控系統(tǒng)與機(jī)組控制器通訊成功后,客戶(hù)端應(yīng)用程序與OPC服務(wù)器的部分通訊數(shù)據(jù)如圖3所示。該遠(yuǎn)程監(jiān)控系統(tǒng)綜合實(shí)現(xiàn)了風(fēng)電機(jī)組的數(shù)據(jù)采集、記錄備份,數(shù)據(jù)的組織、數(shù)據(jù)關(guān)系的建立,機(jī)組的控制,故障報(bào)警指示與分類(lèi)查詢(xún),報(bào)表圖形曲線、系統(tǒng)安全、分布式網(wǎng)絡(luò)管理等功能。
基于OPC-XML-DA規(guī)范、以Web服務(wù)層為監(jiān)控系統(tǒng)中間層的B/S模式的風(fēng)力發(fā)電機(jī)組遠(yuǎn)程監(jiān)控系統(tǒng)解決了風(fēng)機(jī)控制設(shè)備硬件之間通訊接口協(xié)議不一致的問(wèn)題,完成了分散在風(fēng)電場(chǎng)的機(jī)組控制系統(tǒng)間的數(shù)據(jù)共享、各子控制系統(tǒng)控制指令的協(xié)調(diào),實(shí)現(xiàn)了跨平臺(tái)地對(duì)風(fēng)電機(jī)組的遠(yuǎn)程監(jiān)測(cè)控制、數(shù)據(jù)采集、參數(shù)調(diào)節(jié)以及事故報(bào)警等功能,為風(fēng)電場(chǎng)的管理者和運(yùn)營(yíng)商提供了系統(tǒng)、完整的風(fēng)電場(chǎng)信息,幫助快速診斷系統(tǒng)故障,提高了生產(chǎn)效率,代表了風(fēng)電能源監(jiān)控的發(fā)展趨勢(shì)。
[1] 唐置玲,汪小澄.基于OPC技術(shù)實(shí)現(xiàn)INFI—90系統(tǒng)實(shí)時(shí)數(shù)據(jù)開(kāi)放[J].電力系統(tǒng)自動(dòng)化,2004,28(6):88-90.
[2] 陳坤,冷杉,劉哲.基于OPC的虛擬DCS對(duì)象調(diào)試軟件開(kāi)發(fā)[J].電力自動(dòng)化設(shè)備,2004,24(10):39-44.
[3] OPC Foundation.OPC XML-DA 1.0 Specification[DB/OL].[2003-7-12].http://www.opcfoundation.org.
[4] 徐進(jìn)學(xué),胡紅武,劉玉梅.基于OPC技術(shù)的遠(yuǎn)程監(jiān)控系統(tǒng)方案設(shè)計(jì)[J].沈陽(yáng)工業(yè)大學(xué)學(xué)報(bào),2007,29(5):574-577.
[5] 潘愛(ài)明.COM原理和應(yīng)用[M].北京:清華大學(xué)出版社,2006:34-45.