基于CIM/E的连锁故障在线分析程序开发
2017-12-20陈晶刘明群覃日升李长松胡清泉李周龙王家华
陈晶,刘明群,覃日升,李长松,胡清泉,李周龙,王家华
(1.云南电力试验研究院<集团>有限公司,昆明650217;2.云南电力科学研究院,昆明650217;3.四川大学电气信息学院,成都610065;4.云南临沦供电局,云南 临沦677000)
0 引 言
连锁故障是近年来的研究热点[1]。国内外学者提出了很多连锁故障分析理论和模型,从不同角度揭示了连锁故障的演变。Dobson等学者利用复杂系统理论[2],从宏观演变趋势上研究连锁故障的变化,提出的电网自组织临界态可以为调度人员提供一定的预警参考信息。文献[3]认为保护系统在电网不正常状态下的隐性故障是造成线路连锁开断的原因,利用隐性故障模型刻画连锁故障的蔓延。也有学者利用可信性理论[4]建立连锁故障风险评估框架,该方法可以一定程度上克服随机性刻画连锁故障时存在的抽样次数与精度的矛盾。
上述研究大多通过标准节点系统或实际系统离线仿真,未反映实时运行状态,不能为调度人员提供在线预警操作的依据。而从离线分析到在线分析的关键是能从EMS系统中快速解析出电网模型数据。之前电网模型交换规范采用的CIM/XML模型具有冗余信息量大、效率较低的缺点[5],不能很好满足在线要求。为此,国家电力调度通信中心提出了E语言[6],将CIM/XML模型优化为CIM/E模型,能够高效地描述模型数据,减小了文件大小,提升了文件解析和模型效验的效率,能够满足较大规模电网对模型在线交换的要求[7-8]。然而结合CIM/E模型文件和连锁故障现有理论方法的研究还比较少。
因此,本文着重研究了CIM/E文件和连锁故障现有理论方法的融合,开发了基于CIM/E的连锁故障在线辨识模块。首先对CIM/E文件进行了正确性效验,确保能够读取到电网模型数据。进而,基于E语言语法开发了读取规则,将CIM/E模型数据解析到程序模块中,便于后续潮流计算和拓扑分析。以上述为基础,结合连锁故障分析的可信性测度方法,识别出当前运行状态下风险较大的连锁故障序列,并将序列识别结果写成E语言格式文件存于指定位置,为调度人员提供预警参考。本文开发的程序模块已成功运用到西南某地区电网。
1 CIM/E模型
CIM/E文件中电网模型为物理连接模型,包含了区域、基准电压、厂站、电压等级、间隔、断路器、刀闸、母线段、同步发电机、交流线段、负荷、变压器、变压器绕组、变压器分接头类型、并联补偿器、串联补偿器、遥测、遥信等22类对象,每一类对象的模型包含其标识、路径、拓扑连接关系、状态等信息。图1即为断路器类,“mRID”是原系统中的标识,在整个模型文件中唯一。“name”是原系统中的设备中文名称。“I_node”、“J_node”、“Substation”是断路器的拓扑连接信息,“status”是断路器的量测状态。
图1 断路器模型Fig.1 Model of breaker
2 CIM/E文件的读取使用
2.1 CIM/E文件正确性效验
为了确保CIM/E文件的正确性,提取数据前对CIM/E文件进行正确性效验。检查指定路径位置是否存在对应的 CIM/E文件,若找不到,则会提示“CIM/E文件不存在”的错误。找到之后,则再对该文件进行格式效验,若格式错误,则会将错误的地方一次列出来,以便修改。格式正确将不会报出错误提示。
2.2 CIM/E文件数据提取与处理
完成上一步正确性效验后,便将电网模型数据从CIM/E文件中提取到C/C++(本文开发的程序模块基于C/C++语言)中,22类对象数据分别存入对应名字的结构体中。
为确保正确读取,基于E语言语法[7],开发了读取规则:遇到“<类名”开始读取这一类数据,直到遇到“</”结束读取,并开始读取下一类数据;“@”、“//”字符分别为属性名起始和注释起始,遇到后直接跳过,直到遇到“#”开始的行,将该行中空格划分的内容分别存入到相应结构体中对应名字的变量中。
此时存入结构体中的数据还比较分散,还要通过数据处理生成便于潮流计算的BUS、LINE数组和便于拓扑分析的LSTA数组。BUS数组中包含节点信息,如发电机出力、负荷、节点电压等,LINE数组包含支路信息,如线路电阻、线路电抗、电纳、变压器支路变比等。BUS数组中数据主要提取自BusbarSection、SynchronousMachine、Load等结构体,LINE数组中数据主要提取自 ACLineSegment、ACLineDot、PowerTransformer等结构体。LSTA数组存储支路上断路器的状态,亦表征相关支路的运行状态,提取自Breaker结构体,并将在程序拓扑分析中起到重要作用。
2.3 拓扑分析
利用上述步骤从CIM/E文件获取线路运行状态OSTATE数组,进行电网孤岛识别[9]。建立BISLAND与LISLAND两个数组,分别存储节点和线路的孤岛号。两个数组行数为1,列数分别表示节点数和线路数,均初始化为0,拓扑分析完成后,BISLAND数组中不存在零值,因为每一个节点都会被划分到一个孤岛中,LISLAND数组中可能存在零值,因为有线路断开的情况。建立指标INUM、BUSN,INUM表示系统中当前孤岛号(初始化为1),BUSN表示下一搜索节点(初始化为1)。孤岛识别的步骤如图2所示。
(1)连续性搜索
从母线号1开始搜索,搜索母线上是否存在尚未被搜索过(LISLAND中对应元素为0)并且在运(OSTATE中对应元素为1,1为在运)的线路,若存在,则将该线路孤岛号置为当前孤岛号(INUM),并检查另一端母线是否被搜索过(BISLAND是否为0),若否,将其置为下一搜索母线(BUSN置为该母线号),此母线孤岛号置为当前孤岛号(INUM)。
图2 孤岛辨识流程图Fig.2 Flow chart of island identification
(2)广度搜索
当两端母线均被搜索过时,连续性搜索失效,利用广度搜索找到连续性搜索下一节点。从母线号1开始扫描完所有母线,检查母线孤岛号是否为当前孤岛号(BISLAND=INUM)并且其上有未搜索过的在运线路(LISLAND对应元素为0并且OSTATE对应元素为1),若满足,置上述线路孤岛号为当前孤岛号(INUM),并将最后一条线路上未被搜索到的母线号设为下一搜索节点(BUSN置为该母线号),返回步骤(1)连续性搜索。
(3)完整性搜索
当连续性搜索和广度搜索都找不到下一搜索节点时,从母线号1开始依次扫描,检查是否存在未搜索过的母线(BISLAND为0)的母线,一旦发现存在,以该母线为新搜索母线(BUSN置为该母线号),当前孤岛号(INUM)加1,新搜索母线的孤岛号置为改变后的孤岛号,跳到步骤(1),继续搜索,重复步骤(1)、(2)、(3),直至完整性搜索找不出新的母线。
3 连锁故障序列辨识
从CIM/E文件中提取数据并处理完成之后,结合可信性测度方法,对连锁故障序列进行辨识。
3.1 连锁故障的可信性测度
文献[4]将可信性测度[10]运用到电网连锁故障风险评估中。在精度偏差允许范围内,能更快速地获取连锁故障序列。
电网连锁故障a发生的可信性测度Cr(a)可表示为:
其中:
式中ac为a的对立事件,可能性测度Pos(a)描述a发生的容易程度,必要性测度Nec(a)描述ac发生的不可能程度。
由可信性测度的四条公理[12]可知,连锁故障a发生的可能性测度Pos(a)和必要性测度Nec(a)分别为:
式中aj为连锁故障第j个阶段,算子∧为取小运算。连锁故障第j个阶段aj发生的可能性测度和其补集发生的可能性测度通过联合可信性分布函数定义求得,具体求解方法参加文献[11]。
3.2 连锁故障的严重性指标
严重性指标用于刻画连锁故障的后果。但连锁故障的后果是广泛的,电网直接的负荷损失、间接的工业生产损失等都可谓其后果。在线辨识连锁故障序列,使用全面反映连锁故障的指标是不现实的,因此,本文使用负荷损失作为严重性指标。负荷是电网供需平衡中重要一环,负荷损失量易于统计,并且电网采取的措施多与负荷有关。
3.3 序列辨识
遍历所有线路为初始线路,以隐性故障为传播机理搜寻下一层开断线路(因多重隐性故障发生的几率远小于单重隐性故障,忽略其影响),当电网损失负荷超过20%或者潮流不收敛时,判定为发生灾难性事故,连锁故障终止。本文利用风险理论量化连锁故障的灾难后果,可表示为:
4 序列辨识结果输出
将辨识出风险值较大的前n个连锁故障序列(n可由调度人员设定)和辨识程序运行情况写成E语言文件,存放在指定位置,供调度员使用。
图3为E语言输出文件中辨识程序运行情况。第一行是电网名称和文件生成时间,便于不同版本管理。统计信息以单列式结构呈现,包含四类信息:辨识成功与否、辨识失败原因、辨识出的序列个数以及辨识耗时。辨识成功以“Yes”显示,同时失败原因为“0”。辨识失败以“No”提示,并通过“1-2”告知调度员辨识失败原因以便调整。辨识序列个数可根据调度人员需求设置,辨识时间为模块运行时间。
图3 E语言输出文件Fig.3 E-language output file
结果输出文件给调度员提供风险值由大到小的前n个序列,图4为单个序列结果展示。首先列出了序列结果以及其风险值,并在下面依次给出了每一阶段断开线路的相关信息以及断开后的负荷损失情况,以便调度员直观了解连锁故障的发展过程。
图4 风险值较大序列Fig.4 Sequence with great risk
5 连锁故障序列在线预警框架
连锁故障序列在线预警框架如图5所示。
(1)CIM/E文件正确性效验。若文件不存在或格式不正确,则会给出相应的错误提示;
(2)CIM/E文件读取与处理。将CIM/E文件的数据读入存储到C/C++结构体中。进而从不同的结构体取出数据,形成所需要的拓扑数据和运行数据的数组,以便后续拓扑分析和潮流计算;
(3)遍历所有线路为初始故障,以继电保护隐性故障为传播机制,若潮流不收敛或丢失负荷超过20%则判定连锁故障结束。可信性测度便于快速计算连锁故障的风险后果;
(4)将程序运行情况和辨识序列结果写成E语言文件,保存在指定位置。E语言文件中的时间信息便于版本管理。
图5 基于CIM/E的连锁故障在线预警流程图Fig.5 Online warning flow chart of cascading failure based on CIM/E
6 实际地区电网应用
该地区电网位于我国西南部,为典型送端电网,图6为其系统结构图。该系统有57条线路、52条母线,其中电源母线21条,负荷母线18条,母线14、15、22上负荷为外部电网等效而得。
图6 地区实际电网Fig.6 A regional practical power grid system
辨识输出结果中最大风险值序列展示如图7所示。L31由于故障等原因断开以后,系统一个外送通道关闭,母线22上的负荷失去电源支撑,负荷损失严重。进而隐性故障造成L28断开,系统解列为两个孤岛分别运行,母线14、15上的外部负荷失掉来自东北部发电机群的出力,系统运行状态继续恶化。此后系统重要的并行外送通道L26、L27断开,系统解列为三个孤岛,母线14、15上的外部负荷进一步失掉东南部的发电机群出力,仅能靠西部发电机群勉强支撑,母线14、15上的外送负荷被迫大幅减少,并且损失负荷已超过20%,灾难性事故发生。由此可见,本应用开发识别出的连锁故障序列结果符合地区电网运行实际。
图7 风险值最大序列Fig.7 Sequence with greatest risk
7 结束语
本文提出的基于CIM/E的连锁故障在线辨识模块,成功应用于西南某地区电网。仿真结果表明,该应用得到的风险较大的连锁故障序列符合地区电网运行实际情况,能够为调度员提供采取预防措施的依据。