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