王 清,潘晓明,武家胜
(国网江苏省电力有限公司苏州供电分公司,江苏 苏州 215000)
SCD文件即变电站配置描述文件,该文件描述了站内所有IED实例配置和通信参数、IED设备之间的通信配置及信号联系等信息,是智能站继电保护装置工程调试和定期校验的基础文件[1-4]。目前智能站改扩建、调试验收和定期校验时,SCD文件导入校验装置后,校验仪需要根据继电保护装置按列表形式对各参数项进行调试前配置,配置的过程繁琐,尤其是存在部分参数项在被校验保护装置中并未使用或对于保护装置校验无影响,需要在配置时通过试验人员的判断将这些参数项剔除或忽略,然后每做一遍试验需要重新将这些参数项再进行一次剔除或忽略,大大增加了试验人员的工作量[5-14]。更为甚者,当调试过程出现GOOSE参数配置问题时,无法快速定位GOOSE参数配置错误的问题,需要试验人员逐个GOOSE参数项进行筛查,给继电保护装置调试工作带来极大地不便。如果能够在调试时将继电保护装置校验需要的参数项自动筛选出来,并实现GOOSE参数状态的图形化实时呈现和控制,将大大减少继电保护装置调试工作量,缩短调试过程,提高调试效率。本文基于目前智能站继电保护装置工程调试方法和调试终端的现状,提出通过解析SCD文件,结合图形化模型和GOOSE状态虚端子关联,实现GOOSE状态显示和状态控制图形化;同时根据保护动作逻辑原理及试验规程规定定义GOOSE状态及保护动作判断规则,实现因参数配置问题导致的GOOSE状态及保护动作逻辑异常的快速定位,最终提高保护装置的调试效率。
为了实现参数配置与控制的图形化,需要使用合适的方法对SCD进行解析。SCD使用XML作为其描述语言,目前对XML文件的解析方法主有两种方式,即DOM(Document Object Model,文档对象模型)和SAX(Simple API for XML,XML的简单API模型)。
DOM解析方式是W3C组织推荐处理XML的一种方式。在应用该方式的程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(通常称DOM树),程序正是通过对这个对象模型的操作,来实现对XML文档数据的操作。通过DOM接口,程序可以在任何时候访问XML文档中的任何一部分数据,因此这种利用DOM接口的机制也被称作随机访问机制。
与DOM不同,SAX解析方式提供的访问模式是一种顺序模式,这是一种快速读写XML数据的方式。当使用SAX分析器对XML文档进行分析时,会触发一系列事件,并激活相应的事件处理函数,程序通过这些事件处理函数实现对XML文档的访问,因而SAX接口也被称作事件驱动接口。SAX不是官方标准,但它是XML社区事实上的标准,几乎所有的XML解析器都支持它。
DOM解析方式的优点是访问方便,缺点是占用内存较大;SAX解析方式的优点是内存占用小,缺点是访问不方便。考虑到DOM模型的优点以及SCD文件的规模不会特别庞大。因此,选择DOM解析方式对SCD文件进行解析,解析内容如图1所示。
图1 SCD解析内容
通过DOM API对XML文档中的数据解析后将以树形结构的形式展现出来。由于XML文档是分级结构的,因此可以创建一棵树,在树的节点和子节点上展示整个XML文档。通过从根节点开始遍历,程序可以访问到树中的任意节点。解析后的SCD文件按照IED实例配置、通信配置、GOOSE/SV配置和IED虚端子连接关系保存到数据库。作为目前最流行的开源嵌入式数据库,SQLite具有管理简单、操作方便、可移植性强、易于维护、占用资源少等优点,对于PDA、智能手机等移动设备来说,SQLite的优势显著。因此,选择SQLite作为数据库用于对SCD文件解析后的数据进行管理、查询和检索。
考虑到解析后的SCD文件本身节点非常多,如果一个一个遍历的话,通过实践发现运行起来会很慢,而且如果使用了深度很大的递归还容易出现堆栈溢出。所以,这里用到另外一个技术XML Path Language。Xpath是由W3C提出的XML的相关技术的一个执行标准,主要是用来查询XML文档中符合一定标准的节点列表的标准语言,这种方式实践证明速度很快,且实现简单,不用设计复杂的递归程序。此外,对于XML的解析采用DOM树的方式结合实时数据库加大量的哈希表,可大大提高SCD文件的解析速度。
SCD关键节点筛选流程如图2所示。
图2 SCD关键节点筛选流程
(1)打开SCD文件,装载XML文件,形成DOM Tree;
(2)使用Xpath技术查找相关节点;
(3)筛选出需要的节点。
通过SCD文件的解析和关键节点的筛选,利用Qt图形库的Model View框架和Graphics View框架对SCD文件解析后的虚端子列表和连接信息进行图形可视化实现,进而形成集操控、可视化为一体的智能变电站测控软件。Qt为开发跨平台的图形用户界面应用程序提供了一个完整的C++应用开发框架。同时,其良好的封装机制使得其模块化程度高,可重用性好。结合实时数据库通过应用软件可直观显示SCD文件解析后的虚拟端子列表和虚拟端子间的连接情况,快速掌握变电站系统配置情况及虚端子连接信息,为智能站继电保护调试时的实时状态监测和操控提供支撑。
(1)虚端子的图形显示。利用Qt的Model/View框架可以方便地将数据与表现层分开,其中模型负责获取需要显示的数据。View从Model获取model indexes,model indexes作为数据项引用。通过把model indexes提供给Model,View可以从数据源中获取数据。Qt中的View主要有3种:QListView,QTreeView和QTableView。常用的Model为QAbstractItemModel。这里采用QAbstractTableModel的自定义Model实现虚端子及IED设备的显示,通过封装不同内容的Model,然后通过View的setModel将实际内容进行显示。
(2)虚端子连接关系的图形显示。Graphics View提供了一个QGraphicsScene作为场景,管理大数量定制的2D items,同时也允许与这些Items进行交互。通过view widget可以将这些Items绘制出来。图形化虚端子的连接方式采用画直线的方式实现,当前选中的IED框图画在视图中央,两边画各个外部IED框图。在每个IED框图中画出各个IED发出对方的SV和GOOSE控制块框图,并画出连线。
在参数配置图形化基础上,采用ARM+FPGA可编程芯片硬件平台实现图形化控制的测试仪软硬件搭建,其框架如图3所示。
图3 图形化控制测试仪软硬件框架
下面对最终实现的图形化控制基本功能进行简要介绍。
(1)SV和GOOSE虚端子回路连线展示。根据SCD模型以及SV和GOOSE订阅关系自动生成SV和GOOSE虚端子回路连线图,同时标注虚端子的描述和状态(电压和电流值)。在测试仪的回路图上实现通过图形化方式控制测试仪与被测装置之间的SV和GOOSE的信号传递,通过手动修改或者触发SV和GOOSE信号,实现对装置和回路进行检验。
(2)可视化的GOOSE虚端子状态监视。根据SCD模型以及GOOSE订阅关系自动生成GOOSE虚端子回路连线图,同时实时监视GOOSE变位信息,并在测试仪上通过图形化方式突出显示。通过数值、连线以及指示灯颜色的变化及闪烁及时提醒校验人员。
(3)重合闸校验逻辑自动检查与提示。线路重合闸充电需要具备以下五个条件:①重合闸切换开关未放在“停用”位置;②无TWJ开入,断路器三相都应该在合位;③无压力低闭锁重合闸:主要指断路器的油压或气压低闭锁;④无外部闭锁重合闸的开入,如其他保护闭锁重合闸的开人;⑤无电压互感器断线:根据装置电压互感器断线的条件,需要给装置电压回路加上正常交流电压。
通过判断电压互感器电压、断路器运行状态和重合闸闭锁信号模拟重合闸充电指示。手持式测试仪在进行线路保护测试时,在输出正常电压的同时模拟智能终端发送GOOSE信号到被测保护装置。如果重合闸的位置、断路器位置以及闭锁重合闸的信号不满足重合闸条件,充电指示灯将不能点亮。通过在测试仪上检查和模拟充电指示,极大方便了现场人员的工作,提高了效率,减少了差错。
(4)图形化设置SV和GOOSE检修软压板。在智能站保护装置校验时,需要将校验仪与保护装置的检修状态保持一致;在智能站保护装置工程调试时,则需要将校验仪和保护装置检修状态进行组合,校验其检修机制。通过在人机交互界面上设计图形化按钮的方式,可以简单直观地对校验仪检修状态进行快速切换,实现检修软压板的投切。
本文提出了一种基于SCD解析文件的GOOSE状态显示和状态控制图形化实现方法,并在ARM+FPGA可编程芯片的基础上搭建了测试仪的软硬件平台,可实现SV和GOOSE虚端子回路连线的图形化展示,GOOSE状态的实时显示和便携化图形控制,线路保护装置工程调试与校验时重合闸逻辑正确性的判断和SV与GOOSE检修软压板状态的图形化切换。从而简化二次检修人员智能变电站保护与测控设备校验时参数配置的复杂性,并为判断校验参数设置的正确性提供直观提示,提升保护与测控设备校验的效率。同时为自动读取保护与测控定值,自动配置校验参数,实现校验的自动化奠定基础。