陳志偉,徐丙垠,韓國政
(1.山東大學(xué) 電氣工程學(xué)院,山東 濟(jì)南 250061;2.山東理工大學(xué) 電氣與電子工程學(xué)院,山東 淄博 255012;3.山東科匯電力自動化有限公司,山東 淄博 255087;4.山東輕工業(yè)學(xué)院 電氣工程與自動化學(xué)院,山東 濟(jì)南 250353)
配電系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,采用的終端設(shè)備種類繁多,這些配電終端的功能和接口大不相同,通常要進(jìn)行大量的配置和轉(zhuǎn)換工作才能實現(xiàn)設(shè)備間共享信息,增加了系統(tǒng)運(yùn)行維護(hù)成本。
IEC61850是IEC TC57制定的關(guān)于變電站通信網(wǎng)絡(luò)和系統(tǒng)的國際標(biāo)準(zhǔn),可以有效地實現(xiàn)設(shè)備間的無縫集成[1],隨著應(yīng)用領(lǐng)域的擴(kuò)展目前已更名為電力企業(yè)自動化通信網(wǎng)絡(luò)與系統(tǒng)標(biāo)準(zhǔn)。借鑒IEC61850在變電站自動化等領(lǐng)域的成功應(yīng)用經(jīng)驗,將其推廣到配電自動化領(lǐng)域,為解決配電設(shè)備之間的互操作問題提供了有效的途徑。
配電網(wǎng)中常用的通信規(guī)約有IEC60870-5系列遠(yuǎn)動規(guī)約、DL451-91規(guī)約、DNP3.0規(guī)約等。目前,將 IEC61850映射到 IEC60870-5-101/104的研究較多[2-3],而對映射到Web Services的研究卻很少。Web Services以可擴(kuò)展標(biāo)記語言XML(eXtensible Markup Language)和簡單對象訪問協(xié)議SOAP(Simple Object Access Protocol)為基礎(chǔ),對 IEC61850 的信息模型和信息交換模型支持良好,因此,研究IEC-61850的Web Services映射及實現(xiàn)是非常有益的。
制定IEC61850標(biāo)準(zhǔn)的出發(fā)點就是為了指導(dǎo)實現(xiàn)設(shè)備與系統(tǒng)的互操作。IEC61850包含4個主要部分:信息模型、抽象通信服務(wù)接口ACSI(Abstract Communication Service Interface)、特定通信服務(wù)映射SCSM(Specific Communication Service Mapping)和變電站配置描述語言SCL(Substation Configuration description Language)配置文件[4-5]。信息模型采用面向?qū)ο蟮慕y(tǒng)一建模技術(shù),采用分布、分層的結(jié)構(gòu)體系。ACSI只是抽象地描述設(shè)備之間如何交換信息,與設(shè)備間怎樣具體實現(xiàn)交換無關(guān)。SCSM利用具體的通信網(wǎng)絡(luò)實現(xiàn)ACSI中的服務(wù)模型。SCL文件用于對變電站系統(tǒng)結(jié)構(gòu)、通信系統(tǒng)結(jié)構(gòu)和IED信息模型、服務(wù)模型進(jìn)行統(tǒng)一的描述,從而被其他的IED和主站識別。
Web Services技術(shù)是服務(wù)器程序通過Internet發(fā)布應(yīng)用服務(wù)并能夠被客戶端程序遠(yuǎn)程調(diào)用的一種標(biāo)準(zhǔn)機(jī)制[6-8]。 它采用的標(biāo)準(zhǔn)和技術(shù)有XML、SOAP、HTTP、Web Services描述語言(WSDL)和通用唯一識別碼(UDDI)等。Web Services不是僅針對電力行業(yè)的專用技術(shù),具有普遍性??蛻舳顺绦蛲ㄟ^Web Services,調(diào)用暴露在外界的應(yīng)用程序編程接口(API),就可以使用位于服務(wù)器的Web Services。下面介紹XML技術(shù)、SOAP和WSDL:
a.XML技術(shù)是Web Services的關(guān)鍵技術(shù),是描述結(jié)構(gòu)化信息的標(biāo)準(zhǔn)格式,具有自描述、可擴(kuò)展等特點;
b.SOAP是一種基于XML的數(shù)據(jù)傳輸協(xié)議,Web Services利用SOAP實現(xiàn)不同設(shè)備與系統(tǒng)之間的遠(yuǎn)程調(diào)用;
c.WSDL是基于XML的服務(wù)描述標(biāo)準(zhǔn),用于描述Web Services的功能和調(diào)用方法。
IEC61850的Web Services映射和MMS的映射不同,MMS有相對獨立的信息模型,根據(jù)模型的層次結(jié)構(gòu),基本上可以將IEC61850的信息功能模型映射到MMS的模型。但是,在映射過程中,由于MMS與IEC61850的對象層次結(jié)構(gòu)不同,服務(wù)響應(yīng)中會包含大量的冗余信息。Web Services采用基于語法的XML Schema。XML Schema沒有相對獨立的信息模型,支持自定義。IEC61850到Web Services的映射實際上就是將信息模型和信息交換模型用Web Services的WSDL描述出來。
IEC61850的映射包括信息模型映射和信息交換模型映射2個方面。信息模型中的Server、LogicalDevice、LogicalNode、Data等對象分別映射為 Web Services 中的 tServer、tLD、tLN、tData 等對象[9],信息交換模型中的讀服務(wù)器目錄(GetServerDirectory)等服務(wù)也映射為相應(yīng)的GetServerDirectory等服務(wù)。下面以tServer和GetServerDirectory為例介紹Web Services中的WSDL描述。
服務(wù)器類型tServer的WSDL定義如下:
在上述定義中,tServer包含若干個訪問節(jié)點(ServerAccessPoint)和若干個邏輯設(shè)備(LD)。 采用WSDL描述tServer與IEC61850中的Server有很好的對應(yīng)性。同樣,可完成對tLD、tLN、tData的定義。
在IEC61850中,GetServerDirectory服務(wù)用于獲取服務(wù)器包含的LD,其訪問參數(shù)包括對象類型等,其返回參數(shù)為包含的LD。在Web Services中,需要對訪問參數(shù)和返回參數(shù)分別進(jìn)行定義。GetServerDirectoryRequest中包含服務(wù)所需的請求參數(shù),WSDL的定義如下:
GetServerDirectoryResponse中包含服務(wù)返回的響應(yīng)數(shù)據(jù),WSDL的定義如下:
除了IEC61850中已定義的對象類型外,還需要增加1個關(guān)聯(lián)ID用于描述通信的關(guān)聯(lián)和1個UUID。
輪腿機(jī)構(gòu)設(shè)計應(yīng)滿足以下要求:結(jié)構(gòu)簡單,可以快速靈活地實現(xiàn)單個輪腿的升降,從而穩(wěn)定挖溝機(jī)車體姿態(tài),保證挖溝機(jī)工作部件運(yùn)行平穩(wěn)、工作可靠.
Web Services的映射方案如下,示意圖見圖1。
a.ACSI客戶端在數(shù)據(jù)定時更新、遙控操作或數(shù)據(jù)主動更新時建立抽象服務(wù),調(diào)用相應(yīng)的Web Services應(yīng)用程序。應(yīng)用程序創(chuàng)建SOAP請求消息,消息中包含服務(wù)請求所需的參數(shù),向下經(jīng)過HTTP處理模塊,將SOAP消息封裝成HTTP報文發(fā)送到服務(wù)器端。
b.服務(wù)器端以阻塞狀態(tài)等待來自客戶端的連接請求,收到請求消息后創(chuàng)建新線程同時返回繼續(xù)監(jiān)聽。新線程調(diào)用HTTP模塊解析HTTP報文,取出其中的SOAP請求消息,發(fā)送給服務(wù)器端的Web Services應(yīng)用程序,應(yīng)用程序解析SOAP請求消息,根據(jù)其中的服務(wù)請求參數(shù),調(diào)用相應(yīng)的服務(wù)執(zhí)行程序。
c.ACSI服務(wù)器端的Web Services應(yīng)用程序?qū)⒎?wù)執(zhí)行程序返回的響應(yīng)數(shù)據(jù)封裝成SOAP響應(yīng)消息,向下通過HTTP處理模塊生成HTTP報文返回給客戶端。
d.客戶端通過HTTP模塊解析出返回的SOAP響應(yīng)消息,再通過Web Services應(yīng)用程序取出其中的響應(yīng)數(shù)據(jù),發(fā)送給ACSI客戶端,完成整個抽象服務(wù)通信過程。
圖1中的Web Services應(yīng)用程序都是利用gSoap工具包編寫的,用來實現(xiàn)SCSM過程中抽象服務(wù)到Web Services應(yīng)用層報文的生成,完成報文的處理和收發(fā)。虛線下方的通信過程無需考慮,由gSoap工具包自身完成。
圖1 Web Services映射方案Fig.1 Mapping to Web Services
本文介紹的Web Services的實現(xiàn)采用了開源的工具gSoap。gSoap的出現(xiàn)使在C/C++環(huán)境下實現(xiàn)一個通用性較強(qiáng)的Web Services程序變得簡單。gSoap的編譯器能夠自動地將用戶定義的本地化的C/C++數(shù)據(jù)類型轉(zhuǎn)變?yōu)榉蟈ML語法的數(shù)據(jù)結(jié)構(gòu),這樣只用一組簡單的API就將用戶從SOAP細(xì)節(jié)實現(xiàn)工作中解脫出來,能夠?qū)W⒌綉?yīng)用程序的實現(xiàn)中去。
圖2 配電終端信息模型Fig.2 Information model of distribution terminal
配電終端按照功能劃分為3個LD:LD1(測控)、LD2(保護(hù))和LD3(電源),LD下面是為了完成 LD相應(yīng)功能而聚集在一起的邏輯節(jié)點。
配電終端采用IEC61850的SCL文件實現(xiàn)配電終端的自描述,其最后下載的完整的SCL文件是pzk.cid文件,其他IED或系統(tǒng)可方便地獲得其中的配置信息,如通信參數(shù)、信息模型和所能提供的服務(wù)等。信息模型是IEC61850的基礎(chǔ),是實現(xiàn)互操作的前提,因此,獲取pzk.cid文件中的信息模型至關(guān)重要。本文通過在服務(wù)器端解析pzk.cid文件獲取信息模型[11-12],如圖 3 所示。
在配電終端上電初始化時,運(yùn)行XML解析模塊,把pzk.cid配置文件加載至內(nèi)存進(jìn)行處理,解析獲得符合服務(wù)器、LD、邏輯節(jié)點、數(shù)據(jù)、數(shù)據(jù)屬性層次關(guān)系的IEC61850信息模型數(shù)據(jù)結(jié)構(gòu),將其保存在存儲器中。PZK-3配電終端采用數(shù)據(jù)點表的方式存儲數(shù)據(jù),利用科匯公司的用戶方式字配置工具實現(xiàn)實時數(shù)據(jù)點表與IEC61850信息模型的配置轉(zhuǎn)換,抽象服務(wù)通過尋址便可輕松獲得裝置的信息模型和實時數(shù)據(jù)。
圖3 信息模型獲取Fig.3 Acquisition of information model
IEC61850的全部抽象服務(wù)都可由Web Services實現(xiàn),以GetServerDirectory服務(wù)為例進(jìn)行說明[13-14]。該服務(wù)的功能是檢索由尋址服務(wù)器對請求的客戶變成可視的、可訪問的全部LD名字表或文件名字表。在IEC61850-7-2中規(guī)定的GetServerDirectory服務(wù)參數(shù)如圖4所示。
圖4 GetServerDirectory參數(shù)Fig.4 Parameters of GetServerDirectory
請求(Request)中包含一個 ObjectClass參數(shù),此參數(shù)為被選擇的類,可以取值為LD或文件;肯定響應(yīng)參數(shù)(Response+)指明服務(wù)請求成功,在Reference中返回LD的objectReference或文件的FileName;否定響應(yīng)參數(shù)(Response-)指明服務(wù)請求失敗,返回相應(yīng)的 ServiceError。
參照圖4所示參數(shù),實現(xiàn)Web Services的過程如下。
a.定義GetServerDirectory的響應(yīng)數(shù)據(jù)類型。
b.定義GetServerDirectory服務(wù)函數(shù),包括函數(shù)名、形參和如何實現(xiàn)服務(wù)的具體程序代碼。
相應(yīng)地,其他的服務(wù)也可按照上述方式編寫。
c.函數(shù)編寫好之后,要想實現(xiàn)功能服務(wù),還需要搭建SOAP的應(yīng)用環(huán)境。首先,初始化SOAP應(yīng)用環(huán)境,調(diào)用soap_bind()將服務(wù)綁定到具體的端口,然后調(diào)用soap_accept()等待接收客戶端的請求,在客戶端通過調(diào)用相應(yīng)的服務(wù)函數(shù),如ns_GetServerDirectory()就可獲取相應(yīng)的服務(wù)返回。
試驗的硬件環(huán)境如表1所示。
將PZK-3配電終端和控制中心管理者樣機(jī)接入10 Mbit/s局域網(wǎng)內(nèi),然后在管理機(jī)側(cè)調(diào)用Get-ServerDirectory操作測試返回請求的正確性和時間性。在管理機(jī)側(cè)接收到的GetServerDirectory服務(wù)的響 應(yīng) 中,_sizeLDRef=3,LDRef[]={“LD1”,“LD2”,“LD3”},與2.2節(jié)定義的配電終端的信息模型結(jié)構(gòu)完全一致;經(jīng)過多次試驗,從GetServerDirectory請求發(fā)出到請求返回所用時間小于1 s,完全滿足配電自動化的時間需求[15]。對于一些要求響應(yīng)返回較多數(shù)據(jù)的服務(wù)如GetDataDefinition、GetAllDataValues等,返回時間會隨著數(shù)據(jù)的增多延長,由于配網(wǎng)自動化的時間要求較低,也還是可以滿足要求。
表1 硬件試驗環(huán)境Tab.1 Hardware environment of test
目前,IEC61850標(biāo)準(zhǔn)在配電自動化中的應(yīng)用還處于探索階段。本文所提IEC61850的Web Services映射,通過分析和試驗證明了其在配電自動化領(lǐng)域應(yīng)用的可行性,為IEC61850標(biāo)準(zhǔn)在配網(wǎng)的推廣提供一定的參考。當(dāng)然,Web Services還存在一些實際應(yīng)用方面的問題,如占用CPU、內(nèi)存資源較多;在傳輸相同數(shù)據(jù)時,需要較高的帶寬等,相信這些問題會隨著配電終端的升級和通信技術(shù)的發(fā)展得到解決。