OPC技術(shù)在風(fēng)電場(chǎng)監(jiān)控系統(tǒng)中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
目前國(guó)內(nèi)從事風(fēng)電機(jī)組整機(jī)開(kāi)發(fā)和研制的企業(yè)估計(jì)約40多家,大型風(fēng)電場(chǎng)中的風(fēng)電機(jī)組和監(jiān)控系統(tǒng)一般由多個(gè)廠商提供,各廠商的監(jiān)控系統(tǒng)互不兼容,對(duì)風(fēng)電場(chǎng)中不同類型風(fēng)電機(jī)組的統(tǒng)一監(jiān)控與管理則缺乏有效研究,難以進(jìn)行統(tǒng)一維護(hù)與管理。針對(duì)當(dāng)前風(fēng)電場(chǎng)中風(fēng)機(jī)控制系統(tǒng)及電力監(jiān)控系統(tǒng)多系統(tǒng)并存的情況,將OPC技術(shù)引入其中,以實(shí)現(xiàn)風(fēng)電場(chǎng)中風(fēng)機(jī)控制系統(tǒng)和電氣控制系統(tǒng)的無(wú)縫連接,解決了風(fēng)電場(chǎng)多系統(tǒng)互聯(lián)問(wèn)題。
1. OPC的關(guān)鍵技術(shù)
OPC(OLE for Process Control)是對(duì)象鏈接和嵌入技術(shù)在過(guò)程控制方面的應(yīng)用,為工業(yè)自動(dòng)化軟件的開(kāi)發(fā)提供了統(tǒng)一的標(biāo)準(zhǔn)。OPC技術(shù)的目的就是為現(xiàn)場(chǎng)設(shè)備或數(shù)據(jù)庫(kù)中的大量數(shù)據(jù)源之間的通信提供統(tǒng)一的傳輸標(biāo)準(zhǔn),使得系統(tǒng)集成更加方便。OPC技術(shù)也是微軟公司為了把Windows應(yīng)用于控制系統(tǒng)而和控制界共同推出的一項(xiàng)技術(shù)。它以微軟公司的組件對(duì)象模型/分布式組件對(duì)象模型(COM/DCOM)技術(shù)為基礎(chǔ),為工業(yè)控制軟件定義了一套標(biāo)準(zhǔn)的對(duì)象、接口和屬性,通過(guò)這些對(duì)象接口,實(shí)現(xiàn)了應(yīng)用程序之間數(shù)據(jù)交換的標(biāo)準(zhǔn)化,從而大大提高自動(dòng)化設(shè)備之間的開(kāi)放性和互操作性。
A.COM與DCOM技術(shù)
隨著軟件技術(shù)的迅速發(fā)展,傳統(tǒng)的程序升級(jí)已經(jīng)不能滿足技術(shù)發(fā)展的需要,解決這個(gè)問(wèn)題的方法就是將應(yīng)用程序分割成一些小的應(yīng)用或組件,然后將這些組件在運(yùn)行時(shí)組裝起來(lái)形成應(yīng)用程序。在組件技術(shù)規(guī)范方面主要有兩個(gè)標(biāo)準(zhǔn),其中一個(gè)是由微軟推出的組件對(duì)象模型(Component Object Model,COM)技術(shù)。該技術(shù)提供了各個(gè)軟件部件以標(biāo)準(zhǔn)模式在一起工作的框架和技術(shù)規(guī)范,此規(guī)范為了保證能夠互操作、客戶和組件應(yīng)遵循的一些二進(jìn)制和網(wǎng)絡(luò)標(biāo)準(zhǔn),任意的兩個(gè)組件之間可以在不同的操作環(huán)境下進(jìn)行通訊,甚至使用不同的開(kāi)發(fā)語(yǔ)言開(kāi)發(fā)的組件也能實(shí)現(xiàn)。COM是一種軟件組件間相互數(shù)據(jù)交換的有效方法。
COM接口的COM規(guī)范中最重要的部分,COM規(guī)范的核心內(nèi)容就是對(duì)接口的定義,COM都是以接口的形式出現(xiàn)。組件與組件之間、組件與客戶程序之間都要通過(guò)接口進(jìn)行交互。接口成員函數(shù)將負(fù)責(zé)為客戶過(guò)其他組件提供服務(wù)。對(duì)于COM來(lái)說(shuō),接口是一個(gè)包含一個(gè)函數(shù)指針數(shù)組的內(nèi)存結(jié)構(gòu)。對(duì)于客戶來(lái)說(shuō),一個(gè)組件就是一個(gè)接口集,任何一個(gè)具備相同接口的組件都可對(duì)組件都可以對(duì)此進(jìn)行相對(duì)于其他組件透明的替換。
B.基于OPC的客戶機(jī)/服務(wù)器數(shù)據(jù)交換模型
COM技術(shù)的出現(xiàn)為控制設(shè)備和控制管理系統(tǒng)之間的數(shù)據(jù)交換簡(jiǎn)單化提供了技術(shù)基礎(chǔ)。但是如果不提供各異標(biāo)準(zhǔn)的化COM接口,各個(gè)控制設(shè)備廠家的COM組件之間的相互連接仍然是不可能的。
隨著基于OPC標(biāo)準(zhǔn)的控制組件的推廣和普及,不僅使控制系統(tǒng)功能的增減和組件的置換更加簡(jiǎn)單,而且使過(guò)程數(shù)據(jù)的訪問(wèn)也變得容易。比如,符合OPC規(guī)范的過(guò)程控制程序可以直接和數(shù)據(jù)分析軟件包或電子表格應(yīng)用程序連接。
2.OPC數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
在傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)中,監(jiān)控與數(shù)據(jù)采集系統(tǒng)(SCADA)、人機(jī)接口(HMI)、組態(tài)軟件等應(yīng)用程序都是通過(guò)驅(qū)動(dòng)程序與現(xiàn)場(chǎng)設(shè)備進(jìn)行通信的,但驅(qū)動(dòng)程序有著它自身的局限性,如同一設(shè)備為適應(yīng)不同的客戶端應(yīng)用程序需要開(kāi)發(fā)不同的驅(qū)動(dòng)程序,造成勞動(dòng)重復(fù)。一旦硬件設(shè)備升級(jí),先前開(kāi)發(fā)的驅(qū)動(dòng)程序也應(yīng)做相應(yīng)的修改。驅(qū)動(dòng)程序一般采用動(dòng)態(tài)鏈接庫(kù)(DLL)的形式,動(dòng)態(tài)數(shù)據(jù)交換(DDE)是其進(jìn)行數(shù)據(jù)交換的主要方式,但這種方式不允許多個(gè)應(yīng)用程序同時(shí)訪問(wèn)一個(gè)設(shè)備。
A.風(fēng)電場(chǎng)前置機(jī)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
由于OPC定義了一套基于Microsoft OLE/COM或DCOM的接口訪問(wèn)方式,符合或支持OPC協(xié)議的應(yīng)用程序只要基于TCP/IP協(xié)議可以互相訪問(wèn),就可以通過(guò)OPC協(xié)議交換數(shù)據(jù)。風(fēng)場(chǎng)前置接口機(jī)上安裝多塊網(wǎng)卡,需要和風(fēng)機(jī)生產(chǎn)廠家提供的監(jiān)控系統(tǒng)的工程師站相連,其IP地址設(shè)置成與工程師站在
同一網(wǎng)段即可。
由于目前各風(fēng)機(jī)生產(chǎn)廠商開(kāi)放程度的不同,丹麥的Vestas風(fēng)機(jī)開(kāi)發(fā)了OPC接口,用于第三方廠商的接入,西班牙歌美薩風(fēng)機(jī)是提供了其數(shù)據(jù)庫(kù)的接口軟件(DLL),東汽、華銳等國(guó)產(chǎn)風(fēng)機(jī)是與風(fēng)機(jī)控制器進(jìn)行輪詢,轉(zhuǎn)發(fā)為MODBUS通訊協(xié)議,提供給第三方,由第三方完成。
B. 風(fēng)電場(chǎng)OPCSever接口軟件設(shè)計(jì)
本文以華銳風(fēng)機(jī)1500為例,介紹風(fēng)電場(chǎng)OPCSever接口軟件的設(shè)計(jì)方案。
華銳風(fēng)機(jī)是提供與風(fēng)機(jī)控制器的進(jìn)行通訊的MODBUS數(shù)據(jù)通訊服務(wù)器軟件,其軟件實(shí)現(xiàn)與現(xiàn)場(chǎng)風(fēng)機(jī)進(jìn)行實(shí)時(shí)數(shù)據(jù)交互,我們?cè)O(shè)計(jì)將MODBUS/TCP包裝成OPCSever.在使用MODBUS/TCP協(xié)議規(guī)范時(shí),采用面向連接的方法,在通信時(shí)要經(jīng)過(guò)建立連接、傳輸數(shù)據(jù)、釋放連接三個(gè)步驟。
a. MODBUS/TCP的報(bào)文解析
(1)MODBUS/TCP請(qǐng)求報(bào)文:00 00 00 00 00 06 01 03 00 01 00 78 16 31
前七位為MBAP頭,分別為事物處理標(biāo)識(shí)符高位(1位),事物處理標(biāo)識(shí)符低位(1位),協(xié)議標(biāo)識(shí)符(2位),長(zhǎng)度標(biāo)識(shí)符(2位),單元標(biāo)識(shí)符(1位)。后七位為MODBUS請(qǐng)求報(bào)文,03為功能碼,為讀取保持寄存器的內(nèi)容,00 01為起始地址,00 78為寄存器數(shù)量,16 31為校驗(yàn)碼,校驗(yàn)方式為CRC循環(huán)冗余校驗(yàn)。
(2)MODBUS/TCP接收?qǐng)?bào)文:00 00 00 00 00 F3 01 03 F0 00 00 40 E0…
從第十位開(kāi)始,采用單浮點(diǎn)型float,每?jī)晌粓?bào)文為一個(gè)寄存器響應(yīng)數(shù)據(jù),其中高字節(jié)在前,低字節(jié)在后。
b. OPCSever數(shù)據(jù)訪問(wèn)的實(shí)現(xiàn)
OPC數(shù)據(jù)存取服務(wù)器的主要功能是完成數(shù)的存取,OPCSever有4種數(shù)據(jù)訪問(wèn)方法:同步數(shù)據(jù)訪問(wèn),異步數(shù)據(jù)訪問(wèn),刷新訪問(wèn),訂閱方式訪問(wèn)。在本設(shè)計(jì)方案中,采用訂閱方式進(jìn)行訪問(wèn),訪問(wèn)的數(shù)據(jù)在狀態(tài)發(fā)生改變時(shí)主動(dòng)的通知客戶程序刷新數(shù)據(jù)。
報(bào)文解析Sockect通訊模塊實(shí)現(xiàn)與MODBUS/TCP服務(wù)器進(jìn)行讀寫(xiě)操作,解析收到的報(bào)文。
OPC接口模塊是主要完成OPCSever、OPCGroup和OPCItem的定義、連接、添加和刪除等。其定義了訂閱方式進(jìn)行數(shù)據(jù)訪問(wèn),OPC基金會(huì)提供了標(biāo)準(zhǔn)的接口函數(shù)客戶以統(tǒng)一的方式去訪問(wèn)。
程序管理模塊主要是現(xiàn)場(chǎng)數(shù)據(jù)的監(jiān)視,測(cè)點(diǎn)信息的管理和從OPC接口模塊中接收的項(xiàng)信息,包括時(shí)間戳和數(shù)據(jù)質(zhì)量。
3. 結(jié)論
本文首先介紹了OPC的關(guān)鍵技術(shù)——COM和DCOM技術(shù),然后對(duì)基于OPC技術(shù)的客戶機(jī)/服務(wù)器數(shù)據(jù)交換模型進(jìn)行了描述,最后詳細(xì)介紹了OPC技術(shù)在風(fēng)電場(chǎng)監(jiān)控系統(tǒng)中的應(yīng)用——OPC數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)。將OPC技術(shù)應(yīng)用與風(fēng)電場(chǎng)監(jiān)控系統(tǒng)中,從根本上解決了不同型號(hào)風(fēng)機(jī)設(shè)備之間的通訊問(wèn)題,使風(fēng)電場(chǎng)的集群管理更加方便。進(jìn)而,完善了風(fēng)電企業(yè)生產(chǎn)信息化管理平臺(tái),提高信息化水平。(