《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于IEC60870-5-104協(xié)議監(jiān)聽與測(cè)試系統(tǒng)的研究
基于IEC60870-5-104協(xié)議監(jiān)聽與測(cè)試系統(tǒng)的研究
2015年微型機(jī)與應(yīng)用第22期
程 航,許曉平,洪燦梅,劉名揚(yáng),李英娜,李 川
(昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,云南 昆明 650500)
摘要: 為了防止IEC60870-5-104協(xié)議通信中出現(xiàn)的主站抖動(dòng)現(xiàn)象,開發(fā)了一個(gè)基于IEC104協(xié)議的監(jiān)聽與測(cè)試系統(tǒng)。根據(jù)云南電網(wǎng)調(diào)度自動(dòng)化系統(tǒng)生產(chǎn)運(yùn)行的實(shí)際情況,對(duì)IEC104協(xié)議模型進(jìn)行分析,使用SOCKET編程對(duì)通信報(bào)文進(jìn)行抓包,并通過(guò)對(duì)測(cè)試數(shù)據(jù)的分析,成功地對(duì)IEC104規(guī)約運(yùn)行狀況進(jìn)行實(shí)時(shí)、可靠、準(zhǔn)確的監(jiān)聽、分析與統(tǒng)計(jì)。測(cè)試結(jié)果驗(yàn)證了監(jiān)聽與測(cè)試系統(tǒng)符合標(biāo)準(zhǔn)化的協(xié)議規(guī)范,而且能夠在主子站通信發(fā)生故障時(shí)第一時(shí)間報(bào)警,減少了網(wǎng)絡(luò)阻塞,提高了網(wǎng)絡(luò)通信的效率。
Abstract:
Key words :

  摘  要: 為了防止IEC60870-5-104協(xié)議通信中出現(xiàn)的主站抖動(dòng)現(xiàn)象,開發(fā)了一個(gè)基于IEC104協(xié)議的監(jiān)聽與測(cè)試系統(tǒng)。根據(jù)云南電網(wǎng)調(diào)度自動(dòng)化系統(tǒng)生產(chǎn)運(yùn)行的實(shí)際情況,對(duì)IEC104協(xié)議模型進(jìn)行分析,使用SOCKET編程對(duì)通信報(bào)文進(jìn)行抓包,并通過(guò)對(duì)測(cè)試數(shù)據(jù)的分析,成功地對(duì)IEC104規(guī)約運(yùn)行狀況進(jìn)行實(shí)時(shí)、可靠、準(zhǔn)確的監(jiān)聽、分析與統(tǒng)計(jì)。測(cè)試結(jié)果驗(yàn)證了監(jiān)聽與測(cè)試系統(tǒng)符合標(biāo)準(zhǔn)化的協(xié)議規(guī)范,而且能夠在主子站通信發(fā)生故障時(shí)第一時(shí)間報(bào)警,減少了網(wǎng)絡(luò)阻塞,提高了網(wǎng)絡(luò)通信的效率。

  關(guān)鍵詞: IEC104規(guī)約;測(cè)試與監(jiān)聽系統(tǒng)UML;遠(yuǎn)動(dòng)設(shè)備;報(bào)文分析

0 引言

  IEC60870-5-104協(xié)議具有可靠性高、實(shí)時(shí)性好、數(shù)據(jù)流量充足、支持網(wǎng)絡(luò)傳輸?shù)葍?yōu)點(diǎn),因此IEC104協(xié)議在電力系統(tǒng)中得到廣泛的應(yīng)用。RTU設(shè)備的使用使得數(shù)據(jù)采集更為方便,但是在不同RTU設(shè)備的通信過(guò)程中會(huì)出現(xiàn)通信故障[1-6]。2011年上海申瑞電力科技股份有限公司梁竹靚等人提出分布式電力監(jiān)控系統(tǒng)IEC104規(guī)約通信單元的設(shè)計(jì)方法[7-9]。2012年華北電力大學(xué)薛飛總結(jié)并提出了一套針對(duì)IEC104規(guī)約的以面向?qū)ο鬄槔碚摶A(chǔ),統(tǒng)一建模語(yǔ)言為工具的高度結(jié)構(gòu)化的編程實(shí)現(xiàn)框架,該實(shí)現(xiàn)框架具有更好的可維護(hù)性、可復(fù)用性[10-13]。IEC104協(xié)議僅規(guī)定了重傳多次后還未收到確認(rèn)報(bào)文自動(dòng)斷開連接,并沒有對(duì)這種故障發(fā)出任何警告,如果出現(xiàn)了網(wǎng)絡(luò)故障,主控站人員要經(jīng)歷很長(zhǎng)時(shí)間才能發(fā)現(xiàn),會(huì)導(dǎo)致主站抖動(dòng),使得數(shù)據(jù)無(wú)法上送和連接,造成網(wǎng)絡(luò)堵塞。

  本文結(jié)合市場(chǎng)需求,研究一種基于IEC104遠(yuǎn)動(dòng)規(guī)約的監(jiān)聽與測(cè)試系統(tǒng),利用SOCKET編程實(shí)現(xiàn)對(duì)Client和Server端通信協(xié)議的抓包和數(shù)據(jù)檢測(cè)分析,當(dāng)出現(xiàn)通信故障時(shí)會(huì)發(fā)送報(bào)警信息,使控制人員第一時(shí)間發(fā)現(xiàn)故障并解決問(wèn)題,從而大大提高了IEC104的可靠性。

1 IEC104協(xié)議模型分析

  本文采用網(wǎng)絡(luò)監(jiān)聽的方式針對(duì)基于TCP/IP協(xié)議族和電力通信領(lǐng)域的遠(yuǎn)動(dòng)傳輸協(xié)議IEC60870-5-104通信規(guī)約的測(cè)試分析方法進(jìn)行研究。系統(tǒng)支持在線測(cè)試,并且可以長(zhǎng)時(shí)間進(jìn)行測(cè)試而無(wú)需人工干預(yù);同時(shí)也支持離線分析,在線監(jiān)聽獲取通信過(guò)程中傳輸?shù)乃袛?shù)據(jù),并保存到數(shù)據(jù)庫(kù)或者文件中,可供線下分析。監(jiān)聽與測(cè)試系統(tǒng)的用例圖如圖1所示。

001.jpg

  測(cè)試系統(tǒng)主控站和從站的主線程流程圖如圖2、圖3所示。

002.jpg

  監(jiān)聽系統(tǒng)作為第三方參與,不干涉通信雙方的具體通信僅當(dāng)監(jiān)聽到有某條報(bào)文重復(fù)發(fā)送時(shí),則向服務(wù)器端報(bào)警。監(jiān)聽系統(tǒng)的流程圖如圖4所示。

003.jpg

  IEC104協(xié)議采用應(yīng)答模式的通信方式,即發(fā)送一條報(bào)文后收到此條報(bào)文的確認(rèn)報(bào)文才認(rèn)為此次通信成功,否則將會(huì)重傳這條報(bào)文。例如未出現(xiàn)故障的遙控操作的泳道圖如圖5所示。

004.jpg

  在測(cè)試系統(tǒng)中當(dāng)通信一方發(fā)送一條報(bào)文后在一定的時(shí)間內(nèi)未收到確認(rèn)報(bào)文,就會(huì)啟動(dòng)重傳機(jī)制重傳此條報(bào)文。若還是未收到確認(rèn)報(bào)文當(dāng)未超過(guò)最大重傳次數(shù)時(shí)就繼續(xù)重傳,否則就自動(dòng)斷開連接。圖6是出現(xiàn)通信故障時(shí)的遙控操作的泳道圖。

005.jpg

  測(cè)試系統(tǒng)中采用的超時(shí)處理方案如下:

 ?。?)當(dāng)TCP連接的時(shí)間超過(guò)30 s還未收到目的子站的確認(rèn)報(bào)文,則認(rèn)為連接網(wǎng)絡(luò)出現(xiàn)了嚴(yán)重的情況,TCP連接失敗,重新發(fā)送測(cè)試報(bào)文。

  (2)當(dāng)鏈路空閑時(shí)為了確保鏈路處于聯(lián)通狀態(tài),會(huì)發(fā)送U格式的測(cè)試報(bào)文,若在15 s內(nèi)未收到確認(rèn)報(bào)文則T1此時(shí)自動(dòng)斷開TCP連接,隨后重新開始TCP連接。

 ?。?)子站向主站發(fā)送執(zhí)行完畢報(bào)文或突發(fā)請(qǐng)求報(bào)文,希望獲得主站的S格式的報(bào)文確認(rèn)回復(fù),若10 s內(nèi)未收到主站的回復(fù)報(bào)文,則子站自動(dòng)斷開TCP連接。

 ?。?)當(dāng)鏈路處于空閑狀態(tài)超過(guò)30 s,會(huì)啟動(dòng)鏈路測(cè)試功能,向?qū)Ψ桨l(fā)送U格式的鏈路測(cè)試報(bào)文。

2 監(jiān)聽系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

  本文采用端口匯聚技術(shù)將物理上的兩個(gè)端口連接起來(lái)形成一條邏輯鏈路,并使用端口鏡像技術(shù)將通信報(bào)文復(fù)制到鏡像端口,通過(guò)對(duì)鏡像端口通信報(bào)文的監(jiān)聽實(shí)現(xiàn)監(jiān)聽測(cè)試系統(tǒng)的服務(wù)器端和客戶端之間的通信。使用這種監(jiān)聽方法的優(yōu)點(diǎn)是不會(huì)影響測(cè)試系統(tǒng)的正常通信,監(jiān)聽站作為第三方僅監(jiān)聽兩站的通信報(bào)文。圖7是測(cè)試系統(tǒng)配置圖。

006.jpg

  測(cè)試系統(tǒng)采用C++語(yǔ)言和codeblocks-10.05為開發(fā)平臺(tái),使用wxWidgets開源軟件庫(kù)實(shí)現(xiàn)。根據(jù)IEC104規(guī)約結(jié)構(gòu)要求,本文采用的測(cè)試系統(tǒng)類繼承關(guān)系如圖8所示。

007.jpg

  監(jiān)聽系統(tǒng)采用網(wǎng)絡(luò)監(jiān)聽工具Winpcap的庫(kù)函數(shù)API來(lái)實(shí)現(xiàn)捕獲數(shù)據(jù)包的功能。通過(guò)IP地址來(lái)區(qū)別主控站和從站。監(jiān)聽系統(tǒng)作為第三方僅監(jiān)聽鏡像端口的報(bào)文數(shù)據(jù),通過(guò)對(duì)報(bào)文的抓包分析,判斷遠(yuǎn)動(dòng)主站和子站的通信是否出現(xiàn)故障。監(jiān)聽系統(tǒng)要完成的最主要的功能是從TCP報(bào)文中準(zhǔn)確地提取IEC104報(bào)文和數(shù)據(jù)部分的重組,即流程圖中的解包和重組部分。解包和重組過(guò)程的流程圖如9所示。

008.jpg

  3 測(cè)試結(jié)果

  經(jīng)過(guò)解包和重組后獲得了IEC104數(shù)據(jù)幀,對(duì)IEC104幀的解析主要是判斷是否是重復(fù)報(bào)文。如果是重復(fù)報(bào)文則向主控站報(bào)警并提供錯(cuò)誤報(bào)文的基本信息。測(cè)試數(shù)據(jù)如圖10、圖11所示。

009.jpg

010.jpg

  IEC104規(guī)約應(yīng)用報(bào)文APDU包括APCI和ASDU,由圖10可以看出監(jiān)聽正常進(jìn)行,TCP重組正確,報(bào)文格式和內(nèi)容完全正確,且測(cè)試程序全部都能正確解析出來(lái)。

  由圖11可以看出,在14:27:06時(shí)主從站應(yīng)答正常;在14:27:16時(shí)主站連續(xù)發(fā)生同一段幀,此時(shí)主從站通信出現(xiàn)異常,系統(tǒng)應(yīng)向主控站報(bào)警并提供錯(cuò)誤報(bào)文的基本信息。

4 結(jié)論

  本文主要針對(duì)遠(yuǎn)動(dòng)主站和子站之間能否及時(shí)并正確的通信以及出現(xiàn)網(wǎng)絡(luò)故障不能及時(shí)發(fā)現(xiàn)的問(wèn)題,設(shè)計(jì)開發(fā)了一種電力遠(yuǎn)動(dòng)設(shè)備的IEC60870-5-104通信協(xié)議監(jiān)聽與測(cè)試系統(tǒng)。通過(guò)建模、軟件設(shè)計(jì)和測(cè)試數(shù)據(jù)分析不僅能夠?qū)?bào)文分析以報(bào)表的形式輸出,大大降低工作人員調(diào)試的工作量,提高分析和判斷能力,同時(shí)也保證了電網(wǎng)的高效運(yùn)行,還能在發(fā)生通信故障時(shí)第一時(shí)間報(bào)警,為電力遠(yuǎn)動(dòng)系統(tǒng)的正常運(yùn)行提供了保障。

參考文獻(xiàn)

  [1] 張建設(shè),馬維青,郭晉洋.IE60870-5-104協(xié)議在遠(yuǎn)動(dòng)通信中的應(yīng)用[J].電力系統(tǒng)自動(dòng)化,2003,27(11):91-93.

  [2] 陳建榮,王樂(lè)春,龔正虎,等.協(xié)議一致性測(cè)試執(zhí)行系統(tǒng)的體系結(jié)構(gòu)研究[J].計(jì)算機(jī)工程,2003,29(8):78-80.

  [3] 譚文恕.遠(yuǎn)動(dòng)信息的網(wǎng)絡(luò)訪問(wèn)[J].電力系統(tǒng)自動(dòng)化,2001,25(12):51-55.

  [4] 趙淵,沈智健.基于TCP/IP的IEC60870-5-104遠(yuǎn)動(dòng)規(guī)約在電力系統(tǒng)中的應(yīng)用[J].電網(wǎng)技術(shù),2003,27(10):56-60.

  [5] 杜龍,施魯寧,楊晉柏.基于TCP/IP的IEC60870-5-104遠(yuǎn)動(dòng)通信協(xié)議在直調(diào)廠站中的應(yīng)用[J].電力系統(tǒng)保護(hù)與控制,2008,36(17):51-55.

  [6] 吳衛(wèi)華,唐健,楊瑞景,等.基于無(wú)線傳感網(wǎng)的智能電網(wǎng)線路傳感器系統(tǒng)的研制[J].微型機(jī)與應(yīng)用,2013,32(5):54-56,59.

  [7] 梁竹靚,韓兵,彭永,等.IEC60870-5-104規(guī)約在分布式電力監(jiān)控系統(tǒng)中的應(yīng)用[J].電力系統(tǒng)保護(hù)與控制,2011,39(4):124-127.

  [8] 李建軍,邵培南,段曉峰,等.軟件可靠性測(cè)試及評(píng)估平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2014,33(15):10-12,22.

  [9] 牛春霞,宋瑋.IEC60870-5-104遠(yuǎn)動(dòng)網(wǎng)絡(luò)通信協(xié)議的應(yīng)用與實(shí)施[J].河北電力技術(shù),2006,25(1):30-32.

  [10] 朱彥杰,鄧昌延,李國(guó)杰,等.IEC104協(xié)議在變電站系統(tǒng)的應(yīng)用與測(cè)試[J].繼電器,2004,32(1):43-45.

  [11] 李國(guó)棟,冶莉娟,李暉,等.104規(guī)約在青海電網(wǎng)調(diào)度自動(dòng)化系統(tǒng)應(yīng)用中的問(wèn)題診斷及處理[J].青海電力,2011,30(1):56-59.

  [12] 王成山,王守相,郭力,等.我國(guó)智能配電技術(shù)展望[J].南方電網(wǎng)技術(shù),2010,4(1):18-22.

  [13] 馮煥霞,楊俊華,鄭儉華,等.IEC60870-5-104協(xié)議的實(shí)時(shí)性能分析[J].華東電力,2009,37(4):0577-0581.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。