相關(guān)鏈接: 中國(guó)安全網(wǎng) 中國(guó)質(zhì)量網(wǎng) 中國(guó)論文網(wǎng) 中國(guó)資訊網(wǎng)
作者:張毅宏
智能變電站一體化監(jiān)控系統(tǒng)按照全站信息數(shù)字化、通信平臺(tái)網(wǎng)絡(luò)化、信息共享標(biāo)準(zhǔn)化的基本要求.通過(guò)系統(tǒng)集成優(yōu)化.實(shí)現(xiàn)全站信息的統(tǒng)一接入、統(tǒng)一存儲(chǔ)和統(tǒng)一展示,能有效整合變電站內(nèi)運(yùn)行監(jiān)視、操作與控制、綜合信息分析與智能告警、運(yùn)行管理和輔助應(yīng)用等功能并促進(jìn)全站信息的順利流通.成為智能電網(wǎng)調(diào)度控制和生產(chǎn)管理的重要保證。
智能變電站一體化監(jiān)控系統(tǒng)提出遵循IEC61850標(biāo)準(zhǔn)實(shí)現(xiàn)全站信息的統(tǒng)一建模和站內(nèi)數(shù)據(jù)傳輸。在智能變電站一體化監(jiān)控系統(tǒng)中,智能電子設(shè)備(IED)位于間隔層,遵循IEC 61850標(biāo)準(zhǔn)建立信息模型,使用制造報(bào)文規(guī)范( manufacturingmessage specification,MMS)作為底層通信協(xié)議。站控層的IEC 61850客戶端與IED通信,獲取變電站一、二次設(shè)備信息,進(jìn)行數(shù)據(jù)存儲(chǔ)、監(jiān)視和告警.供高層系統(tǒng)查詢和瀏覽,同時(shí)下發(fā)高層系統(tǒng)的操作與控制命令。
站控層IEC 61850客戶端的通信過(guò)程復(fù)雜、需要提供人機(jī)交互方式,研發(fā)工作量大,對(duì)IEC61850通信服務(wù)的靈活性和擴(kuò)展性的要求更高。由于對(duì)IEC 61850理解的差異性和實(shí)現(xiàn)方式的不同.站控層IEC 61850通信服務(wù)的實(shí)現(xiàn)方法存在一致性和擴(kuò)展性問題,一種方法是自主研發(fā)MMS應(yīng)用協(xié)議集.需要進(jìn)行MMS原語(yǔ)交換的處理以及傳輸報(bào)文的編解碼,僅實(shí)現(xiàn)了部分功能,開發(fā)工作量大、效率低,難以保障協(xié)議的一致性。另一種方法采用現(xiàn)有的MMS協(xié)議棧.在應(yīng)用層上構(gòu)建特定通信服務(wù)映射模塊.實(shí)現(xiàn)抽象通信服務(wù)接口(ACSI)核心服務(wù)到MMS的映射。該方法需要使用MMS協(xié)議棧的復(fù)雜通信接口,二次開發(fā)難度大.并依賴于特定系統(tǒng)和運(yùn)行環(huán)境,不利于系統(tǒng)的移植和擴(kuò)展。
為了減少智能變電站一體化監(jiān)控系統(tǒng)中站控層客戶端的研發(fā)工作量.提高靈活性和擴(kuò)展性,滿足IEC 61850各種通信需要與實(shí)際應(yīng)用,本文提出了底層實(shí)時(shí)通信協(xié)議到ACSI通信服務(wù)的封裝方法.解耦A(yù)CSI通信服務(wù)與特定系統(tǒng)的綁定,支持面向?qū)ο蠛涂缙脚_(tái)技術(shù)特性,能夠?yàn)榇绑w與瀏覽器等形式的站控層客戶端提供高效易用的IEC61850基礎(chǔ)通信服務(wù)。
1 智能變電站一體化監(jiān)控系統(tǒng)的IEC 61850通信架構(gòu)
針對(duì)智能變電站一體化監(jiān)控系統(tǒng)中IEC 61850通信部分,提取站控層和問隔層中遵循IEC 61850標(biāo)準(zhǔn)的裝置,給出基于IEC 61850的通信架構(gòu).如圖1所示。
變電站一體化監(jiān)控系統(tǒng)通過(guò)劃分安全區(qū)的方式隔離了保護(hù)、測(cè)控、監(jiān)測(cè)以及輔助數(shù)據(jù)。I區(qū)和Ⅱ區(qū)通信網(wǎng)關(guān)機(jī)作為一體化監(jiān)控系統(tǒng)連接安全I(xiàn)區(qū)和Ⅱ區(qū)接口,通過(guò)直采直送的方式實(shí)現(xiàn)與調(diào)度控制1中心的實(shí)時(shí)數(shù)據(jù)傳輸,同時(shí)接收調(diào)度(調(diào)控)中心的操作與控制命令。I區(qū)本地監(jiān)控主機(jī)和Ⅱ區(qū)綜合應(yīng)用服務(wù)器作為各自安全區(qū)內(nèi)數(shù)據(jù)的集巾設(shè)備,同樣需要采用IEC 61850標(biāo)準(zhǔn)通信方式與位于間隔層的各個(gè)IED進(jìn)行信息交互。
智能變電站一體化監(jiān)控系統(tǒng)中的站控層設(shè)備主要采用客戶端/服務(wù)器通信方式。通信網(wǎng)關(guān)機(jī)、監(jiān)控主機(jī)和綜合應(yīng)用服務(wù)器都將充當(dāng)IEC 61850客戶端,采用讀取數(shù)據(jù)模型、讀取與設(shè)置數(shù)據(jù)、報(bào)告和控制等通信服務(wù),實(shí)現(xiàn)與間隔層IED設(shè)備的數(shù)據(jù)通信。因此,實(shí)現(xiàn)站控層中ACSI通信服務(wù)到底層通信協(xié)議棧的封裝對(duì)于站控層設(shè)備的研發(fā)具有重要的意義。
2通信服務(wù)封裝的基本方法
基于面向?qū)ο蠛涂缙脚_(tái)原理的底層實(shí)時(shí)通信協(xié)議MMS到站控層通信服務(wù)的基本封裝過(guò)程.如圖2所示.
(1)為了避免自主研發(fā)MMS協(xié)議機(jī)以及傳輸報(bào)文編/解碼器帶來(lái)的復(fù)雜性和研發(fā)成本.底層實(shí)時(shí)通信協(xié)議采用MMS-EASE.可以節(jié)省自主開發(fā)MMS協(xié)議機(jī)以及ASN.1的編/解碼器的成本.為站控層通信服務(wù)的開發(fā)提供了方便快捷的底層實(shí)時(shí)通信接口。每個(gè)協(xié)議層為獨(dú)立模塊,每層為上層協(xié)議提供服務(wù),可以根據(jù)特定應(yīng)用的要求選用不同的協(xié)議層組合。
(2)根據(jù)IEC 61850-8-1給出的站控層底層實(shí)時(shí)通信協(xié)議與通信服務(wù)的映射規(guī)則,將底層實(shí)時(shí)通信協(xié)議中的數(shù)據(jù)結(jié)構(gòu)和通信接口封裝為面向?qū)ο蟮腁CSI通信服務(wù)類。
(3)將面向?qū)ο蟮姆峭泄芡ㄐ欧⻊?wù)封裝為托管的通信服務(wù),解耦A(yù)CSI通信服務(wù)與特定系統(tǒng)的綁定,支持面向?qū)ο蠛涂缙脚_(tái)技術(shù)特性,能夠滿足各種站控層客戶端的需要,減少二次開發(fā)成本.并具有良好的可擴(kuò)展性.
3 MMS封裝為面向?qū)ο蟮腁CSI通信服務(wù)類
現(xiàn)有站控層通信服務(wù)到底層實(shí)時(shí)通信協(xié)議的映射采用面向過(guò)程的方式實(shí)現(xiàn),通信服務(wù)功能的實(shí)現(xiàn)需要聯(lián)合調(diào)用多個(gè)通信接口并使用大量相關(guān)的數(shù)據(jù)結(jié)構(gòu),采用面向?qū)ο蟮姆绞綄?duì)散亂的數(shù)據(jù)結(jié)構(gòu)和通信接口進(jìn)行封裝,將站控層通信服務(wù)依賴的數(shù)據(jù)結(jié)構(gòu)和接口重新組織,精簡(jiǎn)代碼結(jié)構(gòu),顯著提高開發(fā)效率.
3.1 ACSI通信服務(wù)類成員變量
將用于MMS協(xié)議棧初始化、對(duì)象模型配置和通信線程管理的數(shù)據(jù)結(jié)構(gòu)封裝為類的私有變量.防止對(duì)基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)的修改,僅在類的方法中被設(shè)置或使用,避免外部函數(shù)對(duì)其進(jìn)行不正當(dāng)操作。通信服務(wù)類的主要成員變量如表1所示。
自定義數(shù)據(jù)結(jié)構(gòu)并封裝為通信服務(wù)類的輔助成員變量,用于通信過(guò)程中的數(shù)據(jù)組織和展示。對(duì)象模型樹變量將服務(wù)端對(duì)象模型解析到樹形結(jié)構(gòu)中,以層次化的形式展示對(duì)象模型。報(bào)告控制塊變量封裝設(shè)置報(bào)告服務(wù)的一組變量,傳遞給設(shè)置報(bào)告控制塊服務(wù)以控制報(bào)告行為。報(bào)告信息變量組織產(chǎn)生報(bào)告的詳細(xì)內(nèi)容,傳遞給報(bào)告處理回調(diào)方法進(jìn)行報(bào)告的記錄。通信服務(wù)類輔助成員變量如表2所示.
3.2 ACSI通信服務(wù)方法的映射
ACSI通信服務(wù)的工作流程分為通信系統(tǒng)初始化和站控層通信2個(gè)部分,如圖3所示。
(1)通信系統(tǒng)初始化過(guò)程中載入日志配置文件、協(xié)議棧配置文件和站控層配置文件進(jìn)行日志工具、MMS棧和站控層網(wǎng)絡(luò)的配置及對(duì)象模型的解析,并將對(duì)象模型封裝為樹形結(jié)構(gòu)。將上述過(guò)程調(diào)用封裝到通信服務(wù)類的初始化方法中,在通信服務(wù)類初始化時(shí)執(zhí)行,為進(jìn)行站控層通信做好所有準(zhǔn)備工作。
(2)站控層通信在獨(dú)立的線程中執(zhí)行,首先連接到服務(wù)端.成功后獲取連接信息,連接信息是進(jìn)行后續(xù)通信的憑證。建立通信服務(wù)到MMS的映射規(guī)范,將MMS的通信接口封裝到通信服務(wù)類方法中.參數(shù)中的對(duì)象引用從樹形對(duì)象模型中獲取.ACSI通信服務(wù)到MMS接口的映射關(guān)系如下:
①對(duì)于讀取服務(wù)器、邏輯設(shè)備、邏輯節(jié)點(diǎn)日錄等通信服務(wù).映射到MMS的瀆有名變量列表通信接口,配置請(qǐng)求參數(shù)中的層級(jí)參數(shù),實(shí)現(xiàn)獲取不同層級(jí)的對(duì)象目錄。
②對(duì)于讀取、設(shè)置數(shù)據(jù)值和數(shù)據(jù)集等通信服務(wù).映射到MMS的讀/寫有名變量通信接口,在請(qǐng)求參數(shù)巾傳人要讀取/設(shè)置數(shù)據(jù)的所在域和名稱,并設(shè)置返回參數(shù)獲取讀。O(shè)置數(shù)據(jù)后的結(jié)果。報(bào)告控制塊是與報(bào)告服務(wù)相關(guān)的一組有名變量,對(duì)于報(bào)告控制塊的讀取和設(shè)置也映射到讀/寫有名變量接口,但需要對(duì)報(bào)告控制塊中的報(bào)告標(biāo)識(shí)、可選域、觸發(fā)選項(xiàng)等有名變量分別讀取和設(shè)置。
③對(duì)于讀數(shù)據(jù)目錄、數(shù)據(jù)定義和數(shù)據(jù)集目錄等通信服務(wù),映射到MMS的讀變量訪問屬性和讀變量列表屬性通信接口。在請(qǐng)求參數(shù)中指定要獲取的數(shù)據(jù)或數(shù)據(jù)集的引用.獲得類型定義信息等元數(shù)據(jù)。
4 MMS封裝為面向?qū)ο蟮腁CSI通信服務(wù)類
將上述依賴于特定操作系統(tǒng)的ACSI通信服務(wù)類封裝為托管平臺(tái)上的通信服務(wù)類,能夠方便遷移到安裝有托管平臺(tái)的各類操作系統(tǒng).并且支持托管平臺(tái)上的任意架構(gòu)的應(yīng)用程序調(diào)用.以應(yīng)用于變電站一體化監(jiān)控系統(tǒng)站控層的各種設(shè)備中。
4.1 指令調(diào)用與數(shù)據(jù)封送
圖4給出了通信服務(wù)類的跨平臺(tái)封裝過(guò)程.包括指令調(diào)用封裝和數(shù)據(jù)結(jié)構(gòu)封送。
(l)指令調(diào)用。將非托管和托管通信服務(wù)類進(jìn)行混合,然后統(tǒng)一編譯成虛擬化平臺(tái)指令。例如,將ACSI通信服務(wù)類的獲取數(shù)據(jù)值方法放置于托管通信服務(wù)類的相應(yīng)方法中.經(jīng)過(guò)編譯生成托管指令,完成托管通信服務(wù)類對(duì)ACSI通信服務(wù)類的指令調(diào)用。
(2)數(shù)據(jù)封送。特定系統(tǒng)和托管平臺(tái)對(duì)字符串、結(jié)構(gòu)體和回調(diào)函數(shù)的實(shí)現(xiàn)機(jī)制不同,因此在托管服務(wù)類和非托管服務(wù)類之間傳遞時(shí),對(duì)其進(jìn)行封送處理,過(guò)程如下。
①封送字符串。托管通信服務(wù)類的數(shù)據(jù)模型獲取、模型數(shù)據(jù)的設(shè)置和獲取等通信服務(wù)都以字符串作為參數(shù)及返回值。以通信服務(wù)類的獲取數(shù)據(jù)值為例,托管通信服務(wù)接收對(duì)象的引用作為參數(shù),類型為托管平臺(tái)的字符串,采用雙字節(jié)編碼。將其拷貝到非托管內(nèi)存并轉(zhuǎn)換為單字節(jié)編碼.生成特定于非托管平臺(tái)的特定類型。將特定類型字符串轉(zhuǎn)換為字符指針作為非托管通信服務(wù)的參數(shù),完成作為參數(shù)的字符串的封送。非托通信服務(wù)調(diào)用后返同指定對(duì)象的數(shù)據(jù)值,類型為非托管平臺(tái)字符串,采用單字節(jié)編碼。首先進(jìn)行類型轉(zhuǎn)換生成平臺(tái)特定字符串,之后將其拷貝到托管內(nèi)存并轉(zhuǎn)換為雙字節(jié)編碼.完成返回值字符串的封送.
②封送結(jié)構(gòu)體。非托管通信服務(wù)類的報(bào)告控制塊獲取和設(shè)置服務(wù)以及報(bào)告結(jié)果輸出回調(diào)都使用結(jié)構(gòu)體作為參數(shù)。在托管服務(wù)類中定義相應(yīng)的類進(jìn)行封送,使用托管平臺(tái)的報(bào)告控制塊類封送非托管平臺(tái)的報(bào)告控制塊結(jié)構(gòu)體,使用報(bào)告信息類封送報(bào)告信息結(jié)構(gòu)體。對(duì)于結(jié)構(gòu)體中的整數(shù)、浮點(diǎn)數(shù)等可直接跨平臺(tái)使用的類型.直接賦值到托管平臺(tái)的類中,對(duì)于字符串、數(shù)組等不可跨平臺(tái)使用的類型,使用上文所述字符串封送方法進(jìn)行封送處理。對(duì)于結(jié)構(gòu)體中定義的結(jié)構(gòu)體,進(jìn)行遞歸處理.直到處理完每一個(gè)簡(jiǎn)單類型.
③封送回調(diào)函數(shù)。非托管通信服務(wù)類使用異步通信方式,通過(guò)函數(shù)指針的形式實(shí)現(xiàn)回調(diào)函數(shù).在通信成功后執(zhí)行函數(shù)指針指定的輸出處理方法.完成通信結(jié)果和報(bào)告內(nèi)容的處理。在托管通信服務(wù)類中定義相應(yīng)的輸出委托和報(bào)告委托封送回調(diào)函數(shù),站控層通信完成后調(diào)用函數(shù)指針指定的輸出處理方法,同時(shí)提供輸出數(shù)據(jù)供調(diào)用者處理.之后觸發(fā)相應(yīng)的委托,并傳遞經(jīng)過(guò)封送的輸出數(shù)據(jù),完成回調(diào)函數(shù)的封送.
4.2通信過(guò)程封裝
跨平臺(tái)通信服務(wù)類完成對(duì)ACSI通信服務(wù)類中通信方法的調(diào)用,同時(shí)完成參數(shù)和返回值的跨平臺(tái)封送。以報(bào)告服務(wù)為例,給出其通信封裝過(guò)程,如圖5所示。
(1)讀取報(bào)告控制塊。站控層客戶端調(diào)用托管通信服務(wù)類的讀取報(bào)告控制塊服務(wù),并傳遞控制塊引用字符串( Str_RCBRef)和報(bào)告控制塊對(duì)象( RCBObj)作為返同參數(shù);托管通信服務(wù)類生成對(duì)應(yīng)的RCB結(jié)構(gòu)體(RCBStruct),調(diào)用非托管通信服務(wù)類的獲取報(bào)告控制塊服務(wù).傳遞經(jīng)過(guò)封送處理的控制塊引用指針( Ptr_RCBRef)以及RCBStruct作為返回參數(shù)用來(lái)獲取控制塊數(shù)據(jù):非托管通信服務(wù)類調(diào)用MMS的讀有名變量服務(wù),依次讀取服務(wù)端報(bào)告控制塊中的報(bào)告標(biāo)識(shí)符、可選域等有名變量,并將數(shù)據(jù)值存儲(chǔ)到RCBStruct的對(duì)應(yīng)變量中:托管通信服務(wù)類將填充數(shù)據(jù)后的RCBStruct封送為托管平臺(tái)的RCBObj,返回給站控層客戶端。
(2)設(shè)置報(bào)告控制塊。站控層客戶端編輯讀取的RCBObj,設(shè)置報(bào)告控制塊各個(gè)變量的值;調(diào)用托管通信服務(wù)類的設(shè)置報(bào)告控制塊服務(wù),并傳遞Str_RCBRef和編輯過(guò)的RCBObj參數(shù);托管通信服務(wù)類將其封送為用于非托管平臺(tái)的Ptr_RCBRef和RCBStruct數(shù)據(jù)類型,傳遞給非托管通信服務(wù)類的設(shè)置報(bào)告控制塊服務(wù):非托管通信服務(wù)類調(diào)用底層協(xié)議棧的寫有名變量服務(wù),將RCBStruct中的可選域、觸發(fā)選項(xiàng)、完整性周期變量依次寫入到服務(wù)端報(bào)告控制塊的相應(yīng)變量中.返同成功信號(hào)給站控層客戶端。
(3)開始報(bào)告。站控層客戶端調(diào)用托管通信服務(wù)類的開始報(bào)告服務(wù),傳遞Str_RCBRef參數(shù);托管通信服務(wù)類調(diào)用非托管通信服務(wù)類的啟動(dòng)報(bào)告服務(wù),傳遞經(jīng)過(guò)封送的Ptr_RCBRef參數(shù):非托管通信服務(wù)類調(diào)用MMS棧的報(bào)告,使其能夠服務(wù),激活服務(wù)端的數(shù)據(jù)報(bào)告。報(bào)告激活后,根據(jù)控制塊設(shè)定的觸發(fā)選項(xiàng)在數(shù)據(jù)發(fā)生變化后調(diào)用報(bào)告輸出回調(diào)函數(shù),并傳遞給托管平臺(tái)的報(bào)告輸出委托.由站控層客戶端指定的方法處理報(bào)告輸出。
5試驗(yàn)與測(cè)試
將上述方法應(yīng)用于國(guó)家電網(wǎng)公司某科技項(xiàng)目的站端監(jiān)測(cè)單元研發(fā),構(gòu)建了一個(gè)試驗(yàn)測(cè)試環(huán)境,并成功進(jìn)行了與綜合監(jiān)測(cè)單元的通信試驗(yàn),如圖6所示。
站端監(jiān)測(cè)單元匯聚綜合監(jiān)測(cè)單元發(fā)送的數(shù)據(jù),支持人工召喚和定時(shí)自動(dòng)輪詢2種方式采集監(jiān)測(cè)數(shù)據(jù),實(shí)現(xiàn)對(duì)綜合監(jiān)測(cè)單元的模型獲取與控制等功能。
采用網(wǎng)絡(luò)協(xié)議分析器Wireshark實(shí)時(shí)捕獲IEC61850與MMS協(xié)議的通信報(bào)文,包括雙邊應(yīng)用關(guān)聯(lián)、目錄和數(shù)據(jù)類型的獲取、報(bào)告等。通過(guò)比較站端監(jiān)測(cè)單元的實(shí)際輸出與預(yù)期輸出的異同,驗(yàn)證了與IEC 61850與MMS標(biāo)準(zhǔn)的一致性,如圖7所示。
對(duì)10 min內(nèi)定時(shí)召喚周期為10 s的MMS通信報(bào)文進(jìn)行了統(tǒng)計(jì)分析,取樣期問(1 s)的報(bào)文數(shù)量如圖8所示。
在8-11 s時(shí)間段內(nèi)進(jìn)行雙邊應(yīng)用關(guān)聯(lián),通信初始化后,主要傳輸報(bào)文為數(shù)據(jù)召喚請(qǐng)求與響應(yīng)。
往返延遲( RTT)是衡量網(wǎng)絡(luò)性能的重要指標(biāo)。圖9給出了綜合監(jiān)測(cè)單元到站端監(jiān)測(cè)單元的往返延時(shí)。
正常運(yùn)行情況下,大多數(shù)時(shí)間內(nèi)通信網(wǎng)絡(luò)中只有報(bào)告報(bào)文,吞吐量與端到端延時(shí)低,明顯滿足智能變電站一體化監(jiān)控系統(tǒng)的通信要求。
6結(jié)語(yǔ)
本文提出了一種面向?qū)ο蟮、跨平臺(tái)的MMS協(xié)議到ACSI核心服務(wù)的封裝方法.為智能變電站一體化監(jiān)控系統(tǒng)提供面向?qū)ο笄铱煽缙脚_(tái)應(yīng)用的IEC 61850基礎(chǔ)通信服務(wù)。該方法可以降低IEC61850客戶端的開發(fā)周期和成本,對(duì)通信網(wǎng)關(guān)機(jī)與綜合應(yīng)用服務(wù)器的研發(fā)具有重要參考價(jià)值。
7摘 要:
智能變電站一體化監(jiān)控系統(tǒng)遵循IEC 61850與制造報(bào)文規(guī)范實(shí)現(xiàn)全站信息的統(tǒng)一建模和數(shù)據(jù)傳輸,實(shí)現(xiàn)全站信息統(tǒng)一的接入、存儲(chǔ)和展示。通過(guò)對(duì)智能變電站一體化監(jiān)控系統(tǒng)通信架構(gòu)的分析,針對(duì)現(xiàn)有站控層通信服務(wù)接口的實(shí)現(xiàn)方案存在一致性和擴(kuò)展性不足等問題,提出了底層實(shí)時(shí)通信協(xié)議到托管抽象通信服務(wù)的封裝方法,支持面向?qū)ο蠛涂缙脚_(tái)技術(shù)特性,減少站控層客戶端的研發(fā)工作量,為站端監(jiān)測(cè)單元與數(shù)據(jù)通信網(wǎng)關(guān)機(jī)等提供高效易用的基礎(chǔ)通信服務(wù),并給出了一致性與性能測(cè)試結(jié)果,驗(yàn)證了方法的正確性和可行性。