一种IEC61850模型文件转换方法与流程

文档序号:11950360阅读:942来源:国知局
一种IEC61850模型文件转换方法与流程

本发明属于智能变电站通信领域,具体涉及一种IEC61850模型文件版本升级转换方法。



背景技术:

IEC TC57于2003年发布IEC 61850第1版本,该标准的内容包括数据和装置建模、工程集成方法、一致性要求等内容,可指导变电站的工程实施,得到了电力运行调度公司、继电保护测控厂家的支持和广泛使用。在版本1(ed1)发布后,IEC TC57WG10通过收集版本1在使用过程中的问题和争议,为解决相关缺陷,于2011正式发布版本2(ed2)的标准。

由于目前智能变电站中大量投入运行的装置使用的是ed1的模型,如果手工创建修改为符合ed2的模型文件,工作量大,难度高,容易出错。另外在海外工程中,由于无法事先无法预知用户使用的IEC61850版本,需要保护测控装置工程能够可选输出不同版本的模型文件,从提高研发效率的角度考虑,希望装置工程是按照ed1建模,可根据实际需求,对形成的ed1模型文件转换到ed2,减少同时维护2个版本模型文件的工作量。现有技术中,缺少一种IEC61850模型文件自动转换方法。



技术实现要素:

本发明的目的是实现IEC61850模型文件从版本1到版本2的自动转换功能。为了达成上述目的,本发明提供一种IEC61850模型文件转换方法,其特征在于如下步骤:

第一步:读取IEC61850版本1格式的模型文件;读取IEC61850版本2的数据模板文件;读取模型转换配置文件;读取版本2的schema文件,创建IEC61850版本2的模型文件数据对象。

第二步:根据版本1模型文件的节点类型,在版本2文件中创建对应的节点,按照节点类型进行分类匹配转换。

第三步:按照版本2的格式输出转换后的模型文件。

其中,所述的第二步,按照节点类型进行分类匹配转换,具体包括如下内容:a)根据版本1模型文件中智能装置(IED)、连接接入点(AccessPoint)、逻辑设备(LDevice)列表信息,在版本2模型文件中构建同名的层次结构数据。

b)版本1模型文件中的LDevice内各个逻辑节点实例LN,根据id属性和匹配规则,从数据模板中获取新的类型定义LNodeType’,创建逻辑节点实例LN’,添加到版本2的模型文件中。所述的LN匹配规则为:

i.优先从模型转换配置文件中定义的id转换表进行匹配。

ii.根据id进行同名匹配。若未找到LNodeType,则根据LN的属性lnClass进行匹配,从数据模板中查找lnClass相同LNodeType。

c)对LN的各个数据实例配置DOI,根据name属性和匹配映射规则,在LNodeType’中查找获取对应的DO,在LN’中创建DOI’,并将DOI内的各个DAI的属性配置和节点值复制到DOI’中;并设置DOI在转换中的同名匹配、更名匹配、未匹配等标记。所述的DOI匹配映射规则如下:

i.根据DOI的name属性,优先查找LNodeType’内name相同的DO,并在LN’中创建同名的DOI,并置同名匹配标记。

ii.根据模型转换文件中定义的DO名字转换关系,依次在LNodeType’中查找新的DO,若查找到则置更名匹配,若未查找到,则置未匹配标记。

d)汇总版本2模型文件中实例化LN对应的LNodeType,汇总各个LNodeType使用的DOType、DAType、EnumType,从数据模板中复制对应id的数据,添加到版本2模型文件的DataTypeTemplates节点下。

e)将版本1模型文件中的数据集复制到版本2模型文件中,并根据DOI转换标记,对于数据集中使用的更名匹配的DOI,用替换后的新名字更新FCDA的doName属性值;对于数据集中未匹配的DOI,则删除对应的FCDA。

f)处理版本1中其它节点(包括文件头Header、通信Communication、服务Services、报告控制块ReportControl等节点),根据节点类型在版本2中创建对应的数据类实例,并复制同名属性、子节点,对于新增的必选属性,则从配置文件中获取默认值。

其中,所述的第一步中,模型文件是IEC61850的SCL文件,包括后缀名为*.scd、*.cid、*.icd、*.iid等文件。所述的数据模板文件是符合版本2标准的LNodeType、DOType、DAType、EnumType的成员定义。所述的模型转换配置文件,其内容包括从版本1到版本2转换时LNodeType的id转换映射配置、DO名字的转换映射配置、版本2定义的新属性对应的默认值配置。

进一步地,所述的第二步,可记录并提示未匹配的LN、DOI列表,并输出为文件。

进一步地,所述的第三步,输出版本2的模型文件时,参照schema文件定义的节点顺序、属性顺序输出数据内容。

采用上述方案后,本发明具有如下有益效果:装置集成研发人员只需根据装置功能,维护配置版本1的模型文件,通过本发明中阐述的方法,可将。将智能装置模型从版本1转换到版本2,显著提高装置研发和工程实施效率,提高了装置的适应性和灵活性,可促进IEC61850版本2标准的推广应用。

附图说明

图1是IEC61850模型文件转换步骤原理图;

图2是IEC61850模型文件的层次结构图;

图3是数据模板文件的层次结构图。

具体实施方式

以下将结合附图1,对本发明的技术方案进行详细说明。IEC61850模型文件结构如图2所示,SCL文件可划分如下组成部分:层次结构,例如IED、AccessPoint、LDevice;逻辑节点LN0、LN;数据集和报告块;数据模板DataTypeTemplates;其它节点,例如Substation、Service、Header;根据不同的节点类型,进行转换处理。具体实现包括如下步骤:

1)获取版本1的模型文件,并读取该模型文件,构建相关数据结构实例,包括SCL、IED列表、AccessPoint列表、LDevice列表、LN列表等信息;

2)获取版本2使用的数据模板定义文件,并读取该文件,得到符合版本2的数据模型定义LNodeType、DOType、DAType、EnumType列表,该文件的模型是最大化预定义的数据类型集合,包括多个型号装置可能使用的数据类型定义。数据模板IEC61850_ed2.tpl是自定义文件,优选地,采用符合SCL语法规范的层次结构描述,其层次结构如图3所示,以LLN0为例,在数据模板中其XML描述如下:

3)读取模型转换配置文件(ed1toed2.ini),该文件定义了版本1到版本2的逻辑节点id重命名转换规则,DO的name转换规则。由于版本2的数据模型发生变化,存在LNodeType的id属性变化、LNodeType内的DO名字命名变化、部分节点新增属性的情况,通过读取该文件,获取命名转换映射关系表和新增必选属性的默认值信息。ed1toed2.ini是自定义文件,优选地,定义的配置内容片段如下:

4)读取IEC61850-ed2schema定义文件,包括SCL.xsd、SCL_IED.xsd、SCL_Substation.xsd、SCL_Communication.xsd、SCL_Enums.xsd、SCL_DataTypeTemplates.xsd、SCL_BaseTypes.xsd等文件,xsd文件是IECTC57发布的schema规范文件,定义了SCL各个层次结构名字、子成员结构、属性名、属性的约束等内容。通过读取上述文件,可以构建以SCL为顶层结构的IEC61850版本2的模型文件数据对象。

5)按照节点类型进行分类匹配转换,版本1模型文件转换时,对于各层结构,根据节点名(XML的element name),从schema中查找对应结构的数据成员和属性定义,创建数据对象实例,添加到版本2的模型文件数据对象中。

具体包括如下步骤:

5.1)根据版本1模型文件中智能装置(IED)、连接接入点(AccessPoint)、逻辑设备(LDevice)列表信息,在版本2模型文件中构建同名的层次结构数据。其中IED的关键属性是name,AccessPoint的关键属性是name,LDevice的关键属性是inst。

5.2)对于版本1的模型文件中的LDevice内各个逻辑节点实例LN(包括1个LN0、若干LN),根据id属性和匹配规则,从数据模板中获取新的类型定义LNodeType’,创建逻辑节点实例LN’,添加到版本2的模型文件中。LN的id处理匹配规则包括:优先从模型转换文件中定义的id转换表进行匹配。其次根据id进行同名匹配,若未找到LNodeType,则根据LN的属性lnClass进行匹配,从数据模板中查找lnClass相同LNodeType,最后未找到可匹配的id时则报警提示。例如配置文件中定义了old=NRR_TVTR_V1.00new=NRR_TVTR_V2.00,则版本1中的id=NRR_TVTR_V1.00的LN,从数据模板中查找id为NRR_TVTR_V2.00的LNodeType,并基于该模板,新建版本2的LN’。

5.3)对LN的各个数据实例配置DOI,根据name属性和匹配映射规则,在LNodeType’中查找获取对应的DO,在LN’中创建的DOI’,并将DOI内的各个DAI的属性配置和节点值复制到DOI’中;并标记DOI在转换中的同名匹配、更名匹配、未匹配等标记。其中DOI匹配映射规则包括:根据DOI的name属性,优先查找LNodeType’内name相同的DO,并在LN’中创建同名的DOI,并置同名匹配标记。根据模型转换文件中定义的DO名字转换关系,依次在LNodeType’中查找新的DO,若查找到则置更名匹配,若未查找到,则设置未匹配标记。

例如:

版本1中LN的DOI配置如下:

LinPTMod在NRR_TVTR_2.0中已经重命名为LinTVMod,则转换后的版本2中LN’的DOI’配置如下:

5.4)汇总版本2模型文件中实例化LN对应的LNodeType,以及各个LNodeType使用的DOType、DAType、EnumType,从数据模板中复制对应id的数据,添加到版本2模型文件的DataTypeTemplates节点下。

5.5)将版本1模型文件中的各个LN所包含的数据集dataset复制到版本2模型文件的LN节点下中。Dataset中包括若干LN的DOI信息,并根据DOI转换标记,对于数据集中使用的更名匹配的DOI,用替换后的新名字更新FCDA的doName属性值;对于数据集中未匹配的DOI,则删除对应的FCDA。例如:

<dataset name="dsSetting">

<FCDA lnclass="TVTR"doName="LinPTMod"daName="setVal"/>

</dataset>

由于DO/DOI的name已经更新为LinTVMod,故版本2数据文件中FCDA的doName替换后:

<dataset name="dsSetting">

<FCDA lnclass="TVTR"doName="LinTVMod"daName="setVal"/>

</dataset>

5.6)处理其它版本1中其它节点(包括文件头Header、通信Communication、服务Services、报告控制块ReportControl等节点),根据节点类型在版本2中创建对应的数据类实例,并复制同名属性、子节点,对于新增的必选属性,则从配置文件中获取默认值。例如根据ReportControl.TrgOps.gi=true的配置信息,可设置报告控制块的子节点TrgOps的gi属性值为false。

6)输出版本2的模型文件。对于各层结构,根据schema中定义的数据成员顺序和属性顺序,输出模型文件。在转换过程中,记录未匹配的LN、DOI数据列表,并输出为文本文件。

以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1