有效
一种IEC61850协议库快速启动的方法
杨辉、郑晓庆、杨震晖、万首丰、樊鹏、关儒雅、李永亮、刘振宇、王文洒、罗欣、李文明、艾绍伟
许昌许继软件技术有限公司
杨
杨辉 专利 51
许昌许继软件技术有限公司网络服务协议数字信息传输电通信技术
郑
郑晓庆
机构 暂无技术领域 暂无
杨
杨震晖 专利 28
许昌许继软件技术有限公司电子数据处理物理仪器H04L29/00
万
万首丰 专利 38
许昌许继软件技术有限公司数字信息传输电通信技术网络服务协议
樊
樊鹏 专利 45
许昌许继软件技术有限公司电通信技术物理仪器计算技术
关
关儒雅
机构 暂无技术领域 暂无
李
李永亮 专利 189
华北电力大学电子数据处理计算技术物理仪器
刘
刘振宇 专利 70
国网冀北电力有限公司电学电通信技术物理仪器
王
王文洒 专利 38
许昌许继软件技术有限公司电通信技术电学数字信息传输
罗
罗欣 专利 142
浙江大学电子数据处理计算技术物理仪器
李
李文明
机构 暂无技术领域 暂无
艾
艾绍伟
机构 暂无技术领域 暂无
摘要
本发明涉及一种IEC61850协议库快速启动的方法,SCD配置工具解析SCD模型文件,生成离线的基础数据文件;嵌入式微机远动装置加载所述基础数据文件和所述SCD模型文件;IEC61850协议库启动过程中,根据所述基础数据文件创建部分IEC61850对象空间;解析SCD模型文件,提取出数据模板部分的数据,放入所述IEC61850对象空间;对基础数据文件中的数据实例化值的初值赋值,完成IEC61850协议库的启动。本发明使用离线的基础数据文件来创建IEC61850对象空间部分内容,节省了大量的通过SCD文件构建对象空间的时间,从而快速启动EC61850协议库。
1.一种IEC61850协议库快速启动的方法,其特征在于,包括:SCD配置工具解析SCD模型文件,生成离线的基础数据文件,包括:解析SCD模型文件,在内存中形成SCD节点树;生成数据所在逻辑节点的类型编号(TYPEID);生成IEC61850数据参引信息;生成数据的唯一标识(OBJID);生成对象类型标识;生成对象的数据类型;生成数据实例化值;生成数据的相对于其父逻辑节点的对象空间的偏移量;生成应用层数据标识信息;所述基础数据文件包括:IEC61850数据参引信息、应用层数据标识信息、数据的唯一标识、对象类型标识、对象的数据类型、数据实例化值、数据所在逻辑节点的类型编号(TYPEID)以及数据的相对于其父逻辑节点的对象空间的偏移量;嵌入式微机远动装置加载所述基础数据文件和所述SCD模型文件;IEC61850协议库启动过程中,根据所述基础数据文件创建部分IEC61850对象空间;解析SCD模型文件,提取出数据模板部分的数据,放入所述IEC61850对象空间;对基础数据文件中的数据实例化值的初值赋值,完成IEC61850协议库的启动。
2.根据权利要求1所述的IEC61850协议库快速启动的方法,其特征在于,生成数据所在逻辑节点的类型编号(TYPEID)包括:(1)生成每个LN的类型描述字符串(tdl);遍历逻辑节点类型(LNodeType)节点的所有子数据对象(DO)子节点,提取子节点名称(name)属性以及类型(type)属性;根据数据对象(DO)子节点类型(type)属性值遍历数据类型模板(DataTypeTemplates)所有数据对象(DO)类型子节点查找此数据对象(DO)的数据对象(DO)类型节点;遍历数据对象(DO)类型节点的所有数据对象属性(DA)子节点,提取名称(name)属性,类型(type)属性以及基本数据类型(btype)属性;基本数据类型(btype)属性值为Struct,则标示此da为嵌套da,则根据类型(type)属性值遍历数据类型模板(DataTypeTemplates)所有数据对象属性(DA)类型子节点查找此数据对象属性(DA)的数据对象属性(DA)类型节点;重复遍历DA类型节点的所有基本数据对象属性(BDA)子节点,提取名称(name)属性,类型(type)属性以及基本数据类型(btype)属性,直到基本数据类型(btype)属性值为基本数据类型,则标示着这个数据对象属性(DA)为简单的数据类型,此数据对象属性(DA)处理过程完毕;(2)根据LN类型描述字符串(tdl)生成LN类型描述结构,将其存放位置索引转换为类型编码(TYPEID)值;LN类型描述结构成员主要包括数据的名称,类型,尺寸,相对于LN的数据头的偏移。
3.根据权利要求1所述的IEC61850协议库快速启动的方法,其特征在于,生成IEC61850数据参引信息包括:(1)遍历IED节点,提取名称(name)属性值;(2)遍历IED节点所有访问点(AccessPoint)子节点,查找报文制造规范mms层的访问点,默认为第一个访问点(AccessPoint)子节点;查找访问点(AccessPoint)子节点的服务(Server)子节点;遍历服务(Server)子节点的所有逻辑设备(LDevice)子节点,提取实例inst属性值,作为LD的名称;遍历逻辑设备(LDevice)所有LN子节点,以及逻辑节点0LN0子节点,提取LN节点前缀refix、逻辑节点0LLN0、实例inst属性值用于生成LN名称,提取逻辑节点类型lnType属性值,用于查找LN的类型描述结构既LN的类型编码标识(TYPEID);根据LN类型描述结构查找此LN下所有数据对象(DO)/基本数据对象属性(DA)的名称;组成LN下所有数据对象(DO)/基本数据对象属性(DA)的名称数据的参引,参引格式为设备名称逻辑设备名称/逻辑节点名称.对象名称.对象属性名称.对象属性名称。
4.根据权利要求1所述的IEC61850协议库快速启动的方法,其特征在于,生成对象的唯一标识(OBJID)包括:数据唯一标识生成过程同数据参引形成过程,先统计全部数据对象参引的总数,申请全部数据对象的信息结构数组,然后再重复上述过程填充对象的信息结构,其内容包括数据对象的类型,数据对象的数据类型,对应应用层数据信息,数据对象的类型结构,数据对象空间指针,数据对象所在LN及对象指针。
5.根据权利要求1所述的IEC61850协议库快速启动的方法,其特征在于,生成对象类型标识以及对象的数据类型步骤如下:(1)遍历IED节点,生成IED对象的对象类型;(2)遍历IED节点所有访问点(AccessPoint)子节点,查找报文制造规范mms层的访问点,默认为第一个访问点(AccessPoint)子节点;(3)查找访问点(AccessPoint)子节点的服务(Server)子节点;(4)遍历服务(Server)子节点的所有逻辑设备LDevice子节点,生成LD的对象类型;(5)遍历逻辑设备LDevice所有LN子节点,生成LN的对象类型;(6)根据LN节点属性逻辑节点类lnclass查找LNodeType节点;(7)遍历LNodeType节点下所有数据对象(DO)子节点,生成数据对象(DO)的对象类型;(8)根据数据对象(DO)子节点类型(type)属性值遍历数据类型模板(DataTypeTemplates)所有数据对象(DO)类型子节点查找此数据对象(DO)的数据对象(DO)类型节点;遍历数据对象(DO)类型节点的所有数据对象属性(DA)子节点,提取名称(name)属性,类型(type)属性以及基本数据类型(btype)属性;生成数据对象属性(DA)的对象类型;(9)btype属性值为Struct,则标示此da为嵌套da,则根据类型(type)属性值遍历数据类型模板(DataTypeTemplates)所有数据对象属性(DA)类型子节点查找此数据对象属性(DA)的数据对象属性(DA)类型节点;重复遍历DA类型节点的所有基本数据对象属性(BDA)子节点,提取名称(name)属性,类型(type)属性以及基本数据类型(btype)属性,直到基本数据类型(btype)属性值为基本数据类型,则标示着这个数据对象属性(DA)为简单的数据类型,生成数据对象属性(DA)的对象类型同时生成此数据对象属性(DA)的对象数据类型。
6.根据权利要求1所述的IEC61850协议库快速启动的方法,其特征在于:生成数据实例化值包括:遍历IED节点下所有逻辑设备(LDevice);遍历逻辑设备(LDevice)下的所有LN;遍历LN下所有数据属性实例(DAI)节点,提取数据属性实例(DAI)中数据对象的初始值;遍历数据在对象的信息结构数组找到此数据对象,将对象的初始值存储到对象空间中。
7.根据权利要求1所述的IEC61850协议库快速启动的方法,其特征在于,生成数据的相对于其父逻辑节点的对象空间的偏移量包括:在LN数据类型结构生成过程中生成,为此数据与父LN对象中间间隔的所有数据尺寸累加获得。
8.根据权利要求1所述的IEC61850协议库快速启动的方法,其特征在于,生成应用层数据标识信息包括:应用层数据标识信息由用户定义,用户通过工具人工输入或是根据用户自定义规则通过工具自动生成。
9.根据权利要求1所述的IEC61850协议库快速启动的方法,其特征在于,根据所述基础数据文件创建部分IEC61850对象空间包括:创建每个数据对象的数据结构数组,数组下标为基础数据文件中的数据唯一标识;数据结构内容包括数据类型,数据所在的逻辑节点的类型编号(TYPEID),数据在所在父逻辑节点数据对象空间的偏移,数据实例化的值;创建IEC61850参数索引与数据唯一标识的HASH表,用于IEC61850参数索引到数据唯一标识的快速定位;创建应用数据标识与数据唯一标识的HASH表,用于应用数据到数据唯一标识的快速定位。



