程 航,許曉平,洪燦梅,劉名揚(yáng),李英娜,李 川(昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,云南 昆明 650500)
基于IEC60870-5-104協(xié)議監(jiān)聽(tīng)與測(cè)試系統(tǒng)的研究*
程 航,許曉平,洪燦梅,劉名揚(yáng),李英娜,李 川
(昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,云南 昆明 650500)
為了防止IEC60870-5-104協(xié)議通信中出現(xiàn)的主站抖動(dòng)現(xiàn)象,開(kāi)發(fā)了一個(gè)基于 IEC104協(xié)議的監(jiān)聽(tīng)與測(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)、分析與統(tǒng)計(jì)。測(cè)試結(jié)果驗(yàn)證了監(jiān)聽(tīng)與測(cè)試系統(tǒng)符合標(biāo)準(zhǔn)化的協(xié)議規(guī)范,而且能夠在主子站通信發(fā)生故障時(shí)第一時(shí)間報(bào)警,減少了網(wǎng)絡(luò)阻塞,提高了網(wǎng)絡(luò)通信的效率。
IEC104規(guī)約;測(cè)試與監(jiān)聽(tīng)系統(tǒng);UML;遠(yuǎn)動(dòng)設(shè)備;報(bào)文分析
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)斷開(kāi)連接,并沒(méi)有對(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)聽(tīng)與測(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的可靠性。
本文采用網(wǎng)絡(luò)監(jiān)聽(tīng)的方式針對(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)聽(tīng)獲取通信過(guò)程中傳輸?shù)乃袛?shù)據(jù),并保存到數(shù)據(jù)庫(kù)或者文件中,可供線下分析。監(jiān)聽(tīng)與測(cè)試系統(tǒng)的用例圖如圖1所示。

圖1 IEC104協(xié)議監(jiān)聽(tīng)與測(cè)試系統(tǒng)的用例圖
測(cè)試系統(tǒng)主控站和從站的主線程流程圖如圖2、圖3所示。

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

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

圖5 遙控操作未出現(xiàn)網(wǎng)絡(luò)故障時(shí)的泳道圖
在測(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)斷開(kāi)連接。圖6是出現(xiàn)通信故障時(shí)的遙控操作的泳道圖。

圖6 遙控操作出現(xiàn)故障時(shí)的泳道圖
測(cè)試系統(tǒng)中采用的超時(shí)處理方案如下:
(1)當(dāng)TCP連接的時(shí)間超過(guò)30s還未收到目的子站的確認(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)文,若在15s內(nèi)未收到確認(rèn)報(bào)文則T1此時(shí)自動(dòng)斷開(kāi)TCP連接,隨后重新開(kāi)始TCP連接。
(3)子站向主站發(fā)送執(zhí)行完畢報(bào)文或突發(fā)請(qǐng)求報(bào)文,希望獲得主站的S格式的報(bào)文確認(rèn)回復(fù),若10s內(nèi)未收到主站的回復(fù)報(bào)文,則子站自動(dòng)斷開(kāi)TCP連接。
(4)當(dāng)鏈路處于空閑狀態(tài)超過(guò) 30s,會(huì)啟動(dòng)鏈路測(cè)試功能,向?qū)Ψ桨l(fā)送U格式的鏈路測(cè)試報(bào)文。
本文采用端口匯聚技術(shù)將物理上的兩個(gè)端口連接起來(lái)形成一條邏輯鏈路,并使用端口鏡像技術(shù)將通信報(bào)文復(fù)制到鏡像端口,通過(guò)對(duì)鏡像端口通信報(bào)文的監(jiān)聽(tīng)實(shí)現(xiàn)監(jiān)聽(tīng)測(cè)試系統(tǒng)的服務(wù)器端和客戶端之間的通信。使用這種監(jiān)聽(tīng)方法的優(yōu)點(diǎn)是不會(huì)影響測(cè)試系統(tǒng)的正常通信,監(jiān)聽(tīng)站作為第三方僅監(jiān)聽(tīng)兩站的通信報(bào)文。圖7是測(cè)試系統(tǒng)配置圖。

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

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

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

圖10 沒(méi)有發(fā)生故障時(shí)的測(cè)試數(shù)據(jù)
IEC104規(guī)約應(yīng)用報(bào)文APDU包括APCI和ASDU,由圖10可以看出監(jiān)聽(tīng)正常進(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)文的基本信息。
本文主要針對(duì)遠(yuǎn)動(dòng)主站和子站之間能否及時(shí)并正確的通信以及出現(xiàn)網(wǎng)絡(luò)故障不能及時(shí)發(fā)現(xiàn)的問(wèn)題,設(shè)計(jì)開(kāi)發(fā)了一種電力遠(yuǎn)動(dòng)設(shè)備的IEC60870-5-104通信協(xié)議監(jiān)聽(tīng)與測(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)行提供了保障。

圖11 發(fā)生故障后的測(cè)試數(shù)據(jù)
[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.

圖7 自主充電算法流程圖
參考文獻(xiàn)
[1]季國(guó)棟,王文理.蓄電池剩余容量檢測(cè)系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2015,34(3):38-40.
[2]林丹.一種室內(nèi)清潔機(jī)器人返回路徑規(guī)劃算法[J].重慶科技學(xué)院學(xué)報(bào),2010,2(1):110-113.
[3]沈玉,韓廷,武驥,等.一種電動(dòng)汽車動(dòng)力電池電流檢測(cè)系統(tǒng)的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2014,40(7):69-71.
[4]梁喜鳳,室內(nèi)地面清潔機(jī)器人路徑規(guī)劃[J].中國(guó)計(jì)量學(xué)院學(xué)報(bào),2006,17(1):64-66.
[5]禹建麗,徐亮.室內(nèi)自主清掃機(jī)器人的路徑規(guī)劃[J].中原工學(xué)院學(xué)報(bào),2010,21(3):25-30.
[6]王三武,劉進(jìn).清掃機(jī)器人移動(dòng)驅(qū)動(dòng)機(jī)構(gòu)的研究[J]機(jī)械制造與自動(dòng)化,2008,37(5):89-95.
(收稿日期:2015-07-19)
作者簡(jiǎn)介:
李進(jìn)(1980-),女,碩士,講師,主要研究方向:嵌入式技術(shù)、物聯(lián)網(wǎng)技術(shù)。
Research of monitoring and testing system based on IEC60870-5-104 protocol
Cheng Hang,Xu Xiaoping,Hong Canmei,Liu Mingyang,Li Yingna,Li Chuan
(Paculty of Information Engineering and Automation,Kunming University of Science and Technology,Kunming 650500,China)
In order to prevent the master jitter in IEC60870-5-104 protocol communication,this paper developed a monitoring and testing system based on IEC104 protocol.According to the actual production and operation situation of Yunnan power grid dispatching automation system,it analyzed the model of the IEC104 protocol,used SOCKET program to capture communication packet,and then it succeeded in real-time,reliable,accurate monitoring,analysis and statistics of the operation status of IEC104 protocol on the basis of the test data.The test results verify the monitoring and testing system is conforming to the standardized protocol,it could alarm at the first time when communication get out of order,and it also could reduce network congestion and improve the efficiency of network communication.
IEC104 protocol;testing and monitoring system;UML;telemechanics equipment;message analysis
TP311
A
1674-7720(2015)22-0014-04
程航,許曉平,洪燦梅,等.基于 IEC60870-5-104協(xié)議監(jiān)聽(tīng)與測(cè)試系統(tǒng)的研究[J].微型機(jī)與應(yīng)用,2015,34(22):14-17.
2015-06-23)
程航(1990-),男,碩士研究生,主要研究方向:電網(wǎng)規(guī)約通信與計(jì)算機(jī)技術(shù)。
李川(1971-),通信作者,男,教授,博士生導(dǎo)師,主要研究方向:光纖 Bragg光柵傳感器的應(yīng)用。E-mail:boatriver@eyou.com。
云南省應(yīng)用基礎(chǔ)研究計(jì)劃項(xiàng)目(2013FZ021);中國(guó)博士后科學(xué)基金(一等資助)(2014M552552XB)