智能变电站中基于XML 聚类算法的专家系统闭锁逻辑处理∗

2024-01-29 02:23陈韶昱钱建国杜奇伟王海园
电子器件 2023年6期
关键词:隔离器断路器逻辑

郑 翔,陈韶昱,钱建国,杜奇伟,王海园

(1.国网浙江省电力有限公司衢州供电公司,浙江 衢州 324000;2.国网浙江省电力有限公司,浙江 杭州 310007)

2009 年,国家电网集团出台了智慧变电站的技术规范,标志着中国第一个符合技术标准领域的智慧电网变电站投入运营,中国国内变电站也由此步入了智慧变电站的新时代。中国下一代变电站智能化技术发展趋势的主要特征为分层型、分布式和开放式系统。预期发展方向和未来发展重点是建立先进的分布式智能化,其中,接入平台是调度智能化体系中的关键部分,是实现调度智能化体系[1]的基础。国际电工委员会(IEC)成立的工作组负责制定IEC 61850 标准[2],执行监控后台、远动设备、第三方智能设备的标准化交互任务,集成远动组态描述(RCD)、远变电站组态描述(SCD)、锁定逻辑、虚拟回路、顺序控制操作、一键重命名等实现业务配置工具的集成管理,有效减少智能变电站二次设备的运维成本并提升运维效率[3]。

锁定逻辑是变压器误动控制的关键部分,长期得到电力部门的高度重视。为防止电气装置造成误发生,保证其工作的安全、可靠性,高压开关柜等装置需要安装防止错误控制系统,达到"五防"[4]的要求。传统的防错锁方法大致有4 类:机械锁、程序锁、电子实时通信和电磁门[5]。但由于现代设备的日益发达和技术手段的不断更新,防错装的技术方案设计也进行着不断的提高与改进。

IEC 61850 作为国际映射标准,规定了变电站配置描述语言(Substation Configuration Language,SCL)。SCL 用于描述与通信相关智能电子器件(Intelligent Electronic Device,IED)的结构和参数、通信系统的结构和开关舱。对应的XML/SCL 数据文件包含了变电站的主要拓扑信息,与实际使用的锁定逻辑联系比较确定,并且利用语义提取技术[6-7]已经能够完全建立锁逻辑专家系统。但SCD 的解析系统与锁逻辑专家系统均具有较为复杂的结构特征。通过专门建立的XML 数据流聚集算法[8],能够更高效地实现在具有递归结构的XML/SCL 数据流上的集中查询处理。而由此开发出来的防误锁管理系统,能够为动力系统的管理提供必要的支持措施,并协助其保持电力系统的安全、平稳、经济运行。

综上所述,本文的研究工作主要集中在新处理方案的逻辑锁在智能变电站的应用,探讨了有效搜索SCD 文件解析数据库和锁定逻辑专家系统的基于XML 聚类算法,通过拓扑,并自动生成锁逻辑分析变电站的主接线,以减少手动链接和提高变电站防误操作系统的应用程序级别。

1 构建必要数据库

1.1 SCD 解析数据库

SCD 数据中记录的信息采用基于XML 的SCL语言进行编译。该文件包含五个主要元素:文件头、变电站描述、通信系统描述、智能电子设备和数据类型模板。其中,变电站描述、通信系统描述和智能电子设备是变电站专用描述的三个重要方面,反映了整个变电站的物理、逻辑和通信拓扑结构。有两种基本的XML 解析方法[9]:XML 的简单API(SAX)和文档对象模型(DOM)。SAX 基于事件流解析。DOM 是W3C 官方标准,用于以独立于平台和语言的方式表示XML 文档。本文首先使用基于XML Schema 协议的软件XMLSpy 对XML 进行规范化,然后使用Apache Xerces 解析器[10]将SCD 数据文件映射到应用程序的内存中(DOM 树)。

模块processXMLTree(SCDTree)完成SCD 解析数据库的生成。具体代码如下图所示,一般的过程是生成XML 文档树,然后遍历DOM 树来解析每个节点。应用程序通过编辑内存中的DOM 树来操作SCD 文件,包括遍历整个SCDTree、读取节点名称和属性、添加节点和删除节点。分析的设备类型包括:线路、母线、断路器、补偿设备、隔离器、同步发电机、接地开关、主变压器、主变压器绕组、馈线等。

Schema 模式语言只能描述单个元素的值或属性约束,不能直接使用Schema 模式文档描述连接关系。同时,本文进一步识别生成的SCD 解析数据库的语义和句法结构,以方便后续聚合查询过程的处理。参考规范包括中国国家电网公司发布的Q/GDW 1175—2013«变压器、高压并联电抗器、母线保护及辅助装置标准化设计规范»、Q/GDW 1161—2014«线路保护及辅助装置标准化设计规范»。上述规范加强了SCD 文件中相互隔离但实际上联系密切的类似信息的整合,为智能变电站二次系统的设计和工程应用提供了依据。

1.2 闭锁逻辑专家系统

专家系统、模式识别与智能机器人,被称之为人工智能领域的三个前沿领域[11]。其中专家系统通过某领域的专家所提供的专业知识和经验或通过多个专家、推理和判断,参考学习他们的决策流程,从而处理一些需要由人类专家解决的复杂问题。

近年来,专家系统在电力系统中逐渐开始推广应用,具有良好的发展前景,如电力系统故障恢复专家系统[12]、电力系统继电保护运行管理专家系统[13]、调度运行管理专家系统[14]、电力系统故障诊断专家系统[15]、操作票管理系统[16]等。知识库的建立是开发专家系统中最重要和最困难的工作,也是本文研究的必要数据库。我们使用免费开源软件NASA[17]的专家系统开发工具构建dataSYS 数据库,包括相应的事实基础、规则库和推理引擎。目前,这部分工作还在不断完善中。这是因为专家系统的性能几乎依赖于专家知识。对于本文来说,需要不断地对智能变电站中的各种锁定逻辑进行整理和验证。

在变电站中,可运行的一次设备主要包括断路器、隔离器、接地装置(接地)包括接地刀或接地线。所谓锁定逻辑,就是设置上述设备的运行条件,以满足“五防”的要求。各种锁定逻辑都与主电源连接密切相关。主接线的主体是电源(进线)电路和线路(出线)电路,分为带母线的母线和不带母线的母线两大类。常见的主接线形式有:单/双母线接线、单/双母线分段接线、单/双母线分段配旁路母线接线、桥接和双t 型(或t 型)支路接线。与单母线连接相比,双母线连接是将工作线、电源线和出线通过一个断路器和两组隔离器连接到两组(主/次)母线上,两组母线都是工作线,通过母线互连断路器可使各电路并联运行。

本文以旁路双母线分段母线接线为例,探讨基于XML 聚类算法的智能变电站分块逻辑处理方案。如图1 所示,这种主接线方式具有供电可靠性高的优点,可以在不中断供电的情况下依次修复母线。它的缺点是每条电路都加了一组隔离器,使得旁路开关操作更加复杂,增加了误操作的机会,这也从另一方面印证了计算机辅助锁定逻辑的必要性。本文以电气设备的“五防”要求作为专家系统规则库的顶层设计,具体为防止断路器的误开和误合;防止有负载时操作开关;防止误进入活动空间;防止带电接地刀或接地线;防止接地刀或接地线闭合。下面介绍隔离器、断路器和接地设备[18]的闭锁逻辑。

图1 双母带旁路接线形式下的闭锁逻辑

1.2.1 隔离开关闭锁逻辑

与隔离器相关的断路器必须打开:如果有直接连接的断路器,则应打开断路器;如果没有直接连接的断路器,在隔离器两端寻找最近的断路器开口;如果隔离器的一端是母线或侧母线节点,另一端的节点与指向另一端母线或侧母线节点的另一个刀开关支路相连,则该支路对应的刀开关必须分开[19]。在停电的情况下,把线路侧隔离开关打开,并在电力传输的情况下,先关闭母线侧隔离开关。

例如,如表1 所示,隔离开关G1 是关闭的。断开开关G1 时,断开断路器DL1,防止其带电操作。相关接地设备G17、G3、G4 必须断开电源,防止接地开关被接通。先开母线侧开关用于输电,先开线路侧开关用于断电,故先开G1 或G2,再开DL1。拉闸时则先拉DL1。

表1 三种闭锁逻辑对应的专家系统操作步骤

1.2.2 断路器闭锁逻辑

断路器被隔离,比如检修的情况:开关两端的所有隔离开关分闸,这主要是考虑到开关检修的时候,为了检验开关是否能够正常分合操作,此时是允许分合开关的。断路器未被隔离,即为送电的情况:断路器两端各有一个隔离开关合闸,合闸的隔离开关两端的接地装置分闸,以防止带接地装置合闸,断路器两端其他隔离开关分闸。

例如,如图1 所示,空开DL3 闭合。DL3 合闸必须满足以下条件:G10、G11 中的一个合闸,G14 合闸,合闸隔离开关G13 对应的接地开关断开。

1.2.3 接地装置闭锁逻辑

接地设备所在节点上的全部断路器、隔离开关均处于断开状态。当断路器连接到它的端点时,与另一端连接的所有隔离开关都要断开,以防止接地装置通电。

如表1 所示,接地装置G18 接通。G18 关闭应避免带电接地,G1、G2、G8、G9、G10、G11 开启。上述隔离开关、断路器、接地装置闭锁逻辑对应的专家系统操作步骤如表1 所示。专家系统操作步骤列中的箭头从左到右,从高到低表示锁定逻辑操作的优先级。

2 聚类查询算法

2.1 算法框架

聚类分析技术是对于统计数据分析的一门技术,在许多领域已广泛应用,但在XML/SCL 数据流聚集查询处理方面的研究成果还很少。主要原因是XML/SCL 数据是一种半结构化数据[20],与传统的数据库数据不同。在电力系统中,由于子系统不同,甚至同一子系统由不同厂商开发,往往由于平台、数据库软件、甚至命名规则的不同,XML/SCL 数据的结构化不完全,这使得以往主要面向结构化/非结构化数据的研究成果不能很好地应用于XML/SCL 数据处理。

智能变电站的阻塞逻辑处理呈现出明显的聚集性和路径约束特征,表现为:阻塞逻辑涉及的节点设备类型仅限于隔离器、断路器和接地装置,与其他设备类型无关;其次,根据树型拓扑结构和专家系统判断,将阻塞逻辑所涉及节点的操作范围限定为与该节点密切相关的设备节点;此外,需要严格保证锁定逻辑中涉及节点的关闭/打开顺序。该操作由专家系统决定。通常,大多数给定的XPath 或XQuery 查询都是针对XML/SCL 数据的。首先,建立自动处理机制,然后使用XML 数据流作为输入来处理查询。采用模式匹配技术处理查询,得到未分组的数据片段,严重制约了本文对锁定逻辑的高效处理。本文提出了一种改进的多密度聚类DBSCAN 算法。DBSCAN 作为基于密度的算法的经典代表,在聚类分析中得到了越来越多的应用。然而,DBSCAN 算法需要用户在没有任何先验知识的情况下手动设置参数MinPts 和Eps(MinPts 是定义核心点时的阈值,Eps 是定义密度时的邻域半径)。参数对最终的聚类结果有一定影响。此外,在密度不均匀的多密度数据集中,使用一组全局参数会导致聚类结果不理想[21]。这些缺陷对于基于先验知识的专家系统的搜索操作显然是需要改进和优化的。因此,我们从经典DBSCAN 算法的参数入手,利用先验知识引导的搜索约束来匹配节点,利用相对父/子代方向的范围和类别来识别和确定噪声数据,在随机搜索核心对象的过程中利用邻域查询来提高算法的效率,最后通过聚类合并产生最终的聚类结果。

本文提出的基于XML 聚类算法的专家系统锁定逻辑处理流程如图2 所示,主要由四部分组成:①构建必要的数据库,从SCD 文件生成解析数据库SCDTree,对应于图中步骤0;由锁定逻辑知识库生成专家系统dataSYS,对应于图中的步骤1;②查询锁定逻辑所涉及节点的拓扑,对应图中步骤2~4;③聚类查询由专家系统引导和约束,对应图中的步骤5~10;④更新SCD 文件和锁定逻辑知识库,如图中步骤11所示。这部分处理是可选的,本文没有进一步讨论。本文后续的分簇算法验证以双母线分段旁路母线连接为例。用例是隔离器G1 的关闭操作,如图1 所示。图中G1 为预处理节点,其他相关接地设备节点G3、G4、G17 及断开连接的交换机节点DL1。

图2 基于XML 聚类算法的专家系统闭锁逻辑处理框图

2.2 拓扑查询

模块的伪代码流程如下。算法根据隔离器节点的路径信息对SCD 文件解析产生的数据库进行搜索,得到预处理隔离器节点路径的树状拓扑结构。

隔离器节点t 准备执行关闭操作,其路径标签t作为输入参数,在拓扑查询模块processTopology()中搜索路径。如果t 的路径标签与解析数据库SCDTree 中查询节点SCDt 的路径标签相同,则说明t 的入口路径可以匹配SCDt 的入口路径。此时,t连接到与SCDt 父节点匹配最近的节点,并存储在t结构中,t 结构表示交换节点的所有子节点以及交换节点通过其溯源到根节点的所有节点,即节点t的树状拓扑,专家系统根据该树状拓扑判断变电站中相应的设备类型和连接方式。

2.3 专库指引

模块的伪代码流如下所示。算法首先根据树的拓扑结构中路径结点的位置确定主接线形式的隔离开关,然后用递归方法找到符合的锁逻辑运算指令结构和之前的操作类型的专家数据库,包括设备的类型和适用范围与上述节点。

专用数据库指导模块processGuide()根据节点t 的术前操作类型,即t,首先扫描专家数据data-SYS。preACT(ON:closing,OFF:opening)的值区分搜索dataSYS 的分支。在寻找分支节点的过程中,由于查询中的“//”关系,分支节点的数据流中的同一个节点可能会匹配查询中的多条路径中的节点。但由于每个节点的路径信息只能扫描一次,因此当前扫描的节点是否能够匹配查询中的多条路径,必须同时确定。在扫描过程中,当节点t 匹配分支时,如果分支与其父节点为父子关系或分支为根节点且分支轴为“/”,则节点t 的子节点或后代可以在查询中匹配分支的子节点。此时,分支的子分支被添加到t 中。结构和分支从t.structure 中移除;如果t 结构和它的父母是祖先和后代,或者t 结构是根节点,分支的轴是“//”。递归关系使t 的后代能够匹配分支的子分支和分支本身。此时,将分支的子节点添加到t.结构中,但不要从t.结构中移除分支。

同时,在上述模块处理流程中,如果在分支中找到匹配的节点,一方面,算法将节点类型作为“类属性”存储在depend 中,供后续聚合算法执行。一些存储在t.structure 中具有不同类型的节点将被跳过而不进行处理。例如,结构中的IED 节点没有与锁定逻辑相关的处理流程,可以完全忽略;另一方面,如果分支中的匹配节点位于节点t 的父节点中,则累积t.range.p;如果它是节点t 的后代,则累积t.range.c。这个“范围属性”进一步限制了t 中的节点搜索深度。结构和依赖信息为后续更高效、更受限的聚类过程设置了严格的边界条件。

2.4 聚集查询

这个模块的伪代码流如下所示。该算法利用类的高密度连通性,快速找到任何匹配节点。基于密度的聚类是将一组“密度连通”的对象进行聚类,以实现最大限度的“密度可达”。算法将在XML/SCL数据流中获取查询对象及其对应的“类属性”和“范围属性”。对于每个节点,算法会尽早判断该节点是否满足约束,并在获取每个节点的所有信息时判断相应的约束,从而避免存储过多的中间节点,执行过多的决策[22]。

聚合查询模块processTrace()搜索SCDTree,从指定的分离节点t 开始,根据参数t.depend 和t Range 提取从t 密度中可以到达的所有对象,并获得一个用于后续锁定处理的集群。本文提出的聚类算法将噪声数据的检测和识别放在父/后代方向上密度可达结构形成之后。如果t 是核心对象(从节点t开始,父方向t.range.p 到后代方向t.range.c,匹配对象节点的所有类型),则从p 开始的所有密度可达对象都标记为当前类。如果t 是一个边界对象,t 被标记为一个噪声点。该算法提取下一个对象进行处理。依次继续,直到t.range 约束的“range 属性”或t.dependand 约束的“class 属性”确保算法的快速收敛。然后选择一个新的开始对象来展开以获得下一个集群。同时判断后代聚合对象上的聚合结果是否为其祖先聚合对象上的聚合结果的一部分? 如果是,则不需要对祖先聚合对象进行重新计算,以提高计算效率。如此操作,直到所有对象被标记并存储在队列中,与t 结构相比,队列中的节点只是进行聚类处理的匹配节点,即与分离节点t 直接相关的锁定逻辑涉及节点。这种对非集群节点的筛选将有助于加快处理过程并节省内存。

2.5 闭锁处理

本模块的伪码流程如下所示,算法根据专家系统给出的优先级指示,在节点队列中按照优先级操作闭锁逻辑,并验证输出闭锁逻辑的准备好信号。

闭锁处理模块processScheme()将队列queue中的匹配节点在专家数据库dataSYS 中进行扫描,具体流程与专库指引模块processGuide()类似,这里不再赘述。扫描得到对应节点的优先级queue.e.priority,并根据优先级从高至低的次序,对节点进行操作(ON:合闸,OFF:分闸),并将队列标记e.readyLOCK(),以标识该匹配节点完成指定操作,当队列queue 中的所有匹配节点均已完成,算法将进一步向闭锁逻辑发起人发送t.readyLOCK()准备好信号,以确认针对隔离开关t 闭锁逻辑的完成。

3 算法性能分析

3.1 算法的复杂性

经典的DBSCAN 算法可以在噪声数据集中识别任意数量和形状的簇。该算法在不建立空间索引结构的情况下,需要对随机选取的候选核心对象邻域内的点进行遍历,极大地限制了算法的实现效率,相当于一个两层的n周期。因此,DBSCAN 算法的时间复杂度为O(n2)。

本文提出的锁定逻辑处理方案实质上是一种基于专家系统先验知识的聚类算法。通过对变电站一次接线的拓扑分析,自动生成锁紧逻辑,可以减少人工环节,提高变电站防误操作系统的应用水平。为了减少盲目经典聚类算法的耗时的操作和随机搜索的核心对象,提高算法的效率,我们引入了一个简单、高效的专家约束查询方法来获取查询对象和其相应的“类属性”和“属性”XML/SCL 数据流,发现节点不标记为“集群”扩大搜索拓扑分支的核心对象,等等,直到在约束范围内找不到合理的直接密度可达节点为止。相比于盲目遍历数据集,本文提出的专家约束查询算法能够节省计算资源,提高算法执行效率。与数据集中存在的索引结构类似,分析和实验结果表明,该算法效率高且可扩展性强,其时间复杂度为O(n•logn)。

3.2 算法性能测试

本文所提出的闭锁逻辑处理方案,利用队列结构按专家系统指引的优先级处理聚集的中间结果,减少需要额外计算的时间与资源,提高聚集计算的效率;其次,针对具有递归结构的XML/SCL 半结构化数据,本算法利用节点的拓扑结构实现了更有效的闭锁逻辑涉及节点的聚集;此外本算法采用了节点祖辈/子辈范围的约束技术,提升了XML/SCL 数据流上具有半结构化数据聚集查询的有效性。

为了验证本文算法(简称Locking)的实际性能,本文构建了不同容量/结构的数据集(SCD 文件1,容量12.4 MB,平均树的深度为5;SCD 文件2,容量132.5 MB,平均树的深度为7)对比测试了所提出算法与传统非聚集查询算法,例如XPath 查询算法[23](简称Xpath)的性能。实验的环境是:CPU 为Intel i7-10710U 1.1~4.7 GHz;内存为16G DDR4 3 200 MHz;OS 为Ubuntu18.04。

闭锁逻辑算法验证执行时间对比结果如图3 所示。在拓扑查询模块processTopology()中Xpath 算法耗时约1.55 s(SCD 文件1)、5.55 s(SCD 文件2),Locking 算法耗时约1.65 s(SCD 文件1)、6.00 s(SCD 文件2),对比两种算法的执行时间没有明显差别,耗时几乎完全取决于SCD 文件容量的大小。两种算法在专库指引模块processGuide()中的执行时间与上述各自对应的拓扑查询模块processTopology()耗时相仿,但Locking 算法的耗时要略高于Xpath 算法,这是因为Locking 算法涉及了大量的专家约束条件的查询与判定,产生了相应耗时。这种基于专家系统先验知识的约束条件,其优势体现在了随后的聚集查询模块processTrace()中,Xpath 算法耗时约6.00 s(SCD 文件1)、30.00 s(SCD文件2),Locking 算法耗时约4.00 s(SCD 文件1)、5.50 s(SCD 文件2),并且这种优势随着SCD 文件容量的增加更加显著,对于容量132.5 MB 的SCD文件2,Locking 算法耗时只有 Xpath 算法的18.33%。在闭锁处理模块processScheme()中也有相类似的情况,对应Locking 算法的耗时要明显低于Xpath 算法的耗时,Xpath 算法耗时约5.50 s(SCD文件1)、35.00 s(SCD 文件2),Locking 算法耗时约3.50 s(SCD 文件1)、5.50 s(SCD 文件2),同样以SCD 文件2 为例,Locking 算法耗时只有Xpath 算法的15.71%。

图3 闭锁逻辑算法验证执行时间对比

4 结束语

本文针对智能变电站中闭锁逻辑的新型处理方案展开,提出了一种简单高效的专家约束聚类查询方式,在XML/SCL 数据流中获取查询对象及其对应的“类属性”和“范围属性”,运行时间是数据量和查询中节点数的线性函数,算法的时间复杂度为O(n•logn)。分析和实验结果表明,本文所提出的方案较以往的XPath 算法,在查询及闭锁处理模块的耗时明显降低,分别只有原先的18.33%和15.71%,并且这种优势随着SCD 文件容量的增加更加显著。由此通过对变电站一次接线的拓扑分析自动生成闭锁逻辑,具有很高的效率和可扩展性,可以有效减少人工环节,提高变电站防误操作系统的应用水平。

猜你喜欢
隔离器断路器逻辑
刑事印证证明准确达成的逻辑反思
逻辑
创新的逻辑
浅谈无菌检查用隔离器
浅谈鸡负压隔离器的安装及使用
六氟化硫断路器运行与异常处理
断路器控制回路异常分析及处理
女人买买买的神逻辑
一种实验动物新型隔离器系统的研制
一例断路器内部发热的诊断分析