一种基于CIM的电网潮流数据转换方法转让专利

申请号 : CN201610147938.5

文献号 : CN105790259B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 荆朝霞江昌旭

申请人 : 华南理工大学

摘要 :

本发明公开了一种基于CIM的电网潮流数据转换方法,包括步骤:S1、读取CIM XML文件;S2、读取状态文件;S3、用状态文件中的变量修正XML文件中的变量;S4、实现高效索引技术;S5、对闭合开关进行节点合并处理;S6、孤立节点处理;S7、潮流数据输出。本发明在转换过程中,使用Dom4j解析包来对CIM XML文件进行解析,具有易于实现、转换速度快等优点。

权利要求 :

1.一种基于CIM的电网潮流数据转换方法,其特征在于,包括以下步骤:S1、读取CIM XML文件;

S2、读取状态文件;

S3、用状态文件中的变量修正XML文件中的变量;

S4、实现高效索引技术,其中所述实现高效索引是指实现由一个类直接导航到与之有关联的另一个类;

S5、对闭合开关进行节点合并处理;

S6、孤立节点处理,具体步骤如下:

S601、初始化k=1;

S602、取出该节点,并判断该节点是否有效,若有效,进入步骤S603,若无效进入步骤S604;

S603、判断与该节点相连的是否是有效的线路、变压器或发电机,若包含其中至少一个,则标记节点为拓扑节点;否则标记节点为无效节点;

S604、令k=k+1;若k

S605、结束;

S7、潮流数据输出。

2.根据权利要求1所述的一种基于CIM的电网潮流数据转换方法,其特征在于:在步骤S1中,读取CIM XML文件是通过采用基于Java平台的Dom4j解析包来实现的,主要读取了CIM XML文件以下数据:①基准功率;②子控制区域;③变电站;④电压等级;⑤母线;⑥节点和端点;⑦线路;⑧开关;⑨变压器;⑩发电机; 负荷; 补偿电容。

3.根据权利要求1所述的一种基于CIM的电网潮流数据转换方法,其特征在于:在步骤S5中,对闭合开关进行节点合并处理采用的是节点直接合并法;该方法的具体步骤如下:S501、设初始值k=1;

S502、取出电器元件并判断该电器元件是否为闭合,若闭合则进行步骤S503,否则进入步骤S507;

S503、通过电器元件的端点属性根据上述的高效索引技术直接导航到与该电器元件连接的两个节点;

S504、判断这两个节点是否有效节点,若两个节点都有效,则进入步骤S505,否则进入步骤S507;

S505、判断这个两个节点的ID号是否相同,若不相同,则进入步骤S506,否则进入步骤S507;

S506、设置其中一个节点的状态为无效,修改与该节点连接的所有的端点导航到另一节点的”index”;把该节点的所有的端点和另一个节点的端点信息合并,并去掉与电器元件连接的两个端点;

S507、令k=k+1;若k<电器元件总数,则转步骤S502,否则进入步骤S508;

S508、开关合并处理完成,结束。

4.根据权利要求1所述的一种基于CIM的电网潮流数据转换方法,其特征在于:在步骤S7中,潮流数据输出是指Matpower格式的潮流数据;具体包含以下步骤:S701、基准功率输出;

S702、Case版本输出;

S703、线路数据输出;

其中,线路的数据包括输电线路的输出和变压器等效支路输出;

输电线路在输出时,按照Matpower格式要求,需要将其电阻、电抗和对地电纳处理成为标幺值;

变压器等效支路在输出时,需要将CIM XML中的数据处理为Matpower的变压器模型;

S704、拓扑节点输出;

由于在CIM XML模型中,节点类的数据与负荷类和补偿电容类的数据分离的,但是在Matpower模型中,节点bus的数据包含了以上三种类型的数据,因此,在拓扑节点进行输出时,需要把这些有关的数据进行整合输出;

根据节点连接的设备类型不同,将其分为PQ、PV节点,此外,对于Vθ节点需要外部的指定;

S705、发电机数据输出。

说明书 :

一种基于CIM的电网潮流数据转换方法

技术领域

[0001] 本发明涉及电力系统公共信息模型(CIM)领域,尤其是指一种基于CIM的电网潮流数据转换方法。

背景技术

[0002] 公共信息模型(CIM)是整个能量管理系统的应用程序接口(EMS-API)框架的重要基础,是整个企业应用集成的重要工具。
[0003] CIM采用开关/节点模型描述电力系统网络,而在计算电网潮流时应用功能是母线/支路模型。因此,在使用计算机进行电网潮流计算时需要把基于CIM模型的数据转换为诸如Matpower或BPA可以识别的潮流计算数据。目前,一些文献对CIM电网潮流数据转换过程中的节点处理进行了研究,但是没有提供一个完整、有效的解决方案来对CIM电网潮流数据转换过程进行说明。
[0004] 目前,CIM模型系统规定统一采用XML文档来描述。根据从CIM XML中获取数据的简易性,性能和最终所得到的数据模型的不同,XML解析技术大致可分为四类:1)面向文档的流式解析,如SAX法;2)面向文档对象式解析,如Dom,JDom和Dom4j;3)面向文档的指针式解析,如VTD-XML法;4)面向应用的对象式解析。SAX是一种流式解析,它并没有对XML进行重构;Dom是一种面向文档对象式解析,它将XML文档看作一颗节点树,每个节点代表一个XML文档中的元素;JDom的目的是成为Java特定文档的模型,它实现了大量的Dom的接口,因此使用非常方便;Dom4j是JDom的一种智能分支,它在性能测试上优于SAX、Dom和JDom。VTD-XML对XML没有进行提取,只是以虚拟令牌的方式记录了数据存放的位置,对本专利的XML文件读取并不合适。因此,本专利采用基于Dom4j库的方式解析XML文件。

发明内容

[0005] 本发明的目的在于克服现有技术的缺点和不足,提供一种基于CIM的电网潮流数据转换方法,即将由端点(Terminal)和连接节点(ConnectivityNode)表达导电设备之间连接关系的开关/节点模型(CIM模型)转换为由拓扑节点和拓扑节点间带阻抗的电器元件连接的母线/支路模型(潮流计算模型)。本专利所述输出的潮流数据是指Matpower格式的潮流数据。在转换过程中,使用Dom4j解析包来对CIM XML文件进行解析,具有易于实现、转换速度快等优点。
[0006] 为实现上述目的,本发明所提供的技术方案为:一种基于CIM的电网潮流数据转换方法,包括以下步骤:
[0007] S1、读取CIM XML文件;
[0008] S2、读取状态文件;
[0009] S3、用状态文件中的变量修正XML文件中的变量;
[0010] S4、实现高效索引技术;
[0011] S5、对闭合开关进行节点合并处理;
[0012] S6、孤立节点处理;
[0013] S7、潮流数据输出。
[0014] 在步骤S1中,读取CIM XML文件是通过采用基于Java平台的Dom4j解析包来实现的,主要读取了CIM XML文件以下数据:
[0015] ①基准功率;②子控制区域;③变电站;④电压等级;⑤母线;⑥节点和端点;⑦线路;⑧开关;⑨变压器;⑩发电机; 负荷; 补偿电容。
[0016] 在步骤S4中,实现高效索引是指实现由一个类直接导航到与之有关联的另一个类;
[0017] 在步骤S5中,对闭合开关进行节点合并处理采用的是节点直接合并法;该方法的具体步骤如下:
[0018] S501、设初始值k=1;
[0019] S502、取出电器元件并判断该电器元件是否为闭合,若闭合则进行步骤S503,否则进入步骤S507;
[0020] S503、通过电器元件的端点属性根据上述的高效索引技术直接导航到与该电器元件连接的两个节点;
[0021] S504、判断这两个节点是否有效节点,若两个节点都有效,则进入步骤S505,否则进入步骤S507;
[0022] S505、判断这个两个节点的ID号是否相同,若不相同,则进入步骤S506,否则进入步骤S507;
[0023] S506、设置其中一个节点的状态为无效,修改与该节点连接的所有的端点导航到另一节点的”index”;把该节点的所有的端点和另一个节点的端点信息合并,并去掉与电器元件连接的两个端点;
[0024] S507、令k=k+1;若k<电器元件总数,则转步骤S502,否则进入步骤S508;
[0025] S508、开关合并处理完成,结束。
[0026] 在步骤S6中,孤立节点处理具体步骤如下:
[0027] S601、初始化k=1;
[0028] S602、取出该节点,并判断该节点是否有效,若有效,进入步骤S603,若无效进入步骤S604;
[0029] S603、判断与该节点相连的是否是有效的线路、变压器或发电机,若包含其中至少一个,则标记节点为拓扑节点;否则标记节点为无效节点;
[0030] S604、令k=k+1;若k
[0031] S605、结束。
[0032] 在步骤S7中,潮流数据输出是指Matpower格式的潮流数据;具体包含以下步骤:
[0033] S701、基准功率输出;
[0034] S702、Case版本输出;
[0035] S703、线路数据输出;
[0036] 其中,线路的数据包括输电线路的输出和变压器等效支路输出;
[0037] 输电线路在输出时,按照Matpower格式要求,需要将其电阻、电抗和对地电纳处理成为标幺值;
[0038] 变压器等效支路在输出时,需要将CIM XML中的数据处理为Matpower的变压器模型;
[0039] S704、拓扑节点输出;
[0040] 由于在CIM XML模型中,节点类的数据与负荷类和补偿电容类的数据分离的,但是在Matpower模型中,节点bus的数据包含了以上三种类型的数据,因此,在拓扑节点进行输出时,需要把这些有关的数据进行整合输出;
[0041] 根据节点连接的设备类型不同,将其分为PQ、PV节点,此外,对于Vθ节点需要外部的指定;
[0042] S705、发电机数据输出。
[0043] 本发明与现有技术相比,具有如下优点与有益效果:
[0044] 本发明方法提供了一种完整的思路将CIM模型数据转换为Matpower格式的潮流数据。在读取CIM XML文件时采用了Dom4j解析包来解析XML文件,相比与SAX、Dom和JDom解析XML具有性能优异和易于实现等优势。高效索引技术实现了一次加载快速索引的目的,加快了模型的转换速度。闭合开关节点的直接合并法思路清晰,且只需遍历一次就可以实现所有的闭合开关的处理。因此,所述的方法具有易于实现、转换速度快等优点。

附图说明

[0045] 图1为基于CIM的电网潮流数据转换方法的流程图。
[0046] 图2为Java平台上存储CIM XML的数据的结构图。
[0047] 图3为节点直接合并法的示意图。
[0048] 图4为Matpower的变压器模型示意图。

具体实施方式

[0049] 下面结合具体实施例对本发明作进一步说明。
[0050] 如图1所示,本实施例所述的基于CIM的电网潮流数据转换方法,其具体情况如下:
[0051] 一、读取CIM XML文件。本专利通过基于Java平台的Dom4j来实现对CIM XML文件的解析。本专利主要读取了CIM XML文件以下数据:
[0052] 1)基准功率;2)子控制区域;3)变电站;4)电压等级;5)母线;6)节点和端点;7)线路;8)开关(包括Breaker和Disconnector);9)变压器(包括PowerTransformer、TransformerWinding和Tap数据);10)发电机(包括SynchronousMachine、HydroGeneratingUnit和ThermalGeneratingUnit数据);11)负荷;12)补偿电容。
[0053] 从CIM XML文件中读取出的数据,在Java上的存储数据结构如图2所示。
[0054] 二、读取状态文件。由于本专利的状态文件是以文本格式存储的,所以在进行读取的时候直接采用了普通文件读取的方式,并且根据CIM XML文件提取的数据的类型来提取状态文件的数据。
[0055] 三、用状态文件中的变量修正XML文件中的变量。由于CIM XML文件中的数据是一个网架结构的数据,其中包含的状态数据是一个初始值,并不能真实的反映电网的实时运行状态,因此必须需要由一个状态文件来修正XML文件的结构。在对XML文件中的变量进行修正时,根据Java上的存储数据结构可知,首先修正变电站Substation的状态,然后在修正各个设备的状态。
[0056] 四、实现高效索引技术。
[0057] 根据存储数据的底层结构不一样,采用的实现高效索引的方法也不一样:若采用线性存储结构,如List方式,在实现高效索引的时候,在该类的基础上加入索引对象的“index”即可;若采用Map的数据存储结构(key-value结构),如HashMap,在实现高效索引的时候,在该类的基础上加入索引对象”key”即可。
[0058] 如在CIM模型中最重要的两个类为ConnectiviyNode和Termianl。所有的设备或元件都依赖于Termianl类,设备与设备之间的连接关系是通过ConnectivityNode来实现的。在CIM模型中大量的存在着这两个类,为了数据存储和使用的方便,本专利在对其数据进行解析和提取时,采用两个List分别对其进行存储。因此,若想知道一个设备是与哪些设备相连的,首先需通过该设备的Terminal遍历Connectivity Node,来找到与该设备相连的Connectivity Node,然后在找到与之相连的设备。在这个过程中需要大量的索引工作,即需要由Connetivity快速导航到Terminal或由Terminal快速导航Connectivity Node。本专利通过在这两个类中加入对方的索引来实现高效索引工作。
[0059] 五、对闭合开关进行节点合并处理。具体实现的步骤如下所示(以断路器Breaker为例):
[0060] S501、设初始值k=1;
[0061] S502、取出断路器Breaker并判断该断路器Breaker是否为闭合。若闭合则进行步骤S503,否则进入步骤S507;
[0062] S503、通过断路器Breaker的端点属性根据上述的高效索引技术直接导航到与该断路器Breaker连接的两个节点;
[0063] S504、判断这两个节点是否有效节点。若两个节点都有效,则进入步骤S505,否则进入步骤S507;
[0064] S505、判断这个两个节点的ID号是否相同。若不相同,则进入步骤S506,否则进入步骤S507;
[0065] S506、设置其中一个节点的状态为无效,修改与该节点连接的所有的端点导航到另一节点的”index”;把该节点的所有的端点和另一个节点的端点信息合并,并去掉与断路器Breaker连接的两个端点;
[0066] S507、令k=k+1;若k
[0067] S508、开关合并处理完成,结束。
[0068] 其实现节点合并的过程如图3所示。
[0069] 六、孤立节点处理。具体包含以下步骤:
[0070] S601、初始化k=1;
[0071] S602、取出该节点,并判断该节点是否有效。若有效,进入步骤S603,若无效进入步骤S604;
[0072] S603、判断与该节点相连的是否是有效的线路、变压器或发电机。若包含其中至少一个,则标记节点为拓扑节点;否则标记节点为无效节点;
[0073] S604、令k=k+1;若k
[0074] S605、结束;
[0075] 七、潮流数据输出。本专利所述转换的潮流数据是指Matpower格式的潮流数据。具体包含以下步骤:
[0076] S701、基准功率输出;
[0077] S702、Case版本输出;
[0078] S703、线路数据输出;
[0079] 其中,线路的数据包括输电线路的输出和变压器等效支路输出。
[0080] 输电线路在输出时,按照Matpower格式要求,需要将其电阻、电抗和对地电纳处理成为标幺值。
[0081] 变压器等效支路在输出时,需要将CIM XML中的数据处理为如图4所示的Matpower的变压器模型。
[0082] S704、拓扑节点输出;
[0083] 由于在CIM XML模型中,节点类的数据与负荷类和补偿电容类的数据分离的,但是在Matpower模型中,节点bus的数据包含了以上三种类型的数据,因此,在拓扑节点进行输出时,需要把这些有关的数据进行整合输出。
[0084] 根据节点连接的设备类型不同,将其分为PQ、PV节点。此外,对于Vθ节点需要外部的指定。
[0085] S705、发电机数据输出。
[0086] 综上所述,本发明提供了一种完整的思路将CIM模型数据转换为Matpower格式的潮流数据。在读取CIM XML文件时采用了Dom4j解析包来解析XML文件,相比与SAX、Dom和JDom解析XML具有性能优异和易于实现等优势。高效索引技术实现了一次加载快速索引的目的,加快了模型的转换速度。闭合开关节点的直接合并法思路清晰,且只需遍历一次就可以实现所有的闭合开关的处理。具有易于实现、转换速度快等优点,值得推广。
[0087] 以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。