杨 静,程克杰,郭 亮,潘松杰
(许继电气股份有限公司,河南 许昌 461001)
电网新两网战略的提出加快了坚强智能电网和泛在电力物联网的建设。配电网络向智能化方向不断发展,在智能电网对配电网运行安全可靠性以及经济性提出更高要求的情况下[1-5],当前配电网终端与配电网自动化主站之间的数据传输为用户数据报协议(user datagram protocol,UDP)封装GOOSE/SV报文[6-7]。传输报文包括故障测量数据、开关变位信息、闭锁信号和跳闸命令等实时数据[8-9],为保证数据传输可靠性及现场调试分析,需要对UDP封装GOOSE/SV报文进行测试分析,以保证现场运行的可靠性及电网稳定性[10-12]。
目前UDP封装GOOSE/SV报文的测试存在的问题:①UDP封装GOOSE/SV报文帧数巨大,需要人工进行报文解析,耗时多;②只能人工对部分已解析报文进行分析判断,易错检、漏检;③现场调试及问题排查时,分析报文较困难,无相应的解析、判断工具。
针对以上问题,设计一种简单实用的配电网5G通信报文解析、判断工具,制定完善的UDP封装GOOSE/SV报文测试用例,既能提升研发测试的全面性及效率,又能保障配电网装置稳定运行。
UDP封装GOOSE报文测试工具需要满足以下条件:①兼容各种通道类型组合(StValue、Q、T)报文;②兼容携带VLAN标识位的报文;③兼容GOOSE报文中变长字段,适应各种变长字段的长度变化;④UDP封装GOOSE自身报文长度正确性判断;⑤UDP封装GOOSE报文连续报文中StNum不变,SqNum顺次加1的正确性判断;⑥UDP封装GOOSE报文连续报文中StNum加1,SqNum归0的正确性判断;⑦UDP封装GOOSE连续报文中StNum、SqNum翻转(0x FF FF FF FF翻转为0x01)的正确性判断。
UDP封装SV报文测试工具需要满足以下判断:①UDP封装SV报文自身报文长度正确性判断;②UDP封装SV报文连续报文中Smpcnt翻转(0x 0F9F翻转为0x01)正确性判断;③UDP封装SV报文中Sync位由0到1时,Smpcnt归0的正确性判断;④UDP封装SV报文中Smpcnt连续性判断。
测试工具除对报文自身及报文间逻辑做出判断,还在界面展示判断结果并给予正确提示,以帮助测试人员更好地解读报文。
采用分模块方式对报文进行解析判断[13],测试工具整体框架包括实时解析模块及解析判断模块,如图1所示。
图1 测试工具整体框架
a.实时解析模块在解析报文的过程中检查报文长度字段与实际长度相符,如GOOSE/SV报文有长度错误,测试工具将判断结果实时显示在工具栏,实时解析模块可以实现报文的过滤及存储功能。
b.解析判断模块实现报文间逻辑判断并展示判断结果。支持离线加载UDP封装GOOSE/SV报文,并进行报文间逻辑判断功能。
实时解析模块采用并行处理方式,可加快报文解析速度,防止大量报文排队导致工具崩溃的问题[14]。如图2—图4所示,实时解析模块针对UDP封装GOOSE/SV报文做以下处理。
图2 解析报文流程
图3 解析SV报文子流程
图4 解析GOOSE报文子流程
a.自动识别当前报文格式,将当前报文格式显示在protocol栏(如UDP_GOOSE、UDP_SV)。
b.通过对protocol栏进行筛选过滤,使当前界面仅显示UDP_GOOSE或UDP_SV报文。
c.针对GOOSE报文中ASDU、SqNum、StNum的长度位等变化字段进行变长字段自动判断。
d.对时间通道值显示进行处理,使界面通道时间显示正确。
e.对品质位通道进行二进制处理并显示出来,增强报文解析易读性。
f.对报文完整性做判断,用于检测UDP封装GOOSE/SV的正确性。
g.自适应GOOSE数据部分St、St+T、St+Q等多种通道类型自由组合的报文解析。
h.在信息栏显示GOOSE/SV报文主要信息,如检修标志、对时标志等。
如图5—图8所示,UDP封装GOOSE/SV报文间存在连续性、序号翻转等逻辑。解析判断模块对UDP封装GOOSE/SV报文自动判断如下。
图5 UDP封装GOOSE报文判断流程
图6 UDP封装GOOSE报文判断否定子流程
图7 UDP封装GOOSE报文判断肯定子流程
图8 UDP封装SV报文判断流程
a.连续UDP封装GOOSE报文中StNum不变,SqNum顺次加1逻辑判断。
b.连续UDP封装GOOSE报文中StNum加1,SqNum归0的逻辑判断。
c.连续UDP封装GOOSE报文中StNum,SqNum自然翻转(0x FF FF FF FF翻转至0x01)的逻辑判断。
d.连续UDP封装SV报文中Smpcnt自然翻转(0x 0F9F翻转为0x00)的逻辑判断。
e.连续UDP封装SV报文中Sync由0到1时,Smpcnt归0的逻辑判断。
f.UDP封装SV报文Smpcnt连续性逻辑判断。
工作流程设计如图9所示,将装置发送的UDP封装GOOSE/SV报文发送至PC端,通过配电网5G通信UDP封装GOOSE/SV报文实时解析、解析判断的功能得到报文解析结果及报文间逻辑自动判断结果。
图9 测试工具工作流程
测试工具在Windows系统中VS2010+Qt开发环境下实现,界面如图10所示。
图10 测试工具界面
测试工具主界面包括选择网卡信息、实时显示报文选择、“分析UDP_GOOSE”、“分析UDP_SV”按钮,可自动判断UDP封装GOOSE/SV报文间逻辑判断的正确性。点击“开始”按钮弹出抓包框,抓取当前网卡报文,将解析后的UDP封装GOOSE/SV报文显示在界面上,报文实时解析结果如图11所示,“打开”按钮可以打开保存的*.pcap文件;点击“停止”按钮停止抓取报文。
图11 报文实时解析结果
测试工具打开离线保存的*.pcap文件,通过点击“分析UDP_GOOSE”、“分析UDP_SV”可获得报文间逻辑判断结果,如图12、图13所示,完成的测试项目如表1所示。
表1 完成的测试项目
图12 UDP_GOOSE分析结果展示
图13 UDP_SV分析结果展示
经过人工与测试工具的测试对比,测试周期由人工测试的3天缩减至0.5天,如图14所示。该测试工具有效支撑了四川眉山试点工程、浙江绍兴示范工程等项目投运;在某公司多个重点项目开发测试阶段发现小概率事件,提高了产品的可靠性。
图14 对比试验结果
测试工具优点如下。
a.操作简单,界面简洁易懂。实时解析报文采用并行解析方式,解析速度快、无卡顿现象;功能模块分开运行,运行速度快,结果展示明显。
b.能提升报文解析完整性判断效率。人工进行UDP封装SV报文解析时,单条报文耗时2 min,判断报文完整性耗时1 min;当解析大量报文时,测试工具明显节省时间,且能实时判断单帧报文的完整性。
c.能提升报文正确性判断效率。一般情况下,装置发送UDP封装GOOSE报文速率1帧/5 s,发送UDP封装SV报文速率为4000帧/s,人工判断5 s内发送UDP封装GOOSE/SV报文的时长约为2.5 h,使用测试工具从抓包开始至判断结束的时长小于1 min。经过试验对比,人工判断出错率为0.5%,测试工具判断出错率为0,报文正确性判断效率提升明显。
通过对5G通信发送UDP封装GOOSE/SV报文进行分析,设计5G通信UDP封装GOOSE/SV报文实时解析、解析判断工具,实现UDP封装GOOSE/SV报文的实时解析、报文完整性校验及报文间逻辑判断功能。实际应用表明,该工具为5G配电网终端测试提供了技术手段,提高了测试整体能力,推进测试质量持续提升。测试工具能发现装置发送报文的缺陷,使5G配电网装置在研发初期得以完善,提升了产品竞争力和电网稳定性,同时大幅降低售后服务成本。