基于Python的继电保护装置过程层GOOSE及SV通讯自动测试方法研究

(整期优先)网络出版时间:2018-12-22
/ 2

基于Python的继电保护装置过程层GOOSE及SV通讯自动测试方法研究

张全秦昌嵩

(南京国电南自自动化有限公司江苏南京211100)

摘要:智能变电站继电保护装置过程层GOOSE及SV通讯测试目前以人工修改继电保护测试仪配置参数、人工检查测试结果为主,测试效率低下覆盖度低,且无法保证测试结果的准确性。对此,提出了一种基于Python的继电保护装置过程层GOOSE及SV通讯自动测试方法,该方法通过解析SCD或者CCD文件获取装置订阅及发布的GOOSE、SV报文;从而模拟合并单元和智能终端发送过程层通讯报文,同时获取IED装置发布的GOOSE及SV报文,与装置配置文件进行对比。解析SCD、ICD或CID文件并自动获取IED装置上送的MMS报文来获取装置对过程层报文的处理结果,自动判断测试结果并生成测试报告。该方法实现了继电保护装置过程层GOOSE及SV报文订阅及发布全自动测试,有效的提高了智能变电站测试工作的效率及质量。

关键词:继电保护装置;智能变电站;GOOSE订阅;GOOSE发布;SV订阅、SV发布;自动测试;Python

0引言

近年来随着智能变电站的大量运行,继电保护检验的工作量也成倍增加,继电保护装置过程层的自动测试需求也越来越多,传统的方式是,将继电保护测试仪器和继电保护装置连接,再通过人工的方式去修改过程层GOOSE及SV通讯报文,修改完成后再使用特定的测试仪器施加至装置,最终根据装置的输出结果进行判断。采用这种方式,主要有以下几个缺点:第一,整个继电保护装置过程层通讯测试需要至少两个人来完成,一个人编辑过程层通讯报文另一人去人工核查的测试结果,这样导致的结果是需要测试人员对通讯报文、测试方法、配置信息等均需非常熟练,在测试过程中会出现错误检验或检验无法进行的情况。第二,人工的测试覆盖度比较低,很难保证所有的测试项目都能覆盖。第三,测试报告输出的格式不统一,实验报告的整理需要花费大量的时间。并且测试报告由人工来整理,比较难保证数据的正确性和可靠性。

本文从继电保护装置的测试需求出发,提出了基于Python的一种自动测试方法,做到了过程层GOOSE及SV通讯的全自动测试方法,减少了人力资源的投入,提高了测试效率和测试质量。

1测试方案设计

嵌入式系统是以计算机技术为基础,以应用为中心,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。继电保护及自动化等智能装置均属于典型的嵌入式系统。由于嵌入式系统的专用程度较高,为了保证系统的稳定性,避免因其可能出现的失效而导致的灾难性后果,要求对嵌入式系统包括嵌入式软件进行严格的测试。在测试过程中引入自动化工具进行自动化测试是一种非常实用高效的方法。它可以降低人为因素对测试过程的干扰,排除测试的随机性和盲目性,降低冗余,减少遗漏,可提高测试效率和保证测试的可靠性。

本文涉及的自动测试系统采用Python作为设计语言。Python是一种面向对象的解释性通用计算机程序设计语言。Python糅合了简单的语法和强大的功能,特别适合用于快速原形设计和混合语言编程开发,以及各种语言模块之间的集成与粘合。基于Python解析装置过程层及站控层XML配置文件,可以快速全面的获取装置侧信息,形成订阅及发布过程层报文,同时导入MMS模型与装置进行信息交互。

2.测试方法

2.1系统模块设计

通过Python解析目标继电保护装置的CID及CCD文件,同时使用Python提供的PyQt库制作图形界面将过程层及站控层信息加以展示,便于选择、修改和配置。搭建所需的测试用例,选择目标测试模块,由Python驱动PC机网卡发送GOOSE或SV报文,同时监视MMS目标报文,依据测试中间结果、测试报文交互等信息,自动判别测试结果,最终形成闭环测试。

2.2测试操作步骤:

本方案基于Python解析装置过程层及站控层XML配置文件,可以快速全面的获取装置侧信息,形成订阅及发布过程层报文,同时导入MMS模型与装置进行信息交互,具体包括如下步骤:

步骤1、根据全站系统配置文件SCD文件或者回路实例配置文件CCD文件自动解析成IED装置接收的GOOSE及SV虚端子配置文件;同时解析IED装置的GOOSE及SV发布配置信息。

步骤2、根据解析的配置信息,生成自动测试所需的xml文件,从而自动发布过程层GOOSE及SV报文。验证IED装置发送的GOOSE及SV与配置信息是否一致。

步骤3、根据CID、ICD或SCD文件自动解析装置过程层通讯上送的报告控制块,验证IED装置在过程层通讯测试的测试结果。

步骤4、自动分析测试结果,形成完整的测试报告。

2.3测试软件详细说明

本方案基于Python解析配置文件并生成XML格式配置信息,其生成XML类型的文件通用易读,可以和多种编程语言配合使用,具体包括如下:

1.支持解析SCD、ICD、CID、CCD文件,自动生成配置信息,以xml文件形式保存。

2.支持解析SCD、ICD、CID文件,自动注册MMS客户端的通讯报告控制块。

基于Python设计过程层报文编辑和展示的图形化界面,Python使用的PyQt模块集,是Python编程语言和Qt库的成功融合,开发出的界面可以完整直观的展示过程层数据参数,同时便于修改。

3.支持自动编辑及配置GOOSE及SV报文参数:如目的MACAddress、VLanID(虚拟LAN)、源MACAddress、APPID(应用标识)、timetoLive(生存时间)、gocbRef(控制块引用)、datSet(数据集引用、goID(标识ID)、test(是否检修)、confRev(配置版本)、numEntries(通道数)、GOOSE数据格式、SV额定延时等

4.支持自动识别IED装置发送的过程层GOOSE报文,并与解析的配置文件进行对比,如对比gocbRef与SCL文件一致、timeAllowedtoLive>0并且下一个GOOSE信息在当前GOOSE报文的规定时间值范围内传输、datSet与SCL文件一致,包含一个有效的datasetreference、goID与SCL文件一致、包含状态变化或上电的时间、sqNum递增,stNum>0并且在未变位时不改变、test不存在,或存在并具有FALSE值、confRev与SCL文件一致、needsCommisioning值为False、numDatSetEntries与所有数据的条目数目相同、allData值与datSet成员类型匹配、VLANID和VLANpriority与SCL文件一致、APPID与SCL文件一致、以太网帧中的以太网类型为0x8100且VLANCFI=0、GOOSE报文以太网类型为0x88B8等

5.支持自动识别IED装置发送的过程层SV报文,并与解析的配置文件进行对比,如对比采样值报文准确度包括confRev、smvID、

datSet、ref等配置信息与SCL文件一致、响应时间检验、离散度检验、采样值守时性能测试、采样值失步再同步检验、同步准确度检验、频率对准确度的影像检验、谐波对准确度的影像检验、双A/D采样值输出检验、完整性检验、可靠性检验、采样值报文初始化检验、检修位TEST检验、SV报文以太网类型为0x88BA等。

开放的Python平台可以允许用户自行编写额外的测试脚本,提高一致性测试平台的灵活性和兼容性。支持自动分析装置的输出,并与预期结果自动进行对比检验,判读测试结果是否合格,支持输出测试结果成word文档,自动输出测试报告。

3.结语

基于Python的继电保护装置过程层GOOSE及SV通讯自动测试方法有以下显著特点:第一,可以提供人性化的继电保护装置过程层GOOSE及SV通讯报文发送和接收配置界面,可以实现过程层报文的全自动测试,并根据IED装置的响应结果自动分析测试结果,形成测试报告。第二,能够根据全站SCD配置文件自动解析IED装置的过程层信息配置,从而自动验证装置的订阅一致性测试和发布一致性测试。第三,能够根据装置对过程层报文的响应自动分析测试结果,形成测试报告。基于以上原因,本文所研究的方案可以实现过程层通讯报文的全自动测试,极大提高研发效率、测试效率,有效的提高了继电保护装置测试工作的效率与质量。

参考文献

[1]浮明军,刘昊昱,董磊超智能变电站继电保护装置自动测试系统研究和应用,电力系统保护与控制,201501-0040-50

[2]杨帆,贾凯等基于FPGA的智能变电站SV和GOOSE的实现,电工技术,2016(5):00142-00143

[3]胡再超,姚亮,张尧智能继电保护装置的自动测试方法,江苏电机工程,2013,32(1):53-55

[4]刘巍,赵勇,石光智能变电站继电保护装置一键式测试方法及系统,电力自动化设备,2013,33(2):152-155

作者简介

张全(1987-),学士,研究方向为继电保护装置通用平台,电力系统控制。