(廣東電網珠海供電局1,廣東 珠海 519000;廣州思唯奇計算機科技有限公司2,廣東 廣州 510665;武漢大學自動化系3,湖北 武漢 430072;中國五環工程有限公司4,湖北 武漢 430072)
隨著智能變電站的逐步推廣,變電站二次設備的運行形態發生了本質的改變,以前在二次側電纜中傳輸的模擬量信息被數字化網絡報文所替代。目前,許多智能變電站中最關鍵的過程層網絡拓撲為點對點的傳輸方式,然而這種點對點傳輸有著較大的固有缺陷。各地已經開始嘗試開發和應用基于交換的過程層網絡[1]。在基于交換的過程層網絡拓撲下,采樣值數據得到了很好的共享,因而可以在過程層網絡上展開一些新型保護的研究。
然而,由于智能化變電站網絡集中了全站的報文數據,導致網絡上的設備需要強大的網絡報文處理能力[2]。智能化變電站的網絡報文分為采樣值(sample value,SV)報文、面向通用對象的變電站事件(generic object oriented substation event,GOOSE)報文、制造報文規范(manufacturing message specification,MMS)報文和同步時鐘報文等4類報文。“網絡報文記錄分析與故障錄波一體化裝置”需要通過不同的軟件模塊同時實現報文記錄分析和故障錄波的功能,實現對上述4類報文在不同層面上的分析。
本文在研究當前變電站報文處理現狀和處理器架構及原理的基礎上,探討如何通過網絡報文線速處理技術解決這個難題。
在現有的過程層網絡設備中,一般采用RISC架構的通用嵌入式CPU來處理網絡報文,這受限于CPU的基本架構,無法滿足線速處理網絡報文的要求。通用CPU處理報文一般采用中斷的處理方式,由于報文處理能力低下,這類裝置具有以下缺點:①設備可用性差,當網絡流量異常如發生網絡廣播風暴時[3],設備無法正常工作;②設備過于復雜,當單個CPU無法滿足報文接入要求時,只能采用多個CPU多點接入的系統,這時,往往需要多臺設備組成的接入系統才能解決網絡報文的接入、處理問題[4];③設備可維護性差,多個接入點之間為了保證接入數據不重復,需要通過GMRP設置復雜的組播規則[5]。同時,多個CPU之間的協調、對時也使得管理異常復雜和繁瑣。
進入21世紀以來,大量實時的語音和媒體數據傳輸業務進入互聯網,使得網絡帶寬每7個月就翻一番。網絡處理器(net processor,NP)應運而生[6]。采用對稱多處理器模式的NP架構如圖1所示。

圖1 采用對稱多處理器模式的NP架構
網絡處理器(NP)內部集成了6個通用CPU核心(CORE),6個CPU核共享RAM空間(DDR2內存)。NP還提供了多個網絡報文接口,可以接入多路千兆以太網。報文輸入處理(packet input process,PIP)是一個專用的硬件協處理單元,它負責網絡報文的接收與分發。PIP能夠直接訪問RAM空間,并能夠在無需CPU核處理的情況下將從網絡接口接收的報文存儲到RAM的緩存區域,同時發出事件消息給CPU核心。此外,PIP具有編程能力,能夠根據以太網ID識別網絡報文的種類,并且根據報文的分類將事件消息傳送給指定的CPU核。
在智能變電站中,網絡報文以交換和組播的方式在網絡中傳遞,同一網絡中的所有設備共享同一個數據通道。網絡報文記錄分析與故障錄波一體化裝置作為第三方的監控設備,作用十分明顯。
網絡報文有兩個層面的分析。一是對報文的結構、性能、61850一致性等進行分析,這是通常的報文記錄分析功能。二是對報文承載的內容進行分析,對SV報文承載的采樣值進行分析,對GOOSE報文承載的狀態量進行分析,這就是故障錄波的功能[7]。
一體化裝置的主要工作是報文處理、數據存儲和報文內容分析、處理和記錄。如何有效地提高報文處理能力,以滿足全站報文的處理甚至網絡廣播風暴情況下的報文處理,是一體化功能能否可靠實現的關鍵。
基于前文提到的網絡處理器獨特的多CPU核和專用硬件報文協處理器的特點,本文設計了一套基于網絡處理器的智能變電站網絡報文處理流程。
網絡處理流程步驟如下。
① 當報文到達時,PIP接收報文,并將報文放入報文緩存區域(RAM區域),同時對報文進行分類;再根據報文種類,將事件消息和指針傳遞給相關CPU核(CORE1、CORE2、CORE3)。
② CORE1處理GOOSE報文,解析整個智能變電站過程層的事件信息,并將報文放入存儲緩存區域。
③ CORE2處理SV報文,解析整個智能變電站的采樣值信息,并將報文放入存儲緩存區域。
④ CORE3處理其他報文,其中包括IEEE 1588報文和MMS報文。解析整個智能變電站的IEEE 1588對時情況和整個智能變電站站控層MMS協議工作情況,并將報文放入存儲緩存區域。
⑤ 當CORE1、CORE2解析發現異常事件時,發送消息事件和指針給CORE4,CORE4啟動故障錄波,將相關報文放入故障錄波緩存區域(內存區域)。
⑥ CORE5不停地檢測存儲緩存和故障錄波緩存。當發現這兩個緩存有新的報文數據時,將新數據放入存儲設備(磁盤或存儲陣列)。
報文處理流程如圖2所示。圖2中,實線表示報文實際路徑,虛線表示消息、指針路徑。

圖2 報文處理流程
在這個采用網絡處理器(NP)的方案中,共使用了5個CPU核進行網絡報文存儲與分析,每個CPU核獨立工作,并行處理,消除了報文處理的瓶頸。高速的PIP硬件協處理器保證了NP的高速接入能力。處理器內部還有1個CPU核,可以運行實時預警、離線分析等程序。整個裝置功能強大,架構簡單,模塊化清晰。任何擴展功能都可以在增加的CPU核上運行,對網絡報文處理性能不造成影響。采用該款NP的網絡報文記錄與分析裝置可以保證處理至少800 Mbit/s流量的智能變電站網絡報文,對應50個間隔的智能變電站網絡流量。
采用對稱多處理器模式的NP架構對網絡報文進行處理時,需要克服以下幾個設計難點,才能提高NP的處理效率,真正做到線速處理網絡報文。
3.3.1 報文識別分類問題
NP的PIP單元首先要能夠識別報文類別,才能將報文分發給對應的CPU核進行處理。在智能變電站網絡中存在的報文主要是GOOSE報文、SV報文、MMS報文以及IEEE 1588報文。根據IEC 61850協議,GOOSE報文的以太網ID是0x88B8,SV報文的以太網ID是0x88BA。IEEE 1588報文有兩種版本[8-9],IEEE 1588V1屬于IP報文,IEEE 1588V2的以太網ID是0x88F7。MMS報文屬于IP報文。
根據報文處理的分配策略,可以對PIP單元進行編程,對輸入報文的以太網ID字節進行識別:①以太網類型是GOOSE報文的,發送給CORE1處理;②以太網類型是SV報文的,發送給CORE2處理;③其他類型的報文發送給CORE3處理。
3.3.2 CPU核的分配問題
NP具有多個CPU核,這些核能夠并行處理,也能夠組成流水線分步處理。如何合理分配處理任務給各個CPU核,是提高處理效率、消除報文處理瓶頸的關鍵。總體上來說,采用流水線處理構架時,由于每個CPU核的工作任務比較單一,處理效率比較高;采用并行處理的構架時,系統模塊性更強,處理能力更加靈活,擴展性也更強。
在本方案設計中,采用了兩種方式相結合的辦法,即報文的解析采用并行處理,故障錄波和報文存儲采用流水線式處理。這樣,既保證了各種報文處理的獨立性和實時性,又保證了故障錄波和存儲的高效率。
3.3.3 CPU核的管理問題
在NP內部,多個CPU核同時運行程序,如何協調CPU核工作和管理相關硬件資源是一項比較復雜的工作。一般來說,CPU核有3種管理方式:①在所有的CPU核上運行SMP操作系統(一般是Linux);②在單個CPU核上運行獨立的操作系統;③在單個CPU核上不運行任何操作系統,直接運行循環程序代碼。
第一種方式功能強大,易于實現,CPU之間的協調和硬件資源的管理通過操作系統來實現。一般情況下采用這種方式管理NP。
第二種方式適用于某些對實時性要求比較高的場合。在這種情況下需要在部分CPU核上運行實時操作系統,保證處理業務的實時性。
第三種方式適合于對性能極端要求的情況。在這種情況下,設計者直接編寫程序代碼管理硬件資源,代碼的簡潔性和直接性能極大地提升CPU核的運行效率和業務實時性。但是,這種方式的設計難度極大,主要針對處理過程比較簡單但是對性能要求很高的任務。
第二、三兩種方式都需要自行處理CPU之間協調和通信的問題,這個可以通過NP內部的消息管理單元和共享緩存等方式來實現。
在本方案設計中,采用了第一種方式與第三種方式相結合的方式,即通過SMP的Linux操作系統管理CPU核(CORE1~CORE5),在CORE6上直接運行編譯的程序代碼。這樣既能保證主要業務管理的方便性和靈活性,又能保證存儲環節的高效性和可靠性,提高整個系統瓶頸環節的性能。
3.3.4 實例應用
珠海220琴韻變電站3C綠色示范工程是廣東電網公司的重點工程,基于NP架構的網絡報文記錄分析與故障錄波一體化裝置在本工程中得到應用,并成為南方電網公司一體化電網運行智能系統的試點應用的一項內容。該裝置軟件由文件接收模塊、報文分發模塊、GOOSE分析模塊、MMS報文分析模塊、SV報文分析模塊和故障錄波等模塊組成。
① 報文接收模塊從CPU的報文接收單元獲取網絡上的原始報文,將系統的當前時間作為報文的接收時間戳[10],并立即將報文掛入報文接收隊列。
② 報文分發模塊從報文接收隊列獲取報文,并對每個報文進行解碼、流量統計、函數存儲和分發。
③ GOOSE分析模塊對GOOSE報文進行解碼和分析并存儲到數據庫。
④ MMS分析模塊根據報文的網絡ID、源IP、目的IP、源端口、目的端口將報文掛到相應的MMS連接,并分析其中的內容,統計每個MMS連接的流量信息。
⑤ SV報文分析模塊根據APPID將報文掛到相應的SV鏈路,對報文進行解碼,獲取采樣ID,統計SV流量信息,將SV解碼后的內容作為接口信息傳遞給故障錄波模塊。
⑥ 故障錄波模塊進行啟動判斷并記錄,進行啟動時刻的GOOSE報文和SV報文的時間比對并合并報文,生成標準的錄波文件并存儲。
網絡處理器(NP)具有通用CPU無法比擬的報文接入和處理能力。本文提出了采用NP的網絡報文線速處理技術的一體化裝置的解決方案,克服了智能變電站中海量網絡報文處理中報文識別分類、CPU核分配及管理等難題。該方案可全方位地整合變電站信息資源,全面、集約地掌握變電站運行狀況,為事故快速
分析判斷、裝置狀態評估提供有效的支撐。該解決方案成功應用于珠海220琴韻變電站3C綠色示范工程,實現了網絡報文收發、報文分析和故障錄波等功能。
[1] 辛建波,黃瑤.數字化變電站建設中需要注意的幾個問題 [J].江西電力,2007,31(3):37-39.
[2] 張帆,竹之涵,劉之堯,等.面向通用對象的變電站事件(GOOSE)實時解析和預警系統[J].電力系統保護與控制,2009,37(23):92-95.
[3] 張勁松,俞建育,張勇.網絡分析儀在數字化變電站中的應用[C]∥2010輸變電年會論文集,2010.
[4] 樊陳,倪益民,竇仁輝,等.智能變電站過程層組網方案分析[J].電力系統自動化,2011,35(18):67-71.
[5] 李秋江,韋衛,賀志強.網絡處理器體系結構分析[J].計算機工程與應用,2004(5):135-138.
[6] Liu Yizhen,Xu Daxiong,Song Wuying,et al.Design and implematation of high performance IPSec applications with multicore processors[C]∥International Seminar on Future Information Technology and Management Engineering,2008.
[7] 徐成斌,孫一民.數字化變電站過程層GOOSE通信方案研究 [J].電力系統自動化,2007,31(19):91-94.
[8] 楊麗,趙建國,Crossley P A,等.IEEE 1588V2在全數字化保護系統中的應用[J].電力自動化設備,2011,30(10):98-102.
[9] 殷志良,劉萬順,楊奇遜,等.基于IEEE 1588實現變電站過程總線采樣值同步新技術[J].電力系統自動化,2005,29(13):60-63.
[10]謝應科,王建東,祝超,等.網絡測量中高精度時間戳研究與實現[J].計算機研究與發展,2010,47(12):2049-2058.