程 航,许晓平,洪灿梅,刘名扬,李英娜,李 川(昆明理工大学 信息工程与自动化学院,云南 昆明 650500)
基于IEC60870-5-104协议监听与测试系统的研究*
程 航,许晓平,洪灿梅,刘名扬,李英娜,李 川
(昆明理工大学 信息工程与自动化学院,云南 昆明 650500)
为了防止IEC60870-5-104协议通信中出现的主站抖动现象,开发了一个基于 IEC104协议的监听与测试系统。根据云南电网调度自动化系统生产运行的实际情况,对IEC104协议模型进行分析,使用SOCKET编程对通信报文进行抓包,并通过对测试数据的分析,成功地对IEC104规约运行状况进行实时、可靠、准确的监听、分析与统计。测试结果验证了监听与测试系统符合标准化的协议规范,而且能够在主子站通信发生故障时第一时间报警,减少了网络阻塞,提高了网络通信的效率。
IEC104规约;测试与监听系统;UML;远动设备;报文分析
IEC60870-5-104协议具有可靠性高、实时性好、数据流量充足、支持网络传输等优点,因此 IEC104协议在电力系统中得到广泛的应用。RTU设备的使用使得数据采集更为方便,但是在不同RTU设备的通信过程中会出现通信故障[1-6]。2011年上海申瑞电力科技股份有限公司梁竹靓等人提出分布式电力监控系统 IEC104规约通信单元的设计方法[7-9]。2012年华北电力大学薛飞总结并提出了一套针对 IEC104规约的以面向对象为理论基础,统一建模语言为工具的高度结构化的编程实现框架,该实现框架具有更好的可维护性、可复用性[10-13]。IEC104协议仅规定了重传多次后还未收到确认报文自动断开连接,并没有对这种故障发出任何警告,如果出现了网络故障,主控站人员要经历很长时间才能发现,会导致主站抖动,使得数据无法上送和连接,造成网络堵塞。
本文结合市场需求,研究一种基于IEC104远动规约的监听与测试系统,利用SOCKET编程实现对Client和Server端通信协议的抓包和数据检测分析,当出现通信故障时会发送报警信息,使控制人员第一时间发现故障并解决问题,从而大大提高了IEC104的可靠性。
本文采用网络监听的方式针对基于 TCP/IP协议族和电力通信领域的远动传输协议IEC60870-5-104通信规约的测试分析方法进行研究。系统支持在线测试,并且可以长时间进行测试而无需人工干预;同时也支持离线分析,在线监听获取通信过程中传输的所有数据,并保存到数据库或者文件中,可供线下分析。监听与测试系统的用例图如图1所示。
图1 IEC104协议监听与测试系统的用例图
测试系统主控站和从站的主线程流程图如图2、图3所示。
图3 测试系统的从站主线程的流程图
监听系统作为第三方参与,不干涉通信双方的具体通信仅当监听到有某条报文重复发送时,则向服务器端报警。监听系统的流程图如图4所示。
图4 监听系统的流程图
IEC104协议采用应答模式的通信方式,即发送一条报文后收到此条报文的确认报文才认为此次通信成功,否则将会重传这条报文。例如未出现故障的遥控操作的泳道图如图5所示。
图5 遥控操作未出现网络故障时的泳道图
在测试系统中当通信一方发送一条报文后在一定的时间内未收到确认报文,就会启动重传机制重传此条报文。若还是未收到确认报文当未超过最大重传次数时就继续重传,否则就自动断开连接。图6是出现通信故障时的遥控操作的泳道图。
图6 遥控操作出现故障时的泳道图
测试系统中采用的超时处理方案如下:
(1)当TCP连接的时间超过30s还未收到目的子站的确认报文,则认为连接网络出现了严重的情况,TCP连接失败,重新发送测试报文。
(2)当链路空闲时为了确保链路处于联通状态,会发送U格式的测试报文,若在15s内未收到确认报文则T1此时自动断开TCP连接,随后重新开始TCP连接。
(3)子站向主站发送执行完毕报文或突发请求报文,希望获得主站的S格式的报文确认回复,若10s内未收到主站的回复报文,则子站自动断开TCP连接。
(4)当链路处于空闲状态超过 30s,会启动链路测试功能,向对方发送U格式的链路测试报文。
本文采用端口汇聚技术将物理上的两个端口连接起来形成一条逻辑链路,并使用端口镜像技术将通信报文复制到镜像端口,通过对镜像端口通信报文的监听实现监听测试系统的服务器端和客户端之间的通信。使用这种监听方法的优点是不会影响测试系统的正常通信,监听站作为第三方仅监听两站的通信报文。图7是测试系统配置图。
图7 测试系统配置图
测试系统采用 C++语言和 codeblocks-10.05为开发平台,使用wxWidgets开源软件库实现。根据IEC104规约结构要求,本文采用的测试系统类继承关系如图8所示。
图8 IEC104协议类继承关系
监听系统采用网络监听工具Winpcap的库函数API来实现捕获数据包的功能。通过IP地址来区别主控站和从站。监听系统作为第三方仅监听镜像端口的报文数据,通过对报文的抓包分析,判断远动主站和子站的通信是否出现故障。监听系统要完成的最主要的功能是从TCP报文中准确地提取 IEC104报文和数据部分的重组,即流程图中的解包和重组部分。解包和重组过程的流程图如9所示。
图9 解包和重组过程的流程图
经过解包和重组后获得了IEC104数据帧,对IEC104帧的解析主要是判断是否是重复报文。如果是重复报文则向主控站报警并提供错误报文的基本信息。测试数据如图10、图11所示。
图10 没有发生故障时的测试数据
IEC104规约应用报文APDU包括APCI和ASDU,由图10可以看出监听正常进行,TCP重组正确,报文格式和内容完全正确,且测试程序全部都能正确解析出来。
由图11可以看出,在14:27:06时主从站应答正常;在14:27:16时主站连续发生同一段帧,此时主从站通信出现异常,系统应向主控站报警并提供错误报文的基本信息。
本文主要针对远动主站和子站之间能否及时并正确的通信以及出现网络故障不能及时发现的问题,设计开发了一种电力远动设备的IEC60870-5-104通信协议监听与测试系统。通过建模、软件设计和测试数据分析不仅能够将报文分析以报表的形式输出,大大降低工作人员调试的工作量,提高分析和判断能力,同时也保证了电网的高效运行,还能在发生通信故障时第一时间报警,为电力远动系统的正常运行提供了保障。
图11 发生故障后的测试数据
[1]张建设,马维青,郭晋洋.IE60870-5-104协议在远动通信中的应用[J].电力系统自动化,2003,27(11):91-93.
[2]陈建荣,王乐春,龚正虎,等.协议一致性测试执行系统的体系结构研究[J].计算机工程,2003,29(8):78-80.
[3]谭文恕.远动信息的网络访问[J].电力系统自动化,2001,25(12):51-55.
[4]赵渊,沈智健.基于 TCP/IP的 IEC60870-5-104远动规约在电力系统中的应用[J].电网技术,2003,27(10):56-60.
[5]杜龙,施鲁宁,杨晋柏.基于 TCP/IP的 IEC60870-5-104远动通信协议在直调厂站中的应用[J].电力系统保护与控制,2008,36(17):51-55.
[6]吴卫华,唐健,杨瑞景,等.基于无线传感网的智能电网线路传感器系统的研制[J].微型机与应用,2013,32(5):54-56,59.
[7]梁竹靓,韩兵,彭永,等.IEC60870-5-104规约在分布式电力监控系统中的应用[J].电力系统保护与控制,2011,39(4):124-127.
[8]李建军,邵培南,段晓峰,等.软件可靠性测试及评估平台的设计与实现[J].微型机与应用,2014,33(15):10-12,22.
[9]牛春霞,宋玮.IEC60870-5-104远动网络通信协议的应用与实施[J].河北电力技术,2006,25(1):30-32.
[10]朱彦杰,邓昌延,李国杰,等.IEC104协议在变电站系统的应用与测试[J].继电器,2004,32(1):43-45.
[11]李国栋,冶莉娟,李晖,等.104规约在青海电网调度自动化系统应用中的问题诊断及处理[J].青海电力,2011,30(1):56-59.
[12]王成山,王守相,郭力,等.我国智能配电技术展望[J].南方电网技术,2010,4(1):18-22.
[13]冯焕霞,杨俊华,郑俭华,等.IEC60870-5-104协议的实时性能分析[J].华东电力,2009,37(4):0577-0581.
图7 自主充电算法流程图
参考文献
[1]季国栋,王文理.蓄电池剩余容量检测系统设计[J].微型机与应用,2015,34(3):38-40.
[2]林丹.一种室内清洁机器人返回路径规划算法[J].重庆科技学院学报,2010,2(1):110-113.
[3]沈玉,韩廷,武骥,等.一种电动汽车动力电池电流检测系统的设计[J].电子技术应用,2014,40(7):69-71.
[4]梁喜凤,室内地面清洁机器人路径规划[J].中国计量学院学报,2006,17(1):64-66.
[5]禹建丽,徐亮.室内自主清扫机器人的路径规划[J].中原工学院学报,2010,21(3):25-30.
[6]王三武,刘进.清扫机器人移动驱动机构的研究[J]机械制造与自动化,2008,37(5):89-95.
(收稿日期:2015-07-19)
作者简介:
李进(1980-),女,硕士,讲师,主要研究方向:嵌入式技术、物联网技术。
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协议监听与测试系统的研究[J].微型机与应用,2015,34(22):14-17.
2015-06-23)
程航(1990-),男,硕士研究生,主要研究方向:电网规约通信与计算机技术。
李川(1971-),通信作者,男,教授,博士生导师,主要研究方向:光纤 Bragg光栅传感器的应用。E-mail:boatriver@eyou.com。
云南省应用基础研究计划项目(2013FZ021);中国博士后科学基金(一等资助)(2014M552552XB)