張滬寅,鄭顯瑞
(武漢大學 計算機學院,湖北 武漢430072)
IEC61850標準規范了智能變電站數據共享和設備間互操作的實現,從數據結構、功能建模方法、變電站信息層次及關系映射等方面進行了詳盡的描述[1,2]。文獻 [3,4]針對不同組網方式下數值和控制報文的傳輸進行了分析,并在此基礎上對進行了仿真測試。上述文獻中涉及過程層數據過濾技術時均使用基于IEEE802.1Q 的虛擬局域網(VLAN)技術,但是VLAN 技術的實施具有較高的復雜性,且如不能廣播數據進行過濾會增加終端處理壓力。GMRP技術通過動態創建組播映射關系,可以實現精確的網絡流量控制,并簡化工程實施的難度。文獻 [7,8]分析和論證了GMRP協議在智能變電站網絡中的可行性。本文設計完成了一種基于GMRP協議的專用智能變電站仿真系統,對基于GMRP協議的智能變電站過程層網數據傳輸進行仿真實現,并對運行在GMRP協議之上的智能變電站過程網絡中的數據進行了分析。
在智能變電站網絡中,從邏輯和功能上劃分為3個層次,即站控層,間隔層,過程層[2]。智能變電站通信網絡如圖1所示。
智能變電站通信系統中每一層的主要功能如下[2]:
(1)站控層:利用各間隔或全站的信息,對多個間隔或全站一次設備產生作用;與遠方控制中心、工程站及人機界面的通信;

圖1 智能變電站通信網絡
(2)間隔層:利用本間隔的數據對本間隔的一次設備產生作用,如線路保護設備或間隔單元控制設備就屬于這一層;
(3)過程層:主要完成開關量IO、模擬量采樣和控制命令的發送等一次設備相關的功能。
智能電子設備可以分為斷路器IED、合并單 (MU)IED、保護與控制 (P&C)IED 這3類。除了上面3類智能設備還有用于數據傳輸的交換機,對變電站進行整體控制的站控主機,接收變電站系統信息的站控服務器。
仿真測試平臺主要有總控程序、通信分析模塊、設備實體庫、網絡協議庫、拓撲構建模塊所組成,本平臺可以使用圖形化界面完成各類智能變電站系統的構建和分析。
在圖2中,拓撲構建模塊用來完成智能變電站系統的構建,以模擬真實網絡。總控程序用于掃描所有設備實體,構建運行隊列,完成活動事件并推進時間軸的前進。通信分析模塊分析系統中數據流的信息,如時延、利用率等。設備實體庫對設備實體進行建模,實現實體功能。網絡協議庫用來構建信息轉發需要的網絡協議。

圖2 平臺架構
GMRP是GARP (通用屬性注冊協議)的一種應用,主要提供二層組播管理功能。過程層網絡數據過濾技術主要采用VLAN、GMRP,但這兩種方法并不沖突,在實踐中可以根據需要采用其中一種或結合使用。
GMRP提供了一種動態的通用框架能使發布訂閱方式的組播信息在交換以太網內進行注冊注銷詢問操作[1]。GMRP依據下面的原則進行轉發路徑的構建[8]:
(1)設備通過Join報文聲明加入某多播組的意愿,該聲明通過Leave命令撤銷;
(2)當同一網段已有設備聲明對某一多播組感興趣時,如果另一設備監聽到了該聲明,它無需再明確提出聲明;
(3)交換機在某一端口監聽到對某一多播組的聲明時,它在該端口為該多播組添加一個注冊信息。當聲明某一多播組服務的所有設備都離開后,交換機將向其它交換機注銷掉該多播組;
(4)交換機會把一個端口的注冊信息向其它端口廣播,同時多播注冊信息將沿生成樹進行廣播。
當某端口進入轉發狀態,交換機首先將注冊在其它端口上的組播信息封裝在Join報文中發送出去,然后將注冊在本端口的組播信息封裝在Join報文中從其它端口發送出去,同時需要將該組播信息注冊在本端口中。當某端口進入阻塞狀態,交換機首先將注冊在其它端口上的組播信息封裝在Leave報文中發送出去,然后將注冊在本端口的組播信息封裝在Leave報文中從其它端口發送出去,同時需要將該組播信息從本端口注銷。
在總控程序實現過程中,將鏈路當作一種設備實體,可以通過配置鏈路時延以真實的模擬報文在具體鏈路中的傳輸狀態。同時為了仿真結果的準確性和數據包傳輸的有效監控,在所有設備實體中,所有的報文通過WinPcap庫完成數據包封裝,解封裝和發送。總控程序的流程具體步驟如下:
步驟1 使用者在圖形界面中構建所需要測試的智能變電站通信網絡拓撲;
步驟2 在網絡拓撲構建后,總控程序讀取拓撲的配置文件,并創建相關的設備實體用以模仿智能設備以及交換機;
步驟3 總控程序進行初次掃描,建立初始待處理事件隊列,并開啟系統模擬功能;
步驟4 系統時鐘推進,并進行時間掃描,用以確定下一步長內的處理事件隊列。選擇在下一仿真時鐘間隔內需要執行的事件,并按優先級放到相應的處理事件隊列中;
步驟5 按照優先級順序,依次執行當前事件隊列中所有的事件;
步驟6 如果模擬過程仍在繼續則重復步驟4和步驟5。
系統的初次掃描通過遍歷設備實體獲得初始待處理事件隊列。初次掃描完成后,總控程序根據待處理事件隊列中的事件推進系統時鐘。在傳統離散事件仿真中存在兩類時鐘推進方法:面向事件的推進方式、面向固定事件間隔的推進方式。本文采用將上述方式結合的方法設計時鐘推進,步驟如下:
步驟1 設置系統時鐘、步長Δt等參數的初始值,步長的值在開始前設定,在實驗過程中逐步調整以提高系統的精度和效率;
步驟2 從待處理事件隊列中,獲取需要最先執行事件的執行時間,并取得與當前系統時鐘的差值Ti,步長為mΔt,則下一待處理事件與當前系統始終的差為步長的Ti/Δt 倍,設倍數為m;
步驟4 處理事件集中所有事情執行完成后,系統時鐘遞增Δt;
步驟5 更新系統狀態和參數;
步驟6 判斷是否滿足結束條件。若不滿足,轉至步驟2;若滿足,則終止。
設備實體間的數據流動分析是設備實體庫開發的前提與基礎。本模擬測試平臺主要基于以下設備實體間數據流動分析。
(1)采樣值SMV 報文:SMV 報文中承載的原始數據由一次設備產生,通過過程層網絡周期性的將數據傳輸到本間隔的P&C IED 和站控服務器。IEC61850標準對合并單元的采樣值傳輸有兩種不同的映射方法:IEC61850-9-1、IEC61850-9-2[2]。在由以太網技術實現的過程層網絡中采用IEC61850-9-2標準。
SMV 報文的發送間隔屬于周期性間隔,每隔Δt會以組播的方式向網絡中發送一次設備采集的數據。故SMV 報文發送的時間分布函數為

其中,T0為第一個SMV 報文發送的時間,n 為第n 個數據包。
對于采樣率為80 的SMV 報文,報文的最大長度為159字節,而采樣率為256的報文最大報文長度為1037字節,本文采用常用的80點采樣報文。
(2)GOOSE報文:在IEC61850中規定,跳閘控制信號使用GOOSE報文進行傳輸。GOOSE 報文的傳輸不需要會話層、傳輸層、網絡層協議棧的支持,故可以減少報文的處理時間,降低傳輸時延。
當跳閘故障發生后,P&C IED 檢測到故障,通過通信系統向本間隔的斷路器發送跳閘控制命令;在斷路器的狀態沒有發生改變時,斷路器會以較間隔T0發送GOOSE 報文來傳遞開關狀態信息。當斷路器接收到P&C IED 發送的跳閘控制命令后,通過開入板采集跳閘信號,并以最小間隔T1發送兩次包含有最新狀態信息的GOOSE 報文給P&C IED,并在其后以依次增大的間隔T2、T3、T4再次發送GOOSE報文。
由于兩次跳閘故障的產生沒有任何相關性,在相互獨立的間隔內,跳閘故障具有獨立性,故該故障屬于典型的隨機事件。對于隨機事件,可以使用泊松分布進行仿真,對于服從參數為λ的泊松分布,泊松分布的密度函數為

根據反變換法可以得到

其中,ri服從均勻分布。故有

故獲取服從泊松分布的隨機變量N 的步驟如下:
步驟1 假設程序運行的時間為t ms;初始化參數i=1,p =1;
步驟2 在 [0,1]區間上生成一個均勻分布的隨機數,記為ri+1,令p =p*ri+1;
步驟3 如果p >e-γ,則i不是所需要的隨機數,返回執行第2步;
步驟4 如果p ≤e-γ,則i即為所需要的隨機數,如果i<t,則結束運行,否則轉步驟2。
該隨機數在程序進行初始化的時候進行,隨機數產生完成后對其進行排序,以方便實體在運行是選取,確定下一個報文的發送時間。
(3)MMS報文:GSSE 報文傳輸是通過MMS的信息報告服務實現的,一般只是用于傳遞保護跳閘、閉鎖等狀態變化信息。在智能變電站中一般用于斷路器IED、P&C IED 向站控層服務器周期性傳遞設備狀態信息。在此假設兩個設備均以20ms的間隔周期性發送數據大小為256字節的設備狀態信息。
在仿真系統的實現過程中,網絡協議庫實現占有非常重要的地位。交換機實體的實現參考了Linux2.6.4內核的Bridge模塊,并在其基礎上根據需求進行了修改和擴充,完成了STP、VLAN、GMRP、CAM 表查找操作、數據包的接收和轉發等功能。
如圖3所示,netif_receive_skb用于接收從鏈路實體中轉發過來的數據包。Handle_bridge是交換機實體接受到數據包后開始的第一個操作。如果發現數據包的br_port為空,即目的地為本實體,則交給netif_receive_skb進行協議匹配,然后由deliver_skp處理后交給上層協議,否則將數據包交給br_handle_frame進行處理。如果該數據包為BPDU 報文的話,該報文會提交給br_stp_recalculate_bridge_id函數進行STP 樹的重新構建。如果該報文為GMRP報文,則會提交給GMRP代理完成組播組的注冊和注銷事件。

圖3 交換機實體的函數流程
當數據包進入br_handle_frame函數后,首先判斷數據包的目的地址類型。如果目的地址類型為組播則進入br_local_in函數進行操作,在此過程中可能需要更新轉發表。如果目的地址為單播則進入br_pre_routing函數并調用br_handle_frame_finish。
br_handle_frame_finish 首先根據目的地址進行查找。如果目的地址為本機,則將數據包的端口地址br_port更改為空,將數據包返回給handle_bridge繼續進行處理。如果數據包的目的地址為其它設備,且端口處于Learning狀態,則丟棄報文,如果端口處于Forwarding狀態則進行標準的數據包轉發。
VLAN 協議使用給報文加標記的方法。對于發送到本機的數據包,只需要將數據中的標記進行剝離;對于發送到外部的數據包,在剝離數據包后,將其VLAN 信息保存在相應的結構中,供以后轉發時使用。
為了驗證GMRP 協議在智能變電站系統中的可靠性、實時性以及系統的可行性,本文以一個典型變電站間隔作為系統模擬評估節點,基于過程網絡數據分析對實現方案進行定量評估。在實驗中設置系統實驗時間為500ms,步長為40μs。跳閘故障的發生服從γ等于500的泊松分布。
圖4描繪了基于GMRP協議和VLAN 技術數據過濾技術綜合運用下過程層網絡數據報文的傳輸的時延。由于泊松分布的特點,跳閘故障和GOOSE 報文的發送時間主要集中在500ms左右的區間內,存在一定的重尾現象。但是從圖中可以看出,這些報文的傳輸可以滿足IEC61850標準的要求。同時由于GOOSE報文在500ms左右的聚集使得SMV、MMS報文的傳輸時延有一定程度的增加,但是增加的幅度不是很大,說明GMRP協議和VLAN 技術的結合可以將突發數據的傳輸對周期性數據傳輸的影響保持在一個可以接受的范圍內。

圖4 報文端到端延遲
圖5描述了GMRP協議、VLAN 技術以及二者結合的情況下GOOSE 報文的傳輸時延。由于在每一次測試中跳閘故障的發生時間由程序自動產生,故每一種情況下,GOOSE報文的發送時間并不相同。基于GMRP 協議和VLAN 技術的數據過濾技術可以極大的降低GOOSE 報文的傳輸時延。在單獨使用上述技術的情況下,GMRP 協議對于數據過濾的效率要比VLAN 高。但是GMRP 協議與VLAN 技術相結合進行數據過濾并沒有獲得比使用GMRP協議較明顯的效果。

圖5 不同網絡環境下端到端延遲
綜上可以看出,GMRP 協議可以有效的降低智能變電站網絡中數據報文的傳輸時延,同時可以有效的控制突發性數據對于周期性數據的影響。GMRP協議和VLAN 的綜合應用可以在一定程度上降低數據的傳輸時延。
本文針對GMRP協議在智能變電站系統中的應用進行探討,在分析與實現的基礎上對報文傳輸時延進行了定量評估,并驗證了GMRP協議在智能變電站通信網絡中進行數據過濾的可行性與有效性。仿真測試平臺的實現解決了通用的網絡平臺如NS2、OPNET 等在智能變電站系統建模與實現上的不足。但是在數據流量的處理、GMRP協議的處理方面還有待提高,以使其更接近智能變電站系統的實際。
[1]Sidhu,Tarlochan S,Yin Yujie.Modelling and simulation for performance evaluation of IEC61850-based substation communication systems [J].IEEE Transactions on Power Delivery,2007,22 (3):1482-1489.
[2]CODEP.Communication networks and systems in substations-Part 1:Introduction and overview [S].2009.
[3]SU Lin,SUN Chunjun,CHU Nong.Network construction scheme for process level of Smart Substation [J].Telecommunications for Electric Power System,2010,31 (7):10-13 (in Chinese).[蘇麟,孫純軍,褚農.智能變電站過程層網絡構建方案研究 [J].電力系統通信,2010,31 (7):10-13.]
[4]XU Chunxia,ZHANG Yanxia,GE Yuetian.Research and analysis of network data of process level of smart substation[J].Electric Power,2013 (8):153-159 (in Chinese).[徐春霞,張艷霞,葛躍田.智能變電站過程層網絡數據流的分析與研究 [J].中國電力,2013 (8):153-159.]
[5]Nelson BL,Carson JS,Banks J.Discrete event system simulation [M].Prentice Hall,2009.
[6]Nutaro James J.Building software for simulation:Theory and algorithms,with applications in C++ [M].John Wiley &Sons,2011.
[7]WANG Song,HUANG Xiaoming.Research of GOOSE packet filtering method [J].Automation of Electric Power Systems,2009,32 (19):54-57 (in Chinese). [王松,黃曉明.GOOSE報文過濾方法研究 [J].電力系統自動化,2009,32(19):54-57.]
[8]LI Jing,DUAN Bin,ZHOU Jianglong,et al.Design of a publish/subscribe communication model based on GMRP for substation communication [J].Power System Technology,2008,32 (16):16-21 (in Chinese). [李晶,段斌,周江龍,等.基于GMRP 的變電站發布/訂閱通信模型設計 [J].電網技術,2008,32 (16):16-21.]
[9]Thrybom L,Prytz G.Multicast filtering in industrial Ethernet networks[C]//8th IEEE International Workshop on Factory Communication Systems.IEEE,2010:185-188.
[10]Richard Stevens W.Advanced programming in the unix environment[M].Addison-Wesley Professional,2007.