智能变电站scl文件快速解析方法

文档序号:10552874阅读:1108来源:国知局
智能变电站scl文件快速解析方法
【专利摘要】本发明公开了一种智能变电站SCL文件快速解析方法,包括以下步骤,步骤1,解析SCL文件数据模板;步骤2,解析IED实例。本发明能提高应用程序的效率和速度,而且能降低应用对宿主机器硬件配置的要求,也一定程度上降低了工程成本;同时本发明对于采用IEC 61850?6 SCL语言建模的智能变电站配置文件都能使用,如ICD文件,SCD文件,CID文件等,具有普遍的适应性,具有一定的推广意义。
【专利说明】智能变电站SCL文件快速解析方法
[0001]
技术领域
[0002]本发明涉及一种智能变电站SCL文件快速解析方法,属于电力系统自动化技术领域。
【背景技术】
[0003]在当前智能变电站建设过程中,IEC61850系列标准由于其采用了面向对象的建模技术及“一个世界,一种技术,一个标准”的开放性、先进性和完整性,已然成为智能变电站内设备建模、通信的唯一实际标准,为不同厂商的智能电子设备(KD)之间实现互操作和系统无缝集成提供了便捷的途径。随着IEC 61850标准在智能变电站广泛而深入的应用,站内各种配置文件基本都采用IEC 61850-6所规范的SCL语言进行建模,如各个智能电子设备的装置能力描述文件(ICD),在变电站集成过程中生成的变电站配置描述文件(SCD)等。
[0004]在使用SCL文件时,首先需要对其进行解析,当前各种应用往往仅仅将SCL文件当成普通的XML格式文件,采用D0M、SAX等常规的解析方法,没有充分应用SCL文件面向对象的描述方式,导致其解析效率低下,从而一定程度上影响了应用的性能或用户体验。

【发明内容】

[0005]为了解决上述技术问题,本发明提供了一种智能变电站SCL文件快速解析方法。
[0006]为了达到上述目的,本发明所采用的技术方案是:
智能变电站SCL文件快速解析方法,包括以下步骤,
步骤I,解析SCL文件数据模板;
Al)获取SCL文件数据模板;
A2 )定义SCL文件数据模板中包含K个逻辑节点类;
A3)定义整数k=l;
A4)解析并获取第k个逻辑节点类;
A5)定义第k个逻辑节点类中包含M个数据对象类;
A6)定义m=l ;
A7)解析并获取第m个数据对象类;
AS)判断数据对象缓存中是否存在该数据对象,如果存在,则使用缓存的数据对象,并转至Al 6,如果不存在,则转至A9
A9)定义第m个数据对象类中包含N个数据属性类;
A10)定义n=l ;
Al I)解析并获取第η个数据属性类;
Α12)判断数据属性缓存中是否存在该数据属性,如果存在,则使用缓存的数据属性,并转至Α14,如果不存在,则转至Α13 A13)缓存第η个数据属性类;
Α14)判断η是否大于等于N,如果不是,则η=η+1,转至步骤Al I,如果是,转至步骤Α15; Α15)缓存第m个数据对象类;
A16)判断m是否大于等于M,如果不是,则m=m+l,转至步骤A7,如果是,转至步骤A17 ; A17)缓存第k个逻辑节点类;
A18)判断k是否大于等于K,如果不是,则k=k+l,转至步骤A4,如果是,结束;
步骤2,解析IED实例;
BI)获取并解析IED实例;
B2)用缓存的逻辑节点类实例化数据对象各属性值。
[0007]采用vtd-xml方法获取SCL文件数据模板,采用vtd-xml方法或DOM方法解析SCL文件数据模板。
[0008]采用vtd-xml方法获取IED实例,采用DOM方法解析IED实例。
[0009]本发明所达到的有益效果:1、本发明提供了一种智能变电站SCL文件快速解析方法,采用该方法解析SCL文件,能提高应用程序的效率和速度,而且能降低应用对宿主机器硬件配置的要求,也一定程度上降低了工程成本;2、该发明方法对于采用IEC 61850-6 SCL语言建模的智能变电站配置文件都能使用,如ICD文件,SCD文件,CID文件等,具有普遍的适应性,具有一定的推广意义。
【附图说明】
[0010]图1为SCL文件元素及模板类之间的关系图。
[0011]图2为本发明的流程图。
[0012]图3为SCL文件数据模板解析流程图。
【具体实施方式】
[0013]下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0014]如图1所示,针对当前采用IEC61850标准建模的智能变电站,站内多种配置文件采用IEC61850-6的SCL语言描述,在应用对SCL文件进行解析时,充分利用SCL文件面向对象建模的特性:(I)KD标签下的逻辑节点、数据对象、数据属性均是对数据模板中定义的逻辑节点类、数据对象类、数据属性类的实例化;(2)逻辑节点类、数据对象类和数据属性类之间是层次的包含关系,每个逻辑节点类含有多个数据对象,每个数据对象类含有多个数据属性;(3)多个逻辑节点类可以含有相同类型数据对象类的实例,多个数据对象类可以含有相同类型数据属性类的实例。
[0015]根据上述SCL文件特性,如图2所示,智能变电站SCL文件快速解析方法,包括以下步骤:
步骤I,解析SCL文件数据模板。
[0016]为了有效地减少了模板重复解析的次数,提高了解析效率,采用多级缓存技术,具体过程如图3所示:
Al)获取SCL文件数据模板; A2 )定义SCL文件数据模板中包含K个逻辑节点类;
A3)定义整数k=l;
A4)解析并获取第k个逻辑节点类;
A5)定义第k个逻辑节点类中包含M个数据对象类;
A6)定义m=l ;
A7)解析并获取第m个数据对象类;
AS)判断数据对象缓存中是否存在该数据对象,如果存在,则使用缓存的数据对象,并转至Al 6,如果不存在,则转至A9
A9)定义第m个数据对象类中包含N个数据属性类;
AlO)定义n=l ;
Al I)解析并获取第η个数据属性类;
Α12)判断数据属性缓存中是否存在该数据属性,如果存在,则使用缓存的数据属性,并转至Α14,如果不存在,则转至Α13Α13)缓存第η个数据属性类;
Α14)判断η是否大于等于N,如果不是,则η=η+1,转至步骤Al I,如果是,转至步骤Α15; Α15)缓存第m个数据对象类;
A16)判断m是否大于等于M,如果不是,则m=m+l,转至步骤A7,如果是,转至步骤A17 ; A17)缓存第k个逻辑节点类;
A18)判断k是否大于等于K,如果不是,则k=k+l,转至步骤A4,如果是,结束。
[0017]步骤2,解析IED实例。
[0018]BI)获取并解析IED实例;
B2)用缓存的逻辑节点类实例化数据对象各属性值。
[0019]上述步骤中,采用了vtd-xml及DOM相结合的方法,即采用vtd-xml方法获取SCL文件数据模板,采用vtd-xml方法或DOM方法解析SCL文件数据模板,采用vtd-xml方法获取IED实例,采用DOM方法解析IED实例;充分融合两种解析方法的优点,S卩vtd-xml方法在解析时对宿主机器硬件配置要求低及DOM方法解析快速的优点。
[0020]上述方法能提高应用程序的效率和速度,而且能降低应用对宿主机器硬件配置的要求,也一定程度上降低了工程成本;上述方法对于采用IEC 61850-6 SCL语言建模的智能变电站配置文件都能使用,如ICD文件,SCD文件,CID文件等,具有普遍的适应性,具有一定的推广意义。
[0021]以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
【主权项】
1.智能变电站SCL文件快速解析方法,其特征在于:包括以下步骤, 步骤I,解析SCL文件数据模板; Al)获取SCL文件数据模板; A2)定义SCL文件数据模板中包含K个逻辑节点类; A3)定义整数k=l; A4)解析并获取第k个逻辑节点类; A5)定义第k个逻辑节点类中包含M个数据对象类; A6)定义m=l ; A7)解析并获取第m个数据对象类; AS)判断数据对象缓存中是否存在该数据对象,如果存在,则使用缓存的数据对象,并转至Al 6,如果不存在,则转至A9 A9)定义第m个数据对象类中包含N个数据属性类; AlO)定义n=l ; Al I)解析并获取第η个数据属性类; Α12)判断数据属性缓存中是否存在该数据属性,如果存在,则使用缓存的数据属性,并转至Α14,如果不存在,则转至Α13Α13)缓存第η个数据属性类; Α14)判断η是否大于等于N,如果不是,则η=η+1,转至步骤Al I,如果是,转至步骤Α15; Α15)缓存第m个数据对象类; A16)判断m是否大于等于M,如果不是,则m=m+l,转至步骤A7,如果是,转至步骤A17 ; A17)缓存第k个逻辑节点类; A18)判断k是否大于等于K,如果不是,则k=k+l,转至步骤A4,如果是,结束; 步骤2,解析IED实例; BI)获取并解析IED实例; B2)用缓存的逻辑节点类实例化数据对象各属性值。2.根据权利要求1所述的智能变电站SCL文件快速解析方法,其特征在于:采用vtd-xml方法获取SCL文件数据模板,采用vtd-xml方法或DOM方法解析SCL文件数据模板。3.根据权利要求1所述的智能变电站SCL文件快速解析方法,其特征在于:采用vtd-xml方法获取IH)实例,采用DOM方法解析IED实例。
【文档编号】G06F17/22GK105912513SQ201610220305
【公开日】2016年8月31日
【申请日】2016年4月11日
【发明人】付豪, 檀庭方, 张晓瑞, 董怀普, 闵彦荣, 骆兆军
【申请人】南京国电南自电网自动化有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1