赵家庆 ,唐 胜 ,钱科军 ,田 辉 ,丁宏恩 ,周 绮 ,俞 瑜 ,李 春 ,王 鼎
(1.国网苏州供电公司,江苏 苏州 215004;2.江苏瑞中数据股份有限公司,江苏 南京 210003)
随着“大运行”体系的不断推进,电网规模日益扩大[1-2],对电网安全运行以及供电可靠性的需求也越来越高[3-4],而告警系统作为监视、保障电网安全运行的重要工具,在电网调度监控中起着举足轻重的作用[5]。
近年来,国内外针对电网安全告警开展了相关研究并取得了一定的进展[6]。文献[6]从故障分析的角度分层分类别阐述了智能告警的内涵并对智能告警发展趋势进行了深入分析。另外在智能告警或预警应用方向也有相关的研究:文献[7]总结了国内外预警系统的现状,提出了一种大电网安全可靠运行的分级梯度预警预控方法;文献[8]围绕智能告警、故障诊断和故障恢复等方面研究实现了服务地区电网的智能调度辅助决策系统;文献[9]通过可视化提升、图形扩展以及多系统数据关联等手段开发了在线可视化预警调度系统;文献[10-11]阐述了电网动态监测专业下的预警与辅助决策系统的功能,分析其应用效果并进行了功能展望;文献[12]则在电力系统静态安全分析的方向上,采用基于电压稳定指标的模糊聚类数学方法实现以节点载荷能力为核心的电压稳定指标预警分析方法。
上述智能告警、预警的研究成果大多是在当前调度运行系统模式下,提出的解决告警系统某个或某类问题的方法或思想,是对电网智能化安全运行的重要探索和实现,在当前主流的调度自动化系统中能够满足基本的告警分析需求,为电力生产运行提供了较全面可靠的支撑。但是上述研究成果中电网调度系统大多基于关系数据库,其存储精度为分钟级,导致在告警判断分析时,很难获取电网真实的秒级历史数据,即告警判断缺乏全面的数据支撑,难以完成瞬时告警的捕捉、历史时刻告警的回溯分析,且不能有效利用电网全息的海量历史数据进行实时告警分析以及预警分析,在电网规模日益扩大、电网运行可靠性要求日益提高的背景下,在原有基础上发展新的技术方案迫在眉睫。
近年来,时序数据库在电网中的集成应用使得高精度采样并全息记录电网运行过程中带有时标数据成为可能[13-17]。因此,本文提出了一种基于时标量测的电网实时预警方案,有效地解决了量测跳变难以捕捉、告警规则单一、电网运行异常时缺乏有效预警手段等问题;并将其成功应用到地区智能电网调度控制系统中,将电网运行实时数据、全息历史数据以及电网模型数据三者融合,实现实时运行状态快速预警。
完整、准确、及时、可靠的基础信息是电网监视、预警和辅助决策的基础[18]。为了实现准确可靠的实时预警,本文立足于实时数据库存储的带有时标的电网量测数据,确立了基于时标量测实时预警的总体技术架构如图1所示。该架构采用关系数据库以及实时数据库作为混合数据源,包含新的实时数据入库处理、基于规则的告警、基于历史数据的预警以及前端可视化,在完成基础数据分流存储以及调度基本的告警系统功能的同时,综合加入了基于规则的联合告警以及基于历史数据的智能预警,满足不同的告警业务应用需求,形成一体化的电网实时预警体系架构,新的预警模块可以插件的方式增加到该开放式的架构中。
图1 基于时标量测的实时预警体系架构Fig.1 Architecture of real-time alarm system based on measurements with timestamp
在调度自动化系统中实现基于时标量测的实时预警有如下核心技术点。
a.系统数据的分流处理。实现电网运行过程中所有带有时标的量测数据均通过数据采集与监视控制(SCADA)系统进行数据处理后存入实时数据库中,实现时标量测数据的全息记录,为后续的智能告警、预警以及其他电网业务应用提供全面的历史数据支撑。
b.脚本驱动的告警规则定义与执行。实现从告警业务应用需求到规则脚本的平滑完整描述,使得无论是单一量测的多时刻数据组合判断,还是多个量测的数据组合判断,都可以通过配置告警判断规则的脚本实现。
c.基于电网运行历史数据挖掘的运行状态预测告警。通过电网设备历史数据训练学习以及当前状态的运行数据,预测最贴近长期历史运行的状态数据,从而可以通过预测数据与实际数据的差距对比,发现电网设备的不良状况,最终实现预警。
d.探索告警结果精细化的展示以及多样化的辅助决策分析。研究实现按照电网模型的告警/预警信息显示、告警相关量测前后一定时间段的数据对比分析以及对重要告警进行接线图和数据曲线的历史反演等功能。
智能告警可分为基于规则、基于数据、基于模型以及基于推理等方向,如图2所示。
图2 实时预警分类示意图Fig.2 Schematic diagram of real-time alarm classification
本文以综合的实时预警为目标,弱化了各种分类之间的关系,将规则、模型、数据融合,达到按规则实时预警的目的,如对于电网中的某个设备,会有温度、功率因数、电压限值等多个限值规则,在运行过程中会有一系列的指标,需要计算后才可以进行判断,利用计算后的数据以及原始的实时和历史数据,本方案试图通过规则的完整脚本描述完成多个限值规则的结合,实现按规则实时预警;另外,本方案也将模型、数据、推理算法融合,达到按推理结果进行实时预警的目的。
常规的调度自动化系统中,前置机采集到的实时数据报文经SCADA系统处理后存入系统的内存数据库中,供系统的各种应用使用,而内存数据库中的数据按分钟级(如5 min)周期存储到历史数据库即关系数据库中。笔者在前期工作[13]中提出了集成实时数据库后的调度自动化系统的数据流,即关系数据库仍作为电网运行数据周期存储的载体,而实时数据库则并行地记录全息的带有时标的量测数据。为了实现全息存储并充分利用时标量测数据,在以上集成思想的基础上,提出如下技术创新点。
a.按照IEC61970系列标准对电力系统公共信息模型(CIM)及应用程序接口规范[19-20],在调度自动化系统中提供模型代理服务以及标准的模型访问接口,接口集成至统一的数据访问层中,服务则集成至调度自动化系统的平台服务层。服务完成电网模型的组织以及模型的具体量测与实时数据库测点的映射构建。该技术创新点的前提是:在调度自动化系统的模型数据库中已定义了系统实时采样量测与实时数据库中数据信息的映射关系,包括实时数据库中对应测点名称、压缩配置、数据有效时间等重要参数。
b.调度自动化系统的实时数据处理模块根据创新点a中列出的时标量测在实时数据库中的关键信息,将来自前置机的带有时标的量测数据预处理后存入实时数据库中,同时将数据存至内存数据库供系统原有应用在必要时访问。
c.应用通过具体时标量测对应的实时数据库测点名称或创新点a中提及的模型访问接口得到存放在实时数据库中的量测数据,包括某个量测一段时间历史数据的获取、多个量测在某时刻的断面数据获取、某个模型某个时刻所有量测的数据获取等数据访问方式。图3是集成实时数据库的调度自动化系统数据流图。
图3 调度自动化系统的数据流Fig.3 Data flow of dispatch automation system
图3中,虚线框外的部分是调度自动化系统集成实时数据库之后的数据流向,在处理实时数据之后,数据可能分为带时标的量测变化数据和电网运行实时数据2种流向,也可能是其中的一种流向;虚线框内则包含了实时数据库访问、模型访问、内存数据库访问等访问方式,这些方式都封装在数据统一访问层中;1、m、n为设计时对要素如测点、量测、模型之间的映射关系的描述,如测点与量测的关系为1∶1,即1个量测对应1个测点;模型与量测间的关系为m∶n,即1个模型可能涉及m个量测,而1个量测可能为n个模型所用。
调度自动化系统的告警业务需求是通过告警限值、开关变位等固有的告警定义方式实现的,这种方式能够满足对电网实时运行状态诊断判定的基本需求,但也存在诸多局限,如无法结合1个量测的多个时间点数据进行联合判断、多个量测之间数据的联合判断以及告警规则定义的灵活度差等。而常见的利用告警专家库中的专家知识进行告警的智能判断则依赖调控人员经验以及理论分析,且侧重于原因分析以及故障解决方法,在实际的告警判断环节没有明显的改进。本文集成Lua脚本引擎,将传统的告警业务需求通过简便高效的规则脚本描述并定义,再通过后台服务执行脚本并对判断结果进行后台存储及前端展示通知的处理。图4是基于脚本驱动的告警判断流程示意图。
图4 脚本驱动的告警判断流程示意图Fig.4 Flowchart of script-driven alarm judgment
(1)告警规则定义。
Lua脚本是精简的脚本语言,运行速度快,且能够方便地嵌入 C/C++程序中[21-22],其脚本引擎可以与主流的调度自动化系统无缝集成。本方案中的告警规则脚本使用Lua语法作为语法规则约束,利用其逻辑判断、循环、数学函数、字符串函数、自定义变量以及自定义函数等强大的逻辑设计功能[23],首先完成调度自动化系统中模型访问函数、历史数据访问函数、实时数据访问函数的脚本封装,并扩展到Lua脚本引擎中,以此作为告警规则定义的基础;其次,在告警规则定义时,将电网模型可视化为树结构,遥测限值设置、遥信变位设置、告警结果类型设置等集成到规则菜单中,告警规则定义时只需要将模型树中的量测项拖入配置框,再选择弹出的规则菜单项即可对电网带时标量测的告警完成基本的规则脚本生成,也可以基于告警规则脚本模板或人工编写脚本完成告警规则定义;最后,利用脚本引擎对脚本进行语法检查以及告警定义规则合法性检查。
(2)后台执行及结果处理。
根据告警规则的配置,对于基本的告警,首先需要解析所有规则脚本得到每个脚本中涉及的量测,并向实时数据库订阅这些量测的实时数据,然后根据实时数据库的数据通知来持续地维护量测的实时数据,且当接收到量测的新数据通知时即对涉及到该量测实时数据的告警规则进行判断执行;而对于需要周期性判断的告警规则,则通过告警判断的后台程序根据时间进行告警判断。
对于判断出的告警信息,主要有3种处理方式。
a.告警信息入库。以告警时间以及告警配置别名作为关键词,将告警信息存入关系数据库中,作为告警信息历史回溯分析的基础。
b.预警系统统一客户端展示。将实时产生的告警信息推送至系统的客户端展示界面,实现对电网运行告警全面而及时的跟踪。
c.其他应用的通知。告警判断处理后台提供根据告警类别进行告警订阅的功能,在新的告警信息产生时,即根据订阅情况向各应用进行信息分发推送。
间隔是由若干相互关联的设备与设备之间的连线组成的设备集合,而将厂站内的断路器和刀闸按照其组成、功能、接线方式进行分组就得到了电网的间隔,间隔是调度监控人员进行电网业务管理、操作的重要组织形式。现有的告警系统中,未见以电网间隔作为告警分类依据的功能,本方案即以电网间隔中各量测的历史运行数据为基础,挖掘得到间隔历史运行模型;然后基于间隔历史运行模型,对间隔实时运行的状态进行判断,计算其与历史运行模型的差别以确定当前运行是否存在异常,同时定位间隔中各个分量对偏差的贡献程度,最终实现面向电网间隔及其相关量测的预测告警。
步骤1:间隔历史运行模型构建。
间隔历史运行模型构建采用层次聚类的思想。首先读取反映间隔正常运行的历史数据集,每组数据都由间隔的关键量测即有功P、无功Q、电流I及断路器状态B组成,称为间隔历史数据向量(P,Q,I,B),从历史数据向量集中得到间隔历史运行的最大向量(Pmax,Qmax,Imax,1)以及最小向量(Pmin,Qmin,Imin,0),将历史数据向量集标准化,标准化时断路器状态B不变,另外3个量测P、Q、I的标准化方式为:
然后根据模型构建的参数,包括对各历史向量聚类的初始范围向量、扩展范围向量,依次处理标准化后的数据向量(P′,Q′,I′),根据数据向量集的最大向量、最小向量将其标准化,第一个向量自成一个类模型,其后的向量根据其与各个类模型的距离差、类模型范围以及扩展范围确定是否需要与某个类模型结合,然后确定其所在的类模型(属于某个当前已有类模型或者自成一个新的类模型),直到所有间隔历史数据向量被处理一遍,至此得到若干个类模型,总称为间隔历史运行模型。图5是间隔历史运行模型构建的流程示意图。
步骤2:间隔当前状态预测告警。
间隔当前状态预测采用基于相似性的回归预测思想。在步骤1中产生的间隔历史运行模型已经覆盖了间隔几乎所有正常运行下的状态,包含多个聚类模型即正常状态。在调度自动化系统实时运行中,根据采集得到的实时量测数据向量,得到与其距离最近的历史运行聚类模型即近似模型。在计算与每个历史模型的距离时,有如下准则。
图5 间隔历史运行模型构建的流程示意图Fig.5 Development of historical operating model for bay
a.如果断路器状态为1,那么只与断路器状态为1的历史模型计算距离;如果断路器状态为0,则只与断路器状态为0的历史模型计算距离。
b.如果量测实时值大于该模型的对应量测的上限值,那么该量测分量的距离为实时值减去模型对应分量的上限值。
c.如果量测实时值在该模型的对应量测的上限值和下限值之间,那么该量测分量的距离为0。
d.如果量测实时值小于该模型的对应量测的下限值,那么该量测分量的距离为模型对应分量的下限值减去实时值。
然后根据确定的近似模型,计算得到该时刻间隔运行关键量测的预测值,除了断路器状态的预测值与实时值相同外,其他的量测预测值计算遵循如下准则:
a.如果量测实时值大于近似模型对应量测的上限值,那么该量测当前状态预测值即为上限值;
b.如果量测实时值在近似模型对应量测的上限值和下限值之间,那么该量测当前状态预测值即为其自身;
c.如果量测实时值小于近似模型对应量测的下限值,那么该量测当前状态预测值即为下限值。
如果实时运行向量与预测向量的差大于设定的经验值,即预测向量与其近似模型的距离较大,那么说明此时该间隔出现了运行异常的情况,则求出每个量测对该异常的贡献程度以供偏差定位,同时进行告警;如果该实时运行向量与预测向量相差较小,则认为此时该间隔运行状态正常。至此,完成间隔运行状态的预测告警。
在本系统中,各预警方法如关联告警、运行状态预警等方法都分为后台服务与前端界面服务2个插件,且均以松耦合的方式挂接在系统中。以运行状态预测告警算法为例,其后台模块以服务的形式挂接在告警后台判断的框架上,成为系统后台服务的一部分;前端界面则以智能电网调度控制系统中常见的信息监控画面、接线图以及关键潮流为中心,联动地挂接到前端展示框架中。通过此种松耦合的方式,本系统实现了多种调度业务预警方法的动态集成与融合。已集成的其他典型预警方法概述如下。
a.状态估计质量预警。通过计算参数辨识,分析出状态估计可能受到的影响。该预警方法结合智能电网调度控制系统中状态估计结果、状态估计误差量序列以及计算参数结果改动记录,挖掘分析得出计算参数对状态估计结果的关联关系。在人为修改状态估计的计算参数时,可以预估出状态估计结果的质量,从而对改动参数的行为进行告警,最终实现对状态估计质量的预警。
b.线路限值预警。在电网实际运行中,很可能出现新建线路通电,系统中仍未录入遥测量限值的情况,这可能会导致难以预估的事故。该预警方法结合电网模型与拓扑,识别出未定义限值的线路并告警,同时分析预测线路限值,并提供合理化的建议。
系统中多种告警、预警方法的融合,实现对电网关键运行状态的识别、预测乃至告警,再结合3种丰富的可视化展现,最终实现系统预警功能的贯通。
前端展示完成用户与基于时标量测的实时预警系统的交互。重点完成系统中告警配置、告警结果展示与查询、预警提醒等功能。具体内容包括:电网运行实时/历史数据以及电网模型查看;规则告警配置,包括规则告警判断执行的机制、规则脚本以及规则告警结果处理方式配置等;预测告警参数配置,包括历史运行聚类参数、预测告警参数配置以及预测告警结果处理方式配置等;结果展示包括实时/历史查询以及筛选、相关量测全息数据对比、对应电网接线图/量测曲线显示等,展示的手段包括颜色闪烁、数据表格、预警结果列表、丰富的脚本控件、电网接线图、量测趋势曲线、量测偏差雷达图、量测对偏差贡献率柱状图等,最终达到便捷配置系统参数、全面展示预警结果、丰富分析预警结果的目的。
本文成果已在苏州智能电网调度控制系统中得到了工程实际应用,在系统集成实时数据库作为实时数据存储载体的基础上,完成电网模型与时标量测的映射并对上层应用提供统一的模型访问接口。通过集成苏州电网模型、实时/历史运行数据、电网业务规则以及历史运行经验,以规则脚本描述、苏州电网历史数据学习与回归预测结合的手段实现了大型地区电网实时预警。图6为某间隔中有功分量在一段历史时间内实际值与预测值的对比示意图,该画面由预测告警信息跳转而来,图中ΔP为有功实际值Pr与预测值Pf的差值,可以清晰地指明间隔内有功分量对告警的影响情况。
图6 某间隔的有功分量的预测值与实际结果的对比Fig.6 Comparison between predicted and actual active powers for a bay
目前,本方案实现的各项功能运行稳定,并且经过工程应用中的不断优化,实时预警的准确性和有效性都有大幅提升。目前,系统已识别关联规则告警(如开关与遥测不一致、对端不平衡以及主变各侧遥测越限等关联告警)2836条、间隔运行状态异常预警729条、线路限值预警26条等告警信息,有效地辅助支撑了电网安全稳定运行。
通过在苏州地区智能电网调度控制系统集成实时数据库,时标量测的应用价值得到了充分挖掘。本文探索并提出了基于时标量测的电网实时预警方案,使得电网告警的判断更切合实际电网业务规则,充分利用电网运行历史数据及实时数据的特点,也使得电网运行预警能更可靠,并充分辅助决策分析。