劉濤,董華莉,廖宏
(東方電氣自動(dòng)控制工程有限公司,四川德陽(yáng),618000)
?
OPC技術(shù)在風(fēng)電場(chǎng)監(jiān)控系統(tǒng)中的設(shè)計(jì)與實(shí)現(xiàn)
劉濤,董華莉,廖宏
(東方電氣自動(dòng)控制工程有限公司,四川德陽(yáng),618000)
摘要:文章利用OPC技術(shù)設(shè)計(jì)了風(fēng)電場(chǎng)監(jiān)控系統(tǒng)集成方案,此方案可以將風(fēng)機(jī)與其他控制設(shè)備互連,形成開(kāi)放、可靠、安全的網(wǎng)絡(luò)系統(tǒng)。根據(jù)OPC的通信模式及標(biāo)準(zhǔn),開(kāi)發(fā)了基于OPC動(dòng)態(tài)鏈接庫(kù)的服務(wù)器驅(qū)動(dòng)程序及客戶端接口。
關(guān)鍵詞:OPC,監(jiān)控系統(tǒng),客戶端
目前,風(fēng)電場(chǎng)自動(dòng)化水平不斷提高,監(jiān)控系統(tǒng)綜合應(yīng)用也越來(lái)越多,但存在多系統(tǒng)、多協(xié)議并存的局面。由于風(fēng)機(jī)廠商保密的原因,一般使用專有通信協(xié)議,造成風(fēng)機(jī)監(jiān)控系統(tǒng)成為風(fēng)電場(chǎng)監(jiān)控乃至遠(yuǎn)端的信息孤島,嚴(yán)重影響整個(gè)風(fēng)電場(chǎng)監(jiān)控系統(tǒng)的安全可靠性。因此,設(shè)計(jì)一個(gè)符合行業(yè)標(biāo)準(zhǔn)的開(kāi)放型互聯(lián)網(wǎng)絡(luò)成為了亟待解決的問(wèn)題。
本文以過(guò)程控制對(duì)象鏈接與嵌入(OPC)技術(shù)為基礎(chǔ),簡(jiǎn)要闡述了如何構(gòu)建風(fēng)電場(chǎng)內(nèi)的數(shù)據(jù)采集與監(jiān)控(SCADA)系統(tǒng)集成方案,重點(diǎn)討論了OPC客戶端的軟件開(kāi)發(fā)過(guò)程。
1.1風(fēng)電場(chǎng)連接及監(jiān)控中心
風(fēng)電場(chǎng)監(jiān)控系統(tǒng)可分為風(fēng)電場(chǎng)連接和監(jiān)控中心2個(gè)部分。風(fēng)電場(chǎng)連接實(shí)現(xiàn)的是SCADA系統(tǒng)的數(shù)據(jù)采集工作,每臺(tái)風(fēng)機(jī)的數(shù)據(jù)信息來(lái)源于主控制器,通過(guò)光纖、交換機(jī)等設(shè)備傳遞給監(jiān)控中心。監(jiān)控中心通過(guò)安裝于計(jì)算機(jī)上的風(fēng)電場(chǎng)監(jiān)控軟件為風(fēng)電場(chǎng)操作人員提供了解風(fēng)電場(chǎng)各種信息的接口、畫面以及對(duì)風(fēng)機(jī)進(jìn)行運(yùn)行操作。對(duì)于一個(gè)大型的風(fēng)電場(chǎng)來(lái)說(shuō),按照風(fēng)機(jī)的地理位置布局,可以組成多個(gè)環(huán)網(wǎng),每個(gè)環(huán)網(wǎng)內(nèi)風(fēng)機(jī)數(shù)量大約在2~10臺(tái),采用自愈型光纖以太環(huán)網(wǎng)結(jié)構(gòu),風(fēng)電場(chǎng)環(huán)網(wǎng)結(jié)構(gòu)圖如圖1所示。
圖1 風(fēng)電場(chǎng)環(huán)網(wǎng)結(jié)構(gòu)圖
風(fēng)電場(chǎng)監(jiān)控中心布置在風(fēng)電場(chǎng)中控室內(nèi)。工作人員能夠根據(jù)畫面的切換隨時(shí)了解風(fēng)電場(chǎng)風(fēng)力發(fā)電機(jī)的運(yùn)行情況和進(jìn)行控制操作。風(fēng)電場(chǎng)監(jiān)控中心通過(guò)風(fēng)電場(chǎng)光纖以太網(wǎng)環(huán)路與就地控制室的系統(tǒng)進(jìn)行通訊。
監(jiān)控中心設(shè)立了1對(duì)互為熱備的實(shí)時(shí)數(shù)據(jù)庫(kù)服務(wù)器,采集和保存所有的現(xiàn)場(chǎng)數(shù)據(jù),同時(shí)作為報(bào)警服務(wù)器和事件服務(wù)器;根據(jù)需要設(shè)立一定數(shù)目的客戶端節(jié)點(diǎn),作為操作員站;設(shè)立1臺(tái)工程師站作為組態(tài)和維護(hù)。監(jiān)控中心作為1個(gè)風(fēng)電場(chǎng)所有風(fēng)機(jī)核心的管理中心,將風(fēng)電場(chǎng)管理型交換機(jī)組建的光纖環(huán)網(wǎng)匯聚至中控室的中心交換機(jī),中心交換機(jī)再將采集的數(shù)據(jù)傳遞給工程師站和操作員站。另外,通過(guò)軟件授權(quán),還可以使用VPN技術(shù)連入異地監(jiān)控計(jì)算機(jī)。
1.2基于OPC的集成方案
風(fēng)電場(chǎng)所屬的風(fēng)機(jī)主控制器、有功無(wú)功控制系統(tǒng)、監(jiān)控系統(tǒng)、預(yù)測(cè)及管理系統(tǒng)等因設(shè)備廠家不同而造成協(xié)議各種各樣,需要有協(xié)議轉(zhuǎn)換的軟硬件,完成不同的通信協(xié)議之間的轉(zhuǎn)換,使現(xiàn)場(chǎng)總線控制系統(tǒng)成為可靠、開(kāi)放的數(shù)據(jù)通信網(wǎng)絡(luò)。
OPC技術(shù)提供的標(biāo)準(zhǔn)接口符合風(fēng)電場(chǎng)本地監(jiān)控系統(tǒng)通信標(biāo)準(zhǔn)IEC61400-25,可以簡(jiǎn)單高效地實(shí)現(xiàn)以上不同系統(tǒng)的無(wú)縫連接。進(jìn)行具體系統(tǒng)集成時(shí),除了要滿足用戶的實(shí)際功能需求外,更重要的是還要保證電力系統(tǒng)的安全可靠性要求。因此,可以用OPC實(shí)現(xiàn)風(fēng)電場(chǎng)監(jiān)控系統(tǒng)的互連。圖2示意了基于OPC監(jiān)控中心的網(wǎng)絡(luò)拓?fù)鋱D。
圖2 監(jiān)控中心數(shù)據(jù)交換拓?fù)鋱D
本文提出利用OPC技術(shù)的集成方案。首先將風(fēng)機(jī)控制系統(tǒng)映射成1個(gè)遠(yuǎn)程終端裝置(RTU),集成到監(jiān)控系統(tǒng)數(shù)據(jù)采集平臺(tái)中,由驅(qū)動(dòng)程序采集具有專用協(xié)議通信的風(fēng)機(jī)主控制器數(shù)據(jù),與監(jiān)控系統(tǒng)無(wú)縫互連,利用以太網(wǎng)實(shí)現(xiàn)風(fēng)電場(chǎng)中現(xiàn)場(chǎng)總線系統(tǒng)到監(jiān)控系統(tǒng)之間的數(shù)據(jù)傳輸。風(fēng)電場(chǎng)監(jiān)控主機(jī)集成OPC服務(wù)器,電氣控制系統(tǒng)通過(guò)標(biāo)準(zhǔn)DCOM與監(jiān)控主機(jī)相連,比如有功及無(wú)功控制系統(tǒng)等,同時(shí)還可為電廠生產(chǎn)管理系統(tǒng)、風(fēng)功率預(yù)測(cè)系統(tǒng)提供數(shù)據(jù)。
本系統(tǒng)方案在不變動(dòng)現(xiàn)有設(shè)備及協(xié)議的情況下,使所有系統(tǒng)通過(guò)OPC標(biāo)準(zhǔn)接口互通互連。OPC技術(shù)在自動(dòng)化領(lǐng)域是非常成熟的技術(shù),借用OPC快速開(kāi)發(fā)工具實(shí)現(xiàn)軟件系統(tǒng)設(shè)計(jì),工具采用動(dòng)態(tài)鏈接庫(kù)(DLL),系統(tǒng)開(kāi)發(fā)人員只要按照DLL提供的標(biāo)準(zhǔn)應(yīng)用程序接口(API)就可以進(jìn)行相關(guān)的集成開(kāi)發(fā)。
OPC標(biāo)準(zhǔn)是一種具有高效性、可靠性、開(kāi)放性、可互操作性的即插即用的設(shè)備驅(qū)動(dòng)程序。OPC主要包括2個(gè)構(gòu)件:OPC服務(wù)器和OPC客戶端。1個(gè)OPC客戶端可以與多個(gè)OPC服務(wù)器通信,只要它們遵循統(tǒng)一的規(guī)范;同樣,1個(gè)OPC服務(wù)器也可以為多個(gè)OPC客戶端提供服務(wù)。
OPC服務(wù)器作為軟件主板和數(shù)據(jù)總線,集成了不同的現(xiàn)場(chǎng)設(shè)備,統(tǒng)一完成數(shù)據(jù)的訪問(wèn)和協(xié)議轉(zhuǎn)換;符合OPC接口規(guī)范的各種監(jiān)控、管理應(yīng)用模塊作為客戶端獲取OPC服務(wù)器數(shù)據(jù),實(shí)現(xiàn)風(fēng)電場(chǎng)數(shù)據(jù)的全互連。
2.1數(shù)據(jù)訪問(wèn)方式
OPC的數(shù)據(jù)訪問(wèn)方式分別有同步訪問(wèn)、異步訪問(wèn)和訂閱式數(shù)據(jù)采集方式3種,針對(duì)風(fēng)電場(chǎng)這種大數(shù)據(jù)量的傳輸,采用了訂閱式。采用訂閱式數(shù)據(jù)采集方式的服務(wù)器按一定的更新周期更新數(shù)據(jù)緩沖器的數(shù)值時(shí),如果發(fā)現(xiàn)數(shù)據(jù)有變化時(shí),就會(huì)以數(shù)據(jù)變化事件通知OPC應(yīng)用程序??蛻舳司幊淌褂卯惒酵ㄐ?,OPC客戶程序?qū)Ψ?wù)器進(jìn)行讀寫操作時(shí),OPC客戶程序操作后立刻返回,不用等待OPC服務(wù)器的操作,可以進(jìn)行其他操作,當(dāng)0PC服務(wù)器完成操作后再通知OPC客戶程序。因此,相對(duì)于同步通信和異步通信的效率更高,適用于風(fēng)電場(chǎng)多客戶訪問(wèn)同一OPC服務(wù)器和大量數(shù)據(jù)的場(chǎng)合。這使得編程模式能有效減少網(wǎng)絡(luò)數(shù)據(jù)包,降低服務(wù)器的訪問(wèn)壓力。
2.2服務(wù)器與客戶端框架
OPC標(biāo)準(zhǔn)采用C/S模式,OPC服務(wù)器負(fù)責(zé)向OPC客戶端不斷地提供數(shù)據(jù)。OPC服務(wù)器包括3類對(duì)象(Object):服務(wù)器對(duì)象(Server)、組對(duì)象(Group)和項(xiàng)對(duì)象(Item)。3類對(duì)象都包括一系列接口,關(guān)系如圖3所示。
圖3 OPC接口關(guān)系示意圖
利用OPC技術(shù),可以對(duì)現(xiàn)場(chǎng)設(shè)備及其驅(qū)動(dòng)程序進(jìn)行封裝,形成OPC服務(wù)器。OPC服務(wù)器向下對(duì)風(fēng)機(jī)數(shù)據(jù)進(jìn)行采集,向上與OPC客戶應(yīng)用程序通信完成數(shù)據(jù)交換。OPC服務(wù)器具備數(shù)據(jù)提供方的驅(qū)動(dòng)程序,客戶端開(kāi)發(fā)人員編寫符合OPC接口規(guī)范的程序,而不必再去關(guān)心上層的驅(qū)動(dòng)程序,就可以與OPC服務(wù)器進(jìn)行數(shù)據(jù)交換。這樣,在工業(yè)過(guò)程控制系統(tǒng)中,過(guò)程或設(shè)備監(jiān)控程序,通過(guò)以太網(wǎng),可以方便地與現(xiàn)場(chǎng)設(shè)備的OPC服務(wù)器進(jìn)行數(shù)據(jù)交互,獲得所需的現(xiàn)場(chǎng)數(shù)據(jù)。
本文重點(diǎn)設(shè)計(jì)客戶端程序。從技術(shù)上來(lái)講,OPC客戶端是一個(gè)應(yīng)用程序所使用的軟件模塊,其目的在于使此應(yīng)用程序能夠與它在網(wǎng)絡(luò)上能夠發(fā)現(xiàn)的、任何符合OPC通信標(biāo)準(zhǔn)的服務(wù)器通訊。典型地來(lái)講,OPC客戶端被嵌入于HMI、趨勢(shì)分析工具、歷史數(shù)據(jù)庫(kù)和報(bào)告生成工具之類的應(yīng)用程序中,目的在于使這些應(yīng)用程序自然地支持OPC接口。這些應(yīng)用在風(fēng)電場(chǎng)監(jiān)控軟件中都是必需的。
本文使用DA3.0版本,軟件方面需要Windows操作系統(tǒng),然后在此系統(tǒng)上配置DCOM服務(wù)器,OPC服務(wù)器軟件需要根據(jù)具體的風(fēng)機(jī)主控制器的數(shù)據(jù)源協(xié)議編寫相應(yīng)的驅(qū)動(dòng)程序。
客戶端軟件設(shè)計(jì)使用OPC服務(wù)器開(kāi)發(fā)工具包(DLL),以提高代碼的重用性。具體程序的設(shè)計(jì)方法如下:
(1)安裝OPC自動(dòng)化接口服務(wù)。在.NET環(huán)境下,點(diǎn)擊“項(xiàng)目”子菜單下“添加引用”,在彈出的對(duì)話框COM中選中“OPCDAAuoto.dll”項(xiàng),點(diǎn)擊“確定”按鈕,這樣才能使用自動(dòng)化接口服務(wù)。
(2)連接OPC服務(wù)器。本文中使用的OPC服務(wù)器名為“KEPware.KEPServerEx.V4”,這樣才能觸發(fā)事件(DataChange)來(lái)獲取實(shí)時(shí)數(shù)據(jù)。連接不同的OPC服務(wù)器只要改變其服務(wù)器名稱和OPC服務(wù)器所在的計(jì)算機(jī)名稱即可。
(3)添加組、項(xiàng),關(guān)鍵語(yǔ)句如下:
//添加OPC組
iOpcServer.AddGroup(opcGroup.GroupName,opc Group.IsActive,opcGroup.RequestedUpdateRate,opcG roup.ClientGroupHandle,opcGroup.TimeBias.AddrOfP innedObject(),opcGroup.PercendDeadBand.AddrOfPin nedObject(),opcGroup.LCID,out.opcGroup.ServerGrou pHandle,outopcGroup.RevisedUpdateRate,refopcGrou p.Riid,out opcGroup.Group);
//添加OPC項(xiàng)組
((IOPCItemMgt)opcGroup.Group).AddItems(opc-Group.OpcDataCustomItems.Length,itemDefyArray,out p Results,out pErrors);
//激活訂閱回調(diào)事件
ActiveDataChanged(IOPCGroupStateMgt);
(4)OPC數(shù)據(jù)的讀和寫。對(duì)OPC服務(wù)器中的數(shù)據(jù)項(xiàng)讀取可以通過(guò)group組的DataChange事件觸發(fā)來(lái)讀取。該事件有多個(gè)參數(shù):其中:NumItems是指數(shù)據(jù)項(xiàng)的個(gè)數(shù);ltemValues為數(shù)據(jù)項(xiàng)的數(shù)據(jù);Qualities為數(shù)據(jù)項(xiàng)的品質(zhì);TimeStamps為數(shù)據(jù)項(xiàng)的更改時(shí)間;ClientHandles是數(shù)據(jù)項(xiàng)的標(biāo)簽索引,其所指的OPC標(biāo)簽的值在ItemValues中,只有數(shù)據(jù)發(fā)生變化時(shí)才會(huì)觸發(fā)該事件,也只會(huì)傳輸發(fā)生了變化的數(shù)據(jù),沒(méi)有變化的數(shù)據(jù)不會(huì)出現(xiàn)在本事件ItemValues中。使用C#事件處理機(jī)制,將DataChange注冊(cè)到事件,一旦服務(wù)器端數(shù)據(jù)有變化,自動(dòng)觸發(fā)此過(guò)程:
(5)斷開(kāi)OPC服務(wù)器。OPC客戶端連接后占用服務(wù)器的資源,所以長(zhǎng)時(shí)間不需要使用OPC讀寫數(shù)據(jù),而應(yīng)及時(shí)斷開(kāi)OPC連接以釋放資源。
基于OPC技術(shù)構(gòu)建的風(fēng)電場(chǎng)監(jiān)控系統(tǒng)在現(xiàn)場(chǎng)已獲得實(shí)際應(yīng)用。通過(guò)OPC技術(shù)集成構(gòu)建的系統(tǒng)是開(kāi)放、分布式系統(tǒng),OPC技術(shù)規(guī)范能夠支持TCP/IP等網(wǎng)絡(luò)通信協(xié)議以及遠(yuǎn)程調(diào)用方式,便于利用網(wǎng)絡(luò)節(jié)點(diǎn)來(lái)集成子系統(tǒng),從而使應(yīng)用程序的分布與系統(tǒng)硬件的分布無(wú)關(guān)。同時(shí),OPC接口支持任何不同廠家系統(tǒng)之間的互連。安全性、可靠性高,風(fēng)電場(chǎng)的網(wǎng)絡(luò)體系結(jié)構(gòu)構(gòu)建了多層次、多方位的安全控制體系,方案中各個(gè)現(xiàn)場(chǎng)控制系統(tǒng)獨(dú)立運(yùn)行,相互關(guān)聯(lián)性小,保證了系統(tǒng)方案中傳輸?shù)膶?shí)時(shí)數(shù)據(jù)是可靠的,這符合電力系統(tǒng)安全性的要求。
OPC規(guī)范的應(yīng)用簡(jiǎn)化了OPC客戶/服務(wù)器的開(kāi)發(fā)過(guò)程,統(tǒng)一了數(shù)據(jù)存取的接口標(biāo)準(zhǔn),將風(fēng)電場(chǎng)各類型系統(tǒng)與應(yīng)用軟件開(kāi)發(fā)者分離,使得軟件開(kāi)發(fā)者無(wú)需了解硬件的實(shí)質(zhì)和操作過(guò)程,只要遵循OPC標(biāo)準(zhǔn)進(jìn)行開(kāi)發(fā),大大簡(jiǎn)化了過(guò)去傳輸數(shù)據(jù)的復(fù)雜過(guò)程。在此介紹了在Visual C#環(huán)境下,遵循OPC標(biāo)準(zhǔn)使用動(dòng)態(tài)鏈接庫(kù)設(shè)計(jì)驅(qū)動(dòng)程序及客戶端接口代碼,以快速、高效地進(jìn)行底層數(shù)據(jù)采集,安全、靈活地?cái)?shù)據(jù)轉(zhuǎn)發(fā),具有較大的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1]黃帥.OPC技術(shù)在風(fēng)電場(chǎng)有功功率控制系統(tǒng)中的應(yīng)用[J].變頻器世界,2012,(1):62-65.
[2]陸會(huì)明.控制裝置標(biāo)準(zhǔn)化通信OPC服務(wù)器開(kāi)發(fā)與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2010.
[3]朱立軍,安娜,陳末如,等.基于Visual C#的OPC客戶端實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2009,32(2):171-173.
Design and Implementation of OPC in Wind Power Plant SCADA
Liu Tao,Dong Huali,Liao Hong
(Dongfang Electric Auto-control Engineering Co.,Ltd.,Deyang Sichuan,618000)
Abstract:Based on OPC technology,this paper provides integration scheme for wind power plant SCADA.Under this scheme,the wind turbine can be interconnected with other control devices so that the open,reliable and secure network system can be formed. Moreover,according to the OPC communication mode and standard,this paper develops the server drive program and the client inter?face on the basis of the OPC dynamic link library.
Key words:OPC,SCADA,client
中圖分類號(hào):TP29
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1674-9987(2016)02-0044-04
DOI:10.13808/j.cnki.issn1674-9987.2016.02.011
作者簡(jiǎn)介:劉濤(1979-),男,工學(xué)碩士,2008年畢業(yè)于西南交通大學(xué)自動(dòng)控制專業(yè)。現(xiàn)從事風(fēng)電及光伏研發(fā)設(shè)計(jì)工作。