馬 凱,黃 曙,余南華,慕宗君,方 偉,張巧霞
(1.廣東電網公司 電力科學研究院,廣東 廣州510080;2.許繼電氣技術中心,河南 許昌461000)
隨著網絡技術的發展,國際電工委員會制定了IEC60870-5-104協議用于實現調度主站系統與遠動裝置間通過網絡傳輸數據,IEC60870-5-104協議使用的網絡模型請參見文獻[1]。
在實際傳輸中,遠動裝置與調度主站系統通過TCP地址建立鏈路連接,一個IP地址和一個端口號確定一個唯一的TCP地址。由于端口號的限制,遠動裝置在實現IEC60870-5-104規約時會出現多個應用程序綁定相同IP地址和端口號的問題。隨著智能電網二次一體化的發展,遠動裝置將成為變電站端的數據中心,它要實現的功能會更多,需要與主站通信的應用程序也更多,端口號沖突的問題也會更加突出,本文探討了一種利用網絡代理技術解決該問題的方法。
目前變電站調度系統一般采用三級調度主站配置,每級調度主站需要采集的變電站數據信息內容是不同的,因此對于遠動裝置來說,需要針對每級調度主站創建不同的數據信息轉發表,以滿足不同調度主站的信息獲取需求。變電站端遠動通信設備為了實現向不同的主站轉發不同數據表,為每個主站創建一個IEC60870-5-104規約轉發進程,每個進程只負責同一個主站交互數據。遠動各轉發進程與主站間的數據通信如圖1所示。

圖1 遠動裝置與多主站間數據通信
該方法實現簡單,且當一個進程出現異常時,只會影響一級調度的數據傳輸,對其他調度主站的信息交互不會產生影響。但是該方法在實現上存在問題:由于端口號的限制,圖1中3個IEC60870-5-104規約進程使用相同的端口號2404,造成了多個進程共同綁定一個IP地址+端口號,而TCP/IP協議必須通過不同的端口號才能區分不同的應用程序。
隨著調控一體化、告警直傳、遠程瀏覽的大力推進及應用,變電站內監控系統功能采用分布式部署,對外通過遠動裝置統一出口。此時部署在監控服務器上的告警直傳、遠程瀏覽等應用程序通過遠動裝置與多個主站進行數據通信時也存在相同的問題。
一種常用的解決方案是將多個端口沖突的進程合并為一個進程,但是隨著智能變電站的發展與建設,對遠動裝置提出了更高的要求。新一代遠動裝置需要完成測控、PMU、保護、電量、故障錄波等所有變電站數據的統一采集、統一存儲、統一出口,由于系統功能的復雜性,該方案已經無法實現。
網絡代理是用來實現局域網內的多臺計算機通過一個實際的IP地址連接到Internet的一種方法:在局域網與Internet間增加一個代理服務器,僅給代理服務器申請一個真實的IP地址,局域網內部的客戶機由代理服務器分配一個虛擬的內部IP即可。局域網內的客戶機向Internet發送數據時,先將數據發送給代理服務器,然后再由代理服務器轉發出去,網絡代理的模型如圖2所示。

圖2 網絡代理模型
代理服務器在局域網客戶機與真實的Internet上的服務器之間進行中繼轉發,完成訪問控制,地址轉換等任務。網絡代理技術使局域網內的多臺計算機可以通過一個實際的IP連接到Internet上。遠動系統的多個應用程序需要通過一個IP和端口號連接到Internet上,與此有相似性,因此可以將網絡代理的模型應用于遠動系統。
將網絡代理模型引入遠動系統,在遠動中增加一個網絡代理服務程序,它綁定對外的IP地址和2404端口號,與所有的調度主站及所有的遠動應用程序建立TCP/IP連接,調度主站與應用程序不建立直接連接。網絡代理服務程序就像圖2中的代理服務器一樣將從主站來的數據轉發給應用程序,將應用程序上送的數據轉發給主站。
網絡代理服務程序功能需求:
(1)與各級主站建立TCP連接,與主站交互數據,管理TCP連接;
(2)與被代理的應用程序交互數據;
(3)建立主站地址與應用程序間的地址映射規則,根據規則確定從主站來的數據是發給哪個應用程序的,應用程序的數據是發給哪個主站的;
(4)應滿足被代理的應用程序與代理程序可以分布式部署要求;
(5)網絡代理服務程序還應滿足轉發延遲性能要求。
網絡代理服務程序有兩種實現方式,一種是在應用層實現,一種是在IP層或者更低層實現。本文實現的網絡代理服務程序采用在應用層實現的方法,這中實現方式的好處是:
網絡代理服務程序與主站間及應用程序間都通過TCP/IP協議傳輸數據,可以實現網絡代理服務程序與應用程序的分布式部署。網絡代理服務程序在應用層實現,網絡代理服務程序不進行TCP數據包的解析,僅僅實現連接的轉換,從而保證了轉換的時間效率,且可以適用于任何基于TCP/IP協議的通信規約。網絡代理服務程序實現方式如圖3所示。

圖3 網絡代理服務程序的實現方式
網絡代理服務程序可以單獨部署到一臺計算機上,也可以和應用程序部署在同一臺計算機上。同一臺計算機上可以部署一個或者多個代理程序。代理服務程序與主站間、與應用程序間都是通過TCP/IP連接進行數據交換。網絡代理服務程序部署如圖4所示。圖4中描述了網絡代理服務程序的兩種部署方式:
(1)代理服務程序與被代理的應用程序在同一主機上。部署在遠動主機上的104規約轉發程序、故障錄波轉發程序、繼保信息轉發程序通過部署在同一遠動裝置上的網絡代理服務程序與外部多個主站交互數據。
(2)代理服務程序與被代理的應用程序分別部署在不同的主機上。圖中部署在監控服務器上的告警直傳應用程序與遠程瀏覽應用程序通過部署在遠動上的代理服務程序與多個主站交互數據。

圖4 網絡代理服務程序部署方式
圖5 描述了網絡代理服務程序的內部軟件結構:
與主站通信模塊socket_server:負責網絡代理服務程序與調度主站之間建立TCP/IP連接、接收主站發送的數據,向主站發送數據;
主站地址轉換模塊:描述連接的調度主站網絡信息,作為規則的輸入,通過規則找到目的應用程序的地址;
應用程序地址轉換模塊:描述要應用程序的網絡信息,根據應用程序的地址通過規則找到目的主站地址。
規則模塊:建立調度主站與應用程序之間的地址映射規則,該映射通過讀取配置文件建立;規則子模塊還負責在socket_server與socket_master之間建立數據指針級連接。

圖5 網絡代理服務程序軟件體系結構
與應用進程通信模塊scoket_master:負責在網絡代理服務程序與被代理的各應用程序間建立TCP/IP網絡連接、數據信息交互。
如圖6所示為一組邏輯規則的模型,每一個調度主站IP地址由一個規約模塊綁定的IP地址和一個規約模塊綁定的端口號對應。該邏輯規則模型建立了調度主站與IEC60870-5-104規約模塊之間的對應關系。

圖6 邏輯規則模型
如圖7所示為一個邏輯規則配置示例,該配置文件采用XML文件格式。描述了兩個規約模塊與調度主站之間的連接關系。
10.3 3.178.65主站與10.33.178.81調度主站訪問綁定2405端口的規約發表模塊,實現他們之間的數據信息交互。
10.3 3.6.6主站與10.33.6.7調度主站訪問綁定2406端口的規約發表模塊,實現他們之間的數據信息交互。
銅塊打磨拋光去除表面氧化層,用乙醇和去離子水多次清洗,氮氣吹干待用。配置濃度為0.02 M硝酸銀溶液, 銅塊浸入硝酸銀溶液,控制化學鍍時間分別為10 s、20 s、30 s、60 s。取出后,用去離子水清洗表面,除去未參加反應的硝酸銀,然后氮氣吹干待用。
網絡代理服務程序對外綁定的IP地址為10.33.187.193,對外綁定的端口號為2404。

圖7 邏輯規則配置示例
3.4.1 連接建立流程
調度主站向遠動裝置網絡代理服務程序發起socket連接請求,與外部主站通信模塊接收到調度主站的連接請求后,獲取調度主站的IP地址信息,調用規則子模塊驗證調度主站IP地址信息,如果能夠找到相應的規則,將命令消息轉移到socket_master處理模塊,否則,拒絕調度主站的本次連接。
socket_master模塊根據規則向被代理的應用程序發起網絡連接請求,應用程序響應或拒絕網絡連接請求。規則子模塊在socket_server與socket_master之間建立數據指針級連接,以便于以后的數據信息交互。
主站與應用程序連接建立流程如圖8所示。

圖8 連接建立序列
3.4.2 接收到調度數據流程
調度主站向網絡代理服務程序發送TCP/IP數據包,網絡代理服務程序的socket_server接收到調度主站的TCP/IP數據包后,獲取socket_master連接指針信息,通過scoket_master連接把接收到TCP/IP數據包發送給IEC60870-5-104規約模塊。應用程序接收調度數據流程如圖9所示。

圖9 應用程序接收調度數據序列
應用程序向網絡代理服務程序發出TCP/IP數據包,網絡代理服務程序的socket_master接收到本地轉發表模塊的TCP/IP數據包后,獲取socket_server連接指針信息,通過socket_server把接收到的TCP/IP數據包發送給調度主站。應用程序主動發起數據流程如圖10所示。

圖10 應用程序主動發起數據流程序列
3.4.4 連接斷開流程:
調度主站發起斷鏈:調度主站由于某些原因需要斷開與網絡代理服務程序的TCP/IP連接時,網絡代理服務程序同時斷開與IEC60870-5-104規約模塊之間的TCP/IP連接。調度主站發起斷鏈流程如圖11所示。
規約模塊發起斷鏈:IEC60870-5-104規約模塊由于某些原因需要斷開與網絡代理服務程序的TCP/IP連接時,網絡代理服務程序同時斷開與調度主站之間的TCP/IP連接。

圖11 調度主站發起斷鏈流程序列
本文提出的網絡代理服務程序受到遠動裝置支持的實際網卡個數限制,由于一個規約進程一般僅綁定一個端口號,而規約進程需要判別每個連接的對方IP地址,因此,每個應用程序的最大連接個數為遠動裝置的實際物理網卡個數。
遠動裝置能夠支持的調度連接數目也受到遠動裝置本身能夠支持的應用進程個數限制,由于每個應用進程支持的連接個數有限,當同一級調度存在多個IP地址來訪問轉發表時,需要采用擴展應用進程個數來解決,即:調度主站連接個數=規約進程個數*物理網卡個數。
本文詳細介紹了在遠動裝置中實現一個網絡代理服務程序的方法,以實現遠動裝置多個應用進程同時使用相同IP與端口號與多級調度主站通信。該網絡代理服務程序能夠實現基于TCP/IP協議的網絡連接轉換,建立調度主站與遠動轉發應用程序之間的網絡連接;網絡代理服務程序不進行TCP數據包的解析,僅僅實現連接的轉換,從而保證了轉換的時間效率。
由于網絡代理服務程序不進行TCP數據包的解析,僅僅實現連接的轉換,因此,可以適用于任何基于TCP/IP協議的通信規約。
該方法經過變電站現場實際運行,在遠動裝置采用多個轉發進程與多級調度通信方面具有很好的效果,并且能夠滿足調度數據網雙平面建設的需求。
[1]DU Long,SHI Luning, YANG Jinbai. Application of IEC60870-5-104telecontrol protocol based on TCP/IP in direct dispatching station[J].Power System Protection and Control,2008,36 (17):51-52 (in Chinese).[杜龍,施魯寧,楊晉柏.基于TCP/IP的IEC60870-5-104遠動通信協議在直調廠站中的應用[J].電力系統保護與控制,2008,36(17):51-52.]
[2]LIU Shuang,SHI Guoyou,ZHANG Yuanqiang.Design and implementation of communication software based on TCP/IP protocol and multithreading technology[J].Computer Engineering and Design,2010,31 (11):1417-1418 (in Chinese).[劉爽,史國友,張遠強.基于TCP/IP協議和多線程的通信軟件的設與實現[J].計算機工程與設計,2010,31(11):1417-1418.]
[3]CHANG Guanghui,HAO Junjie,LIU Dichen,et al.Design of the integrated data platform in electric power control center based on multi-agent technology[J].Electric Power Automation Equipment,2008,32 (1):85-89 (in Chinese).[暢廣輝,鎬俊杰,劉滌塵,等.基于多代理技術的電力控制中心綜合數據平臺設計[J].電力系統自動化,2008,32 (1):85-89.]
[4]YUAN Tianyun.The analyses of intelligence multi-agent technology and the application of protective relaying[J].Development &Innovation of Machinery &Electrical Products,2007,20 (2):109-110 (in Chinese).[袁天云.智能多代理技術及其在繼電保護中的應用[J].機電產品開發與創新,2007,20 (2):109-110.]
[5]LEI Yuhong,LIU Yicheng.A simple network agent's service routine based on DELPHI[J].Techniques of Automation and Applications,2007,26 (5):62-65 (in Chinese).[雷于紅,劉益成.基于DELPHI的簡單網絡代理服務程序實現[J].自動化技術與應用,2007,26 (5):62-65.]
[6]HU Chunchao,CAI Zexiang,ZHU Zhihan.Frame-based transmission reliability analysis of the digital substation key messages[J].Power System Protection and Control,2011,39(9):91-96.(in Chinese).[胡春潮,蔡澤祥,竹之涵.提高數字化變電站關鍵報文傳輸可靠性方法研究[J].電力系統保護與控制,2011,39 (9):91-96.]
[7]ZHOU Lianyin,MU Xin.Design of home site based on electrical network mutil-protocol real-time monitor system[J].Computer Engineering and Design,2008,29 (14):3788-3790(in Chinese).[周蓮英,穆鑫.基于多規約的電網實時監測主站系統的設計[J].計算機工程與設計,2008,29(14):3788-3790.]
[8]FENG Yi,LIN Rong,FENG Yan.Study of transferring automation information by using digital channel[J].Power System Protection and Control,2010,38 (12),135-137 (in Chinese).[馮毅,林榕,馮巖.利用數字通道傳輸自動化信息的方案研究[J].電力系統保護與制,2010,38 (12),135-137.]
[9]ZHANG Qi,SHI Jinwei,XU Junjie.Extended research and application of IEC 60870-5-104in the hydropower plant and dispatching communication for power network[J].Electric Power System Protection and Control,2011,39 (15):127-131(in Chinese).[張齊,史金偉,徐俊杰.104規約在水電廠與電網調度通訊中的擴展研究及應用[J].電力系統保護與控制,2011,39 (15):127-131.]
[10]DI Wenhui,LI Jingwei,LIU Jun.Testing software of power telecontrol communication based on 101protocol[J].Computer Engineering and Design,2009,30 (12):3030-3034(in Chinese).[狄文輝,李敬偉,劉晙.基于101規約的電力遠動通信測試軟件[J].計算機工程與設計,2009,30(12):3030-3034.]