孫志佳,范東凱,羅來峰,周俊峰
(長園深瑞繼保自動化有限公司,廣東 深圳 518057)
IEC TC57(國際電工委員會第57技術委員會)從1995年開始制訂,于2004年完成制定并發布了IEC 61850變電站通信網絡和系統系列標準的第一版。該技術標準吸收了國際最先進的技術,并大量引用了多個領域的國際標準,是一個十分龐大的標準體系,而不僅僅是通信協議標準[1]。標準采用面向對象的建模技術,面向未來的可擴展通信架構,以實現“一個世界、一種技術、一個標準”為目標,IEC 61850 系列標準的出現解決了以往變電站自動化系統中不同廠家設備的互操作問題,實現了不同廠家設備的網絡連接。工程實踐表明,在不同制造商的IED(智能電子設備)之間實現了良好的互操作性,并且能夠適應通信及應用技術的快速發展[2-5]。IEC 61850 系列標準技術委員會跟隨技術發展,對系列標準不斷更新、擴展、完善,系列標準于2009 年開始逐步發布ED2.0 版本,并于2018 發布了修訂版本ED2.1,目前是該系列標準的最新版本[6]。
我國變電站通信技術一直緊跟國際步伐,在IEC 61850系列標準第一版發布后,迅速組織設備廠商和相關領域專家將此國際標準轉換為國內的電力行業標準并貫徹執行,對提高國內變電站自動化水平、促進變電站自動化技術發展、實現變電站設備廠家的互操作性非常重要。我國于2004—2006 年翻譯引進IEC 61850 標準,結合實際情況制定了DL/T 860 系列標準。從“十二五”開始,國家加快智能電網建設,堅定了IEC 61850 ED1.0系列標準作為國內智能變電站通信網絡與系統建設基礎的決心,在智能變電站建設中占據主導地位[7]。智能變電站采用三層兩網的通信架構,過程層通信網絡采用標準提出的GOOSE(面向通用對象的變電站事件)、SV(采樣值)技術,站控層通信網絡采用標準提出的MMS(制造報文規范)技術。為加快數字化變化站建設的步伐和IEC 61850標準的應用,國內設備廠商對GOOSE和SV技術依據標準組織研發實現,站控層通信網絡MMS技術大多數是通過購買SISCO 公司開發的MMSEASE Lite軟件包的方式實現快速開發,目前也是在購買SISCO 公司采用C 語言開發的軟件包基礎上結合實際應用情況進行二次開發,以滿足IED設備的通信需求。雖然SISCO 公司開發的軟件包是專門為嵌入式應用設計,對CPU(中央處理器)和內存的使用低,執行效率高,降低了開發成本和風險,大大縮短了設備的研發周期,但由于軟件包價格高且后續升級維護需繳納高昂費用,國內廠商基本都是購買一個版本,不包含后續維護升級服務。采用MMS-EASE Lite 軟件包開發的IED設備能夠滿足變電站設備通信及互操作要求,但在大量工程應用實踐過程中依然存在很多問題,例如MMS 結構復雜功能二次開發難度大且效率低、軟件包本身BUG、未掌握核心技術、代碼維護難度高等[8-10]。針對上述問題,考慮到國外對國內的技術封鎖以及國內自主可控意識的不斷增強,核心技術的國產替代十分必要,MMS作為站控層網絡通信的核心技術,考慮電網穩定安全等因素,實現國產技術替代已迫在眉睫,在這樣的大環境背景下,國家電網公司組織二次設備廠家開展MMS技術的替代工作,并制定了變電站二次系統CMS(通信報文規范),實現了IEC 61850 服務映射核心技術的自主可控[11-12]。
鑒于IEC 61850在國內變電通信技術的核心地位以及自主可控新一代設備對站控層通信網絡技術的要求,本文提出一種變電站CMS在自主可控新一代產品上應用的技術實現方案,同時對比CMS 與MMS 的技術差異,分析新技術優勢和效果,從設備廠商角度考慮如何兼容兩種技術的工程實踐應用,實現無縫切換。由于篇幅原因,過程層通信技術GOOSE和SV的應用實現本文不做闡述。
CMS 協議在ACSI(抽象通信服務接口)的映射上與MMS協議相比產生較大改變,但兩者均是基于IEC 61850標準將抽象通信服務接口映射到底層通信協議棧的技術[13]。CMS信息模型映射遵循DL/T 860.73 和DL/T 860.74 標準,依然采用DL/T 860.6 SCL 語言配置的SCD(系統配置文件)、ICD(能力描述文件)、CID(ICD實例配置文件),在靜態模型文件的應用上MMS與CMS協議完全兼容。CMS 協議的在線模型與MMS 存在差異,CMS在通信服務中采用一組分離的引用名和功能約束參數表示,不采用DL/T 860.81 在進行功能服務映射時的擴展處理,DL/T 860.81 修改了引用名格式,將FC添加至引用名,成為”XXX/XXX$FC$XXX”的形式,CMS不采用此種形式的擴展。CMS協議的通信服務模型遵循DL/T 860.72標準,并對部分服務進行了擴展,以適應國內變電站建設的應用場景,完全替代了DL/T 860.81部分闡述的特定通信服務映射到MMS的相關技術要求,直接將ACSI映射到TCP/IP協議棧,采用ASN.1 的PER(壓縮編碼規則),替換MMS 使用的BER(基本編碼規則),為滿足變電站對通信安全和個別應用場景需求擴展的服務包括:傳輸層安全、應用層安全、關聯協商、數據服務的功能約束、文件服務的斷點續傳、遠程過程調用。CMS 與MMS 協議的服務一致性測試依然遵循IEC 61850—10部分要求,對擴展服務需單獨增加測例。
IEC 61850系列標準采用抽象的建模方法和面向對象的思想,為變電站應用定義了抽象的通信服務應用實例,該部分定義由IEC 61850 標準的7-2、7-3、7-4 部分規定。將定義的抽象通信服務接口映射到具體的底層通信協議上,實現信息交換在IEC 61850 標準8-1 部分定義,即MMS 協議。CMS協議替代思想摒棄了IEC 61850標準8-1部分規定的特定通信服務模型映射到底層協議棧MMS的方法,將標準定義的抽象通信服務模型直接映射到TCP/IP,實現原有信息服務模型映射到MMS協議子集的替代,采用信息服務模型到底層應用協議的一對一映射方法,規定了特定報文格式和報文語法,實現變電站設備間的信息交換[13-14]。MMS與CMS的映射差異如圖1所示。
由圖1可以看出核心ACSI服務以及抽象信息模型映射在兩種底層通信協議之間的差異。IEC 61850 標準8-1 規定的核心ACSI 服務原語并不具備通信功能,沒有特定的報文格式和編、解碼規范,不可以直接用于信息交換,需進行特定通信服務映射到底層通信協議后才可進行信息交互,IEC 61850 標準8-1 部分規定了核心ACSI 到底層協議MMS 的映射關系,MMS 為國際標準而并非為IEC 61850 設計,核心ACSI 映射到MMS 協議無法實現一對一映射,需對IEC 61850模型和服務分別映射,將多個ACSI服務與模型分解并分別映射到某幾個MMS 服務與模型上,CMS 協議將ACSI 直接映射到TCP/IP,信息模型則直接采用IEC 61850 模型,無需做MMS 模型映射轉換。MMS 協議通過服務加信息模型共同區分ACSI 服務,CMS 協議則通過報文的服務碼區分服務來實現信息交互。IEC 61850的主要抽象通信服務接口映射到CMS 與MMS 協議的服務差異如表1所示。

表1 MMS與CMS服務映射差異Table 1 Differences in MMS and CMS service mapping
由表1 可以看出,MMS 協議映射分為兩種形式,分別是一對一映射、多對一映射;CMS則是一對一映射方式。CMS 協議在原有服務接口上,擴展了一組用于實現遠程過程調用的通信服務接口,該組接口是一種通用化、自描述的接口和方法,客戶端可以動態獲取接口和方法定義,根據定義動態的組織發送結構數據并對響應進行解析。依據CMS 標準規范該組接口可以用于任何功能,但出于安全考慮,目前僅用于數據查詢和數據分析,功能服務接口主要包括:GetRpcInterfaceDirectory(讀遠程調用接口目錄)、GetRpcMethodDIrectory(讀遠程調用方法目錄)、GetRpcInterfaceDefinition(讀遠程調用接口定義)、GetRpc-MethodDefinition(讀遠程調用方法定義)。除此之外,CMS協議還擴展了以下服務:GetAllDataDefinition(讀所有數據定義服務)、GetAllCBValues(讀所有控制塊值服務)、Test(測試幀服務)、AssociateNegotiate(關聯協商服務)、GetFileDirectory(列文件目錄服務)。
IEC 61850 標準8-1 部分在將服務映射MMS時,對IEC 61850 標準7-2 部分的服務數據對象進行了擴展。而CMS 協議映射則是按照IEC 61850標準7-2部分規定執行,未采用MMS協議映射的擴展,主要體現在以下幾個方面:
1)不采用MMS 映射擴展的功能約束:CO、BR、RP、LG、GO、GS、MS、US。
2)不采用MMS 映射擴展的數據對象:SBOW、Oper、Cancel。
3)不采用MMS 映射擴展的控制塊數據服務對象。
4)不采用MMS 映射使用的Reference 形式IEDNAME LD/LN $FC $DO $DA,而采用的是IEDNAME LD/LN.DO.DA形式。
MMS 協議采用ASN.1 的BER,CMS 則采用ASN.1 的PER,兩種編碼規則均是將ASN.1 形式的數據結構編碼成用于數據傳輸的比特流,數據解碼過程則和編碼過程相反。ANS.1 用于描述通信協議傳輸的PDU(協議數據單元),利用ASN.1描述的數據結構,可以在任何操作系統上轉換為具體的內部通信語法結構,并不產生歧義。標準的ASN.1 編碼規則有BER、PER、CER(規范編碼規則)、DER(唯一編碼規則)、XER(XML編碼規則)[15]。本文只對比CMS與MMS協議映射使用的編碼規則,其余編碼規則不做贅述。
1.2.1 BER編碼
BER 是ASN.1 中最早定義的,傳輸語法格式是TLV 三元組

圖2 傳輸語法示例Fig.2 An example of transmission syntax
BER 編碼中的Tag 是一個八位組,指明具體的傳輸值類型。Tag有兩種形式,當Tag值不大于30 時,Tag 只有一個八位組編碼;當Tag 大于30時,則Tag 在多個八位組中編碼。當在多個八位組編碼時,第一個八位組后5位全部為1,其余八位組最高位為1表示后續還有,直到最高位為0表示Tag結束,Tag的組合形式如圖3所示。

圖3 Tag的組合形式Fig.3 The combination form of Tag
BER 編碼Length 字段表示Value 字段占用八位組的個數,分定長方式和不定長方式兩類,在確定方式后,根據Length 字段占用八位組個數分短、長兩種形式。如圖4 所示,如果采用定長方式,當數據長度不大于127 時,Length 字段只在一個八位組編碼;當數據長度大于127,則需要在多個八位組編碼,此時第一個八位組低7 位表示Length 大小。采用不定長方式,Length 字段固定編碼0x80,Value 字段編碼結束后以兩個0x00結尾。

圖4 Length的3種組合形式Fig.4 Three combination forms of Length
BER 編碼Value 字段表示需要傳遞的實際值,具體傳輸編碼規則根據Tag選擇,此處不再贅述。
1.2.2 PER 編碼
BER 編碼常常因為其開銷過大而受到詬病,與真實編碼數據相比,平均需要增加約50%的額外數據,由于BER編碼這種缺點,推動了PER編碼的誕生。相同的傳輸協議,使用PER 編碼比使用BER 編碼在傳輸數據大小上,至少有40%~60%的改進,可以有效減少傳輸帶寬,在視頻通話、多媒體等高速數據傳輸領域有廣泛應用[16-18]。CMS 協議考慮到MMS 協議映射使用BER 編碼缺陷,改用PER 編碼以縮減傳輸帶寬并提高傳輸效率,減輕網絡傳輸壓力。
PER 編碼的格式為[P][L][V]
IEC 62351—6 部分闡述了IEC 61850 的通信安全,但目前國內變電站對IEC 62351標準的應用非常少,雖然已有部分設備廠商開展了標準的應用開發,但未在國內變電站建設中得到推廣應用。CMS 協議規范考慮到目前變電站通信的安全隱患,在標準制定過程中引入IEC 62351—6 部分規范,闡述了變電站安全通信體系架構。變電站安全主要包括站控層網絡和過程層網絡的安全防護。站控層網絡安全又分為傳輸層安全T-Profile 與應用層安全A-Profile,傳輸層安全采用TLS協議作為傳輸層安全協議,加密算法采用國密算法,加密套件采用ECDHE_SM4_SM3 和ECC_SM4_SM3;應用層安全采用認證參數的方式實現身份識別。過程層安全考慮到數據傳輸實時性的要求,采用HMAC 消息認證機制實現安全通信。變電站安全通信架構如圖5所示。

圖5 變電站安全通信架構Fig.5 The secure communication architecture of the substation
實現CMS 協議開發分為4 個部分:基于IEC 61850 對象與CMS 數據結構的映射,基于ASN.1的PER 編、解碼過程設計,基于面向連接的TCP/IP網絡傳輸機制設計,MMS協議與CMS協議兼容性設計。如上文所述CMS 協議映射摒棄IEC 61850 對象向MMS 協議映射的復雜過程,采用了直接映射方式。CMS 通信服務流程如圖6 所示:CMS 客戶端向服務端發起連接請求,服務端與客戶端建立連接,客戶端向服務端發送服務命令請求,服務端正確接收報文后進行解碼和語義校驗,通過后根據報文中的服務碼進行不同服務流程處理,組織響應數據結構經PER 編碼轉換為二進制比特流,傳輸至以太網實現信息交換。

圖6 CMS服務流程Fig.6 The CMS service process
CMS 協議規范定義的服務語法是采用ASN.1方式標記描述,實際開發過程中要將其定義的語法文件轉換為高級語言對應的類型和語法,這種映射關系是唯一映射[17-19]。考慮代碼維護性和自主可控特性,開發過程中并未采用第三方開源的ASN.1語法翻譯軟件包,而是采用自主研發方案,將CMS協議描述的服務模型翻譯成C語言對應的語法和數據類型,并加以封裝,實現CMS的編碼解碼應用。CMS編碼處理流程如圖7所示。

圖7 CMS編解碼處理流程Fig.7 The encoding and decoding process of CMS
CMS 協議規范描述了安全和非安全兩種方式的通信方法,在程序開發過程中均設計了具體的實現方案。本文采用配置文件方式實現通信配置,配置內容包括:傳輸層安全的相關證書路徑、應用層安全的相關證書路徑、通信白名單、是否啟用傳輸層安全及應用層安全的配置開關。每條通信連接單獨配置,可同時支持安全和非安全通信,滿足工程現場多場景通信需求。通信連接處理流程如圖8所示,服務端初始化加載配置后,形成通信連接池,只有在通信連接池內的客戶端IP 才可與服務端建立連接,同時根據連接請求是否為安全請求,做不同通信流程處理。

圖8 通信連接處理流程Fig.8 The communication connection process
本文討論的是國產化自主可控保護裝置CMS協議映射實現方案,因此軟硬件開發環境為嵌入式,具體情況如下:嵌入Linux操作系統、自主可控型保護裝置、Arm-Linux 交叉編譯環境、元器件國產化率達95%以上的硬件平臺。
軟件在設計過程中充分考慮了后續可能的應用場景,設計了CMS 協議與MMS 協議無縫自由切換的軟件架構,在實際工程應用時通過配置區分采用何種通信協議,程序啟動初始化時根據協議配置加載不同的協議組件和資源配置,實現通信環境構建。主程序流程如圖9 所示。由于CMS協議與MMS 協議在IEC 61850 模型映射上的差異,軟件設計在靜態模型加載后的映射上做了兼容處理,根據協議配置實現不同資源結構映射。此軟件架構設計同一時間只有CMS 或MMS 協議可用,不可同時使用。

圖9 主程序啟動流程Fig.9 The startup process of main program
基于上述CMS協議的設計方案,開發了服務端通信程序并應用于自主可控新一代裝置,為了驗證協議服務的一致性、代碼健壯性以及CMS協議棧性能,搭建了測試環境。一臺聯想L14 筆記本(處理器主頻1.6 GHz,內存16 GB)運行由公司測試組開發的CMS 協議一致性測試客戶端工具,一臺自主可控新一代線路保護裝置PRS 753 運行CMS 服務端程序,兩者通過交換機相連。測試所用裝置模型包含LD0、PROT、RCD 這3 個邏輯設備、50個邏輯節點、20個數據集、20個報告控制塊、一個日志控制塊、一個定值控制塊,靜態模型大小為367 kB。采用由公司測試組開發的wireshark協議解析插件抓取報文分析。
IEC 61850 服務一致性測試遵循IEC 61850—10 部分的規定,CMS 協議規范在進行ACSI 映射時做了部分服務擴展,除擴展服務外其余服務的ACSI 遵循規定,但CMS 協議還需驗證協議的語法和語義的正確性。針對上述情況測試組對一致性測試工具進行了測例調整。
測試結果表明,采用本文所述的CMS協議實現方案,可滿足通信要求且可通過協議服務一致性測試考驗,在測試過程中出現部分服務的否定測例不通過、錯誤碼回復不正確等問題,經修復后再次驗證可通過測試。
協議健壯性測試是發現CMS協議程序在出現故障時,能否恢復或忽略異常的重要測試手段,可以有效驗證代碼的容錯能力。為了驗證本文開發的CMS協議軟件代碼的健壯性,采用了模糊攻擊、重放攻擊、差錯報文攻擊等手段進行測試。結果表明,在應對部分攻擊時出現程序無法運行、異常無法恢復等問題,經過有效容錯后再次驗證,并未出現異常無法恢復問題。
針對上文提出的CMS 協議與MMS 協議兼容性方案,通過協議配置選擇不同協議,分別使用CMS 和MMS 客戶端、一致性測試工具,驗證服務有效性和代碼健壯性。測試結果表明,CMS 與MMS協議可以通過配置選擇切換,并通過了服務一致性和代碼健壯性測試。
分別搭建MMS 和CMS 的測試環境進行協議性能對比測試,兩臺PRS753 裝置分別運行CMS和MMS 協議程序,兩臺聯想L14 筆記本(處理器主頻1.6 GHz,內存16 GB)分別運行由測試組開發的CMS客戶端工具和MMS客戶端工具,裝置與客戶端通過交換機連接,所用模型大小為367 kB。模型包含LD0、PROT、RCD 這3 個邏輯設備、50個邏輯節點、20個數據集、436個數據集成員、10 個RCB、兩個日志控制塊、一個定值控制塊,為驗證數據交互性能,在客戶端部署wireshark 軟件抓包分析。測試內容包括:讀取模型初始化效率測試、讀取數據測試、總召及報告報文測試等。
3.5.1 在線讀模型初始化效率測試
在線讀模型初始化效率測試結果表明,CMS協議的整體傳輸性能相比于MMS 協議有顯著提高。在線獲取模型效率對比如表2 所示,CMS 協議的初始化時間是MMS 協議的約40%,性能提高明顯。

表2 在線獲取模型效率對比Table 2 Comparison of online model acquisition efficiencies
在線讀取模型的通信過程包括以下步驟。
1)客戶端工具與服務端建立連接和應服務關聯后,將從服務端獲取全部模型數據,包含各個LD、各個LD 下的LN、各個LN 下的DO 和DA、各個LN下的數據集、報告控制塊等。
2)根據實例化號讀取對應報告控制塊的當前值信息,并將控制使能標志設置為0,修改報告控制塊參數后,使能報告控制塊。
3)對各個使能的報告控制塊寫總召,服務端發送總召報告后,初始化結束。
3.5.2 數據讀取測試
客戶端工具調用GetAllDataValues 服務,分別讀取兩臺裝置的同一測點,BP2CPROT/Sys-MMXU1。測試結果如表3 所示,對比MMS 協議,CMS 協議請求和響應的整體時間以及請求響應的報文長度都有顯著提高,請求報文長度減少明顯,報文長度僅需MMS協議的1/3左右。

表3 數據讀取性能對比Table 3 Comparison of data retrieval performances
3.5.3 總召報告測試
客戶端選取一個緩存報告控制塊brcbRelay-Din01 作為測試點,執行總召,brcbRelayDin01 關聯的數據集dsRelayDin 包含57 個成員。wireshark抓取客戶端下發總召命令、命令返回、以及總召報告上送全過程。由表4可知,BRCB總召命令請求響應時間、請求報文長度、響應報文長度、報告報文長度等指標均有顯著提升,表明CMS協議相對MMS協議在傳輸的報文長度和報文交互效率上得到了提升。

表4 BRCB總召報告性能對比Table 4 Comparison of BRCB performance from general interrogation report
本文所闡述的CMS協議標準在自主可控新一代裝置上的實現方案,為后續CMS協議標準在其余自主新一代變電站產品平臺的應用推廣提供了思路。該方案目前在國家電網公司自主可控新一代產品線上大面積應用推廣,相應產品在國內多個自主可控變電站運行試點,并通過了國內專業檢測機構的檢測,對推動國內變電站通信核心技術的加速國產化、保障電網通信的穩定安全具有重大意義。