APP下载

基于一阶谓词逻辑的智能操作票一体化系统

2021-03-19徐尧燚朱思婷刘奇詹鹏黎翔管霖

电气自动化 2021年1期
关键词:命令调度检修

徐尧燚,朱思婷,刘奇,詹鹏,黎翔,管霖

(1. 华南理工大学 电力学院,广东 广州 510640;2. 广东电网有限责任公司广州供电局电力调度控制中心系统运行部,广东 广州 510610)

0 引 言

城市供电网络通常是闭环结构设计,但为限制短路电流一般采用开环运行。因此,电网运行方式会随着线路和变压器等设备的停电检修而经常改变。在城市电网的调控工作中,对于调度员来说,日常大部分工作量来源于对检修计划的处理。根据检修计划中的停电设备、相应的运行方式调整和二次设备更改等操作任务信息填写调度命令票和对应的操作序列,并将操作票下发给相关厂站执行。调度命令一般是关于电力设备在四种基本工作状态(运行、热备用、冷备用和检修)间转换的工作内容,操作序列则是调度命令对应的可开合设备(开关、刀闸和地刀)的详细操作工序。

国内对操作票智能系统的研究和推广已开展多年[1-4]。但大多数缺乏良好的智能性和通用性[5-6],例如需要人工点图成票[7]。系统对设备之间的关系表示比较复杂[8-9],并且难以拓展实现对厂站间不同设备的复杂关联。推理规则通常采用固化模板,智能性和可维护性不足[10-11]。总的来说,当前所开发的操作票系统缺乏考虑复杂运行方式调整下涉及多项操作任务配合的规则推理,多是针对固定的变电站和运行模式开票。另外也缺少对二次设备的建模,相关的操作票推理中并没有涉及到保护和稳控装置等的投退或更改。

当前城市电网规模不断扩大,设备进行停送电相应频繁。因此有必要开发智能系统实现城市调控中心操作票的自动推理和执行。所设计的系统应能够自动解析检修计划内容,生成操作任务,搜索相关的电网数据,并实现操作票的灵活推理和智能执行。由于检修计划涉及到运行方式调整和二次设备投退等操作任务,如何对操作任务信息、相关电网事实进行灵活表达,并设计与之相适应的通用规则和操作票推理机制,实现操作票与外部系统的交互执行,将是本文智能操作票系统的重点研究内容。

1 系统总体架构和设计

1.1 系统的总体架构

本文所设计的命令票-操作票-程序化操作集成自动化系统的总体架构如图1所示,主要由系统控制中心、数据接口、推理机、操作票生成系统和执行系统组成。

图1 系统的总体架构

系统控制中心实现对工作任务列表的智能管理和优化,根据任务类型调用相应功能模块,实现与外部系统的通信。数据接口采用Rabbit消息队列实现了与停电管理系统(outage management system,OMS)、EMS系统的数据交互,例如系统从OMS系统中获取检修计划单和从EMS系统中获取设备的实时数据等。系统知识库由事实库和专家规则库构成。事实库是设备信息、实时状态、拓扑连接关系和操作任务等以恰当知识形式表达的事实集合。专家规则库是系统开发人员结合电网调度规程和调度运行操作管理细则等进行提取生成,从操作任务映射到调度命令的结构化知识。推理机能够实现事实库与专家规则库的匹配以完成调度命令票的智能推理。

系统首先通过自然语言理解将检修计划单解析成结构化的操作任务信息,然后根据解析结果搜索和查询检修单相关的电网数据,并将上述操作任务和数据转化成事实库,进一步完成调度命令票的推理和操作序列的生成。在执行操作票前,需要预先对执行后会造成当前电网设备潮流负荷变化的开关操作进行校核。操作票由系统下令给OMS系统完成程序化操作[12],程序化操作可以实现网络发令的解析和对应设备的远方遥控操作。在操作票执行结束后系统将进行电网状态的确认。各模块的功能说明如下。

操作任务解析模块:通过自然语言理解对检修计划进行处理,将相关操作任务信息解析成结构化数据,并转化为适合计算机处理的知识格式。

数据搜索查询模块:根据解析得到的厂站名和设备名判定局部操作范围,从数据库中获取相关的设备信息、拓扑关系和电网实时状态等数据,转化形成对应的相关电网事实。

调度命令票推理模块:调用推理机,利用事实库和专家规则库的匹配完成调度命令票的推理,并给出推理解释。

操作序列生成模块:根据调度命令票的推理结论,读取相关的设备关系表,生成调度命令对应的操作序列。

操作票预处理模块:识别会引起潮流负荷变化的开关操作序列,并对操作票进行划分,确保每部分操作序列中有一项上述的变位操作。进一步生成全体被操作设备的执行票前初始状态和执行票后目标状态。

操作票预演模块:核对全体被操作设备的实时状态和执行票前设备初始状态是否一致;提取整张操作票中会引起潮流变化的操作序列;按照顺序发送至EMS的PAS程序;由PAS程序调用实时电网镜像进行相应的操作预演和潮流计算,并返回每项操作下相应的设备潮流数据由模块进行校核。

操作实时校核下发模块:对下一步即将执行的操作序列部分,将其发送给PAS程序进行实时模拟操作下的潮流计算,模块通过对返回的设备潮流数据进行校核,判断是否下发相应的操作序列。将相应部分待执行的操作序列以机器内部码形式下发给OMS系统,由OMS通过网络发令完成程序化操作。

操作票执行完毕确认模块:当收到OMS系统上报操作票执行完毕后,模块将全体被操作设备执行票后应有的目标状态与设备量测库中相关设备的实时状态进行核对,确认操作票执行完成。

知识库和数据库管理模块:负责数据库或专家知识库的更新,如专家规则的新增修改等。

系统通过模块化的设计提高了可维护性。操作票的执行环节主要涉及与外部系统的交互,逻辑判断较为简单,而操作票生成环节的研究和应用将是本文的关键内容。

1.2 系统的数据需求和控制决策

为实现快速、及时的自动化工作流程,系统数据库存储了各类数据。系统首先从OMS系统获取检修计划单文本和检修相关设备的目标状态作为初始输入数据,同时应能够读取电网的基础数据和实时数据。对于电网的设备信息、拓扑连接关系、厂站和单位信息等基础数据,系统将其存储在自身Oracle数据库中,当相关数据更新时,由系统访问EMS获取以xml格式导出的遵循61970标准CIM文件,在解析后对系统的基础数据库进行更新。对于电网实时状态和潮流数据的获取,系统采用从EMS服务器下载实时E文件的方式,E文件中包含了开关、刀闸的实时运行状态和潮流方向。系统对其解析后,得到全网开关和刀闸当前的运行状态(开/合)以及开关的潮流方向,并进一步生成设备当前的调度用语状态(运行/热备用/冷备用/检修),将相关实时数据存储在Oracle对应设备表里。对于专家规则、运行过程产生的分析数据(包括事实库、操作票)等系统内部数据,相应选择合适的结构形式将其存储在系统的Oracle数据库中。

在操作票执行时,由于需要实时感知设备的状态变化以确认操作的执行进度,因此采用由EMS开通权限,通过系统访问设备量测库来读取设备实时状态。此外系统在执行操作票的过程中与OMS、EMS产生交互数据,系统将视数据类型进行存储。图2给出了系统各类数据的构成和来源。

图2 系统的数据构成

控制中心是整个系统的主程序,它控制着系统的业务流程,通过Rabbit消息队列与外部系统进行数据交互,对消息列表中接收到的各项外部消息进行解读。若是需要处理的工作任务,将会添加到系统的任务列表中并调用相应的功能模块进行处理。因此系统运行的驱动主要是依靠从消息队列接收到的事件(任务),对于操作票的推理,系统业务的开始是以接收到批量检修计划的事件为驱动,而操作票的执行则以系统接收到全体相关现场人员到站为事件驱动。

在操作票执行环节,若需要同时执行多张操作票,控制中心将调用python开发的celery分布式任务调度模块,读取任务列表中待执行的操作票并开启多任务并行处理模式。

对于任务列表中的事件,控制中心还会进行重要级的评判,例如在进行某张操作票的推理时突然收到执行其他操作票的事件,系统将会中断当前的业务处理流程,优先执行调度操作任务,等待任务执行完毕再继续完成操作票的推理。

在系统与外部系统进行通信的过程中,为使消息具有唯一性,每条消息均包含了流程编码、步骤编码和计划单ID。流程编码是由系统在每次业务流程开启时生成的唯一编码,步骤编码则用来标记每一类消息的类型以方便消息解读,而计划单ID则是消息内容所针对的检修计划的相应编号。

2 基于一阶谓词逻辑的知识库设计和生成

2.1 事实库的设计和构建

一阶谓词逻辑是一种描述对象和关系的语言表示方法[13],适合表达领域内知识和构造域内推理规则。在操作票事实库的设计上,本文采用“谓词符号(电网对象1,电网对象2,…)”的函数表达方式对各类电网对象的属性、关系和操作任务等信息进行表达。电网对象是电网中现实物理存在的唯一编码,涵盖各类电力设备装置和工作单位等。谓词采用自然语言对电网对象的属性、关系和操作任务等信息进行描述。例如事实“line_load_transfer(x,y)”表示将线路本体x的负荷转由y供,“bus(z)”表示电网对象z是母线。

基于电网事实的来源和逻辑特点,本文将其划分为两类:一类是相关电网事实,另一类是通过解析检修计划得到的操作任务事实。应用分层分类的事实框架对以上两类事实进行描述(中文给出了事实的分类和解释,英文为谓词符号)。

如图3所示,相关电网事实可分为静态概念事实、动态概念事实和关系事实。静态概念事实表示电网中设备和单位等构成内容,一般通过不定期完成更新。动态概念事实描述了电网对象的实时信息,如负荷开关是实时功率从线路流向母线或主变的线路开关。关系事实表示各对象之间的拓扑连接关系和从属关系等,其中从属关系表示不同对象之间的层次关系。

图3 电网事实的组织和表达框架

在检修计划解析方面,如图4所示,本文将操作任务事实分为停电设备、确认型事实和操作事实。操作事实描述了电网运行方式调整和二次设备操作, 确认型事实是对设备工作状态或电网运行方式的确认。

本文所设计的事实库将现实电网中设备、单位作为被描述的物理对象,采用具有解释性的谓词符号将各类数据、信息和关系表示成分散化的事实。整个事实库的组织和表达灵活,具有很强的通用性。谓词符号除了表示电网对象,也可以描述常量或数据量,如“change_protection_value(x站y线相间距离保护Ⅱ段定值,23.6 Ω)”,更改保护定值事实描述了数据量,这极大增强了知识的表达能力。

不同电网对象通过关系事实或操作事实产生了联系。事实的联系使得不同事实间并非孤立。对于同个本体的多个属性事实,同类属性事实可以分为多层。构造检修规则时可以根据应用场景不同选取相应的事实层次。因此基于以上事实表达方式,通用型规则的构造将易于实现。

图4 操作任务事实的表达框架

2.2 操作任务的解析和电网事实的搜索

操作任务信息和相关电网事实的集合构成了检修计划对应的事实库。实现检修计划的操作任务的解析需要对相关文本内容进行机器理解。目前电力系统领域内自然语言文本的智能解析的相关研究和应用尚比较少,本文采用能自主学习语义结构知识的电力文本语义解析技术,应用正则表达式建立检修计划对应的句法知识库,利用语义网络抽取重要设备信息,能够辨识检修计划文本中词语组合从属关系和解决主语脱落现象,从而精准理解操作任务的文字句意。文献[14]对相关技术方法进行了详细介绍。在将检修计划的文本内容解析成结构化数据后,通过查询数据库中相关设备信息,将操作任务信息中的设备主体更换成全网唯一设备编号,进一步根据本文采用的知识表示方式将所解析的信息转换成事实库。

在对检修计划相关电网数据进行搜索时,一个重要的原则是必须判断操作任务所涉及的拓扑范围,给出范围内的设备信息、拓扑关系和设备的实时状态等,并且能够识别各种电网主接线。传统的关系型数据库难以满足系统搜索性能和识别电网接线方式。为了加快拓扑搜索和事实库的动态生成效率,另外采用Neo4j图数据库将城市电网结构进行表示和存储。图由节点、边和属性构成,节点为电网一次设备,边和属性分别为设备间连接关系和设备的相关参数,图的属性从电网基础数据库导入。通过利用检修计划解析结果中的厂站和设备名,在图上采用内置的图搜索技术,如双向广度优先搜索进行节点间路径搜索,确定检修计划的操作范围并进行局部范围内节点属性和节点间关系的拓扑分析。另外结合实时状态和潮流数据等动态信息,将操作范围内所有拓扑分析结果和相关设备数据转化为检修计划对应的相关电网事实。

在一般的拓扑分析中,例如要得到开关及其两端连接电气设备的拓扑事实,可以通过在拓扑分析中记录下开关及两端连接设备来生成。在对变电站主接线等复杂拓扑的判别上,通过开发主接线辨识算法现对各种变电站主接线的判别,进一步建立接线方式库,在图数据库上将属于接线方式库中的厂站主接线的相关信息进行提取和存储,以实现事先对主接线的逻辑识别,从而在进行拓扑分析时可以直接利用主接线的判别结果。

2.3 调度命令票规则的设计

基于上文构建的事实库,本文设计了采用If-Then架构的调度命令票推理规则。通用表达形式如下:

IfCd, Then (Cn,Sc,Lg) , PriorityZ, ForEx。

Cd表示规则前提,采用一阶谓词逻辑语言进行描述,由若干子条件Cdi(Xj,…)及逻辑符号∀(全称量词)、exists(存在量词)、->(蕴含)、=(等价)、&(与)、|(或)、!(非)等复合而成。子条件Cdi(Xj,…)由事实库体系中的谓词符号Cdi和变量Xj(或常量)构成。

规则后件由Cn(Xj,…)、Lg(Xj,…)、Sc(Xj,…)组成,Cn(Xj,…)表示结论,其中Cn是结论谓词符号,表示某项操作的执行或某项复杂任务的阶段完成情况。Sc(Xj,…)表示更改事实库中电网对象的当前状态,通用表达为State_before(Xj,…)→State_after(Xj,…),模拟实际操作执行时造成的设备状态变化。Lg(Xj,…)是调度命令语句模板,由标准中文语言和变量构成。

Z表示规则优先级,Ex是规则对应的解释内容,可以输出给用户查看推理解释。表1给出了命令票推理规则的范例。

表1 调度命令票推理规则示例

命令票推理规则通用的面向电网对象变量。当某条规则的前提与事实库匹配成功后,其结论Cn(Xj,…)中的变量Xj将被实例化成电网对象,同时实例化后的结论将作为新事实添加到事实库中。因此某些规则的结论可以作为其他规则前提中的构成成分,这意味不同规则与事实库匹配时存在先后顺序,该构造方式降低了规则的冗余程度,体现了规则层次性,有利于实现从复杂操作任务推理得到调度命令序列。

在规则的构成上,前提Cd中的所有变量共同描述了复杂的设备属性、电网结构和操作任务等实际调度状况,通过逻辑符号和量词的组合,事实之间的各种联系限定了规则的适用范围,防止了规则的误触发。因此,规则的表达完善、灵活和通用,可维护性强,能够满足调度命令票推理的要求。

3 调度命令票的推理和操作序列的生成

3.1 推理机的机制设计和调度命令票的推理

应用Python中NLTK工具包自带算法[15]进行推理机的开发,该算法可以判断事实库中是否存在满足规则前提的电网对象。所设计推理机的实现机制如图5虚线框中所示。推理机通过动态提取与规则前提相关的事实形成小事实库,从而缩小事实的搜索量以提高推理效率。当推理机从事实库中搜索到满足某规则前提的电网对象后,将结论中的变量实例化生成推理结果。

与以往的命令票生成系统不同,系统的成票可以有效满足各种操作范围广、需要多厂站配合的运行方式调整和二次设备更改等复杂调度任务的要求。每张检修计划形成事实库后,系统的调度命令票推理模块通过调用推理机,采用前向推理策略进行相应的推理。在每次规则匹配推理完成后,结论将作为新知识添加到本体知识库中为下一次规则匹配增加条件,同时模块将模拟实际调度操作执行时对相关设备状态进行更新。当检测到事实库中的设备目标状态与其当前状态一致并且所有操作任务知识均已被匹配过,模块将停止继续匹配规则库完成命令票的推理。应当注意的是,每一次读取规则时同一优先级可能有多条规则满足当前的事实库,或者事实库中有多组电网对象满足同一条规则,此时只需将对应的调度命令语句分别输出即可。

3.2 操作序列的生成

系统在推理调度命令票后,需要生成调度命令语句对应的具体倒闸操作序列。由于在调度命令票推理过程中记录下了调度命令层的实例化结论,因此可以根据结论所表达的操作以及操作涉及的设备对象,基于数据库预先定义和存储的若干类数据结构表,对每种调度命令语句编写搜索数据结构表生成操作序列的程序函数。必要时可根据程序中包含的查询设备状态,确认具体操作的设备(如接在双母上的线路开关转冷备用时需要先确定运行的母线侧刀闸)。

表2为定义线路开关表的示例,给出了线路开关与所连接的线路和母线的关系,以及开关两端刀闸的对应序列关系,可以解决线路开关状态在热备用和冷备用状态间转换时对应的操作序列生成问题。

表2 线路开关表的示例

操作序列的实际生成,只需根据调度命令层的实例化结论调用对应的程序函数,即可快速生成调度命令对应的操作序列。如调度命令“崇安巡维地远站将110 kV绿地乙线126开关由热备用转冷备用”,“line_breaker_hotspare_to_coldstandby(Cchongan,Cdiyuan,Cdiyuan.126)”是其对应的结论事实,谓词表示将线路开关从热备用转冷备用,通过查询线路开关表,由于开关仅连接单母线,因此不用获取母线侧刀闸的实时状态来确定所断开的具体刀闸,直接生成操作序列和对应的机器内部码,如表3所示。内部码在操作票执行过程中由OMS程序化操作进行识别和执行。

表3 操作序列生成示例

4 应用实例与分析

本文在PyCharm上采用Python语言完成了系统的开发和应用。以110 kV线路的停电检修计划为例,停电设备为110 kV绿地乙线,检修要求“110 kV绿地乙线负荷由绿地甲线供,在线路停电后,确认地远站110 kV备自投充电方式与实际运行方式一致”。应用本文所设计的操作票智能系统,可以实现涉及多厂站和多线路运行方式调整,以及多操作任务配合的调度命令票推理。通过对上述检修文本的解析和相关电网事实的搜索生成,利用所设计的推理机制生成调度命令票,如表4所示。

表4 调度命令票生成示例

合序限定了调度命令的执行顺序,不同合序的调度命令必须严格按照先后顺序依次执行。由于所设计的规则推理主要利用了电网设备状态的转换和优先级的设置,因此推理机每次对同一优先级规则进行匹配推理时,输出的若干句调度命令均可在当前电网状态下执行,具有相同的合序。因此每次同一优先级的规则推理出的调度命令语句具有相同的合序,合序只需在不同优先级推理出的调度命令语句上依次递增即可。

进一步可生成各调度命令的操作序列和内部码,通过Rabbit消息队列开发的数据接口,与OMS和EMS进行通信完成操作票的执行。

5 结束语

针对目前操作票专家系统智能性和通用性的不足,本文提出了一种可以实现从检修计划文本到操作票生成和执行的命令票-操作票-程序化操作集成自动化系统。采用一阶谓词逻辑方法,系统对检修计划和操作票领域内的事实和规则进行了灵活通用的表示,考虑了二次设备的建模和各类操作任务信息的表达,并设计了与之相匹配的调度命令票推理机制。在系统运行的设计思路上,先是利用规则完成调度命令票的推理,进一步查询相关结构表来实现操作序列的生成,最后通过与OMS、EMS系统的交互来完成操作票的校核和执行。

猜你喜欢

命令调度检修
基于智慧高速的应急指挥调度系统
水资源平衡调度在农田水利工程中的应用
管理Windows10的PowerShell命令行使用记录
基于增益调度与光滑切换的倾转旋翼机最优控制
地铁车辆检修模式及检修技术相关思考
疫情就是命令 防控就是责任
基于强化学习的时间触发通信调度方法
地铁车辆检修模式的思考与解析
雨中检修
检修