一种用于网络处理器芯片的IEC61850软件库组件及其实现方法
技术领域
本发明涉及一种电力系统自动化的软件库组件及其实现方法,具体涉及一种用于网络处理器芯片的IEC61850软件库组件及其实现方法。
背景技术
变电站自动化系统已全面采用IEC61850(电力公用事业自动化通信网络和系统)标准作为其通信规范,站内各种智能电子设备(IED,Intelligent Electronic Device)均需遵循这一标准。与以往的通信协议相比,IEC61850的实现庞大并且复杂,在提供具有自我描述能力、携带丰富信息等好处的同时,也带来了大量的资源消耗,并且对主处理器和网络控制器的性能要求很高。提供设备的厂家需要对原有产品进行软硬件的升级和改造,以适应这种情况。
现有IED在硬件上几乎都是采用加装通信转换插件板,或接入第三方规约转换器等方式来实现对IEC61850标准的支持,限制了IED使用的自由度和灵活性,增加了二次装置功耗或通信交互环节,软件环境受硬件性能的影响也比较严重,难以保证装置的稳定性。IEC61850功能的芯片化,可以取代上述传统方式,大大减小装置的体积和功耗,便于与测量、控制、保护、计量、监测等应用功能集成,提高可靠性,利于二次装置就地化。
现有IED在软件方面绝大多数采用国外的商用IEC61850软件包,功能加减和升级维护等相对受限。随着IEC61850标准的修订、扩充和推广应用,所使用的通信软件也需要持续的修正、改进和升级,会涉及底层代码的修改,并为适应多种系统平台而做出调整,导致软件逻辑复杂度逐步增加,规模也越来越大,容易产生延期交付、难以达到质量要求、维护费用持续增长等现象。
发明内容
针对现有技术的不足,本发明的目的是提供一种用于网络处理器芯片的IEC61850软件库组件,另一目的是提供一种用于网络处理器芯片的IEC61850软件库组件的实现方法,本发明用以在网络处理器芯片层次实现对IEC61850通信的支持,降低集成难度,并从整体上减小智能电子设备IED的体积、功耗和价格,提高装置可靠性,进一步推动IEC61850标准在电力系统中的发展应用。
本发明的目的是采用下述技术方案实现的:
本发明提供一种用于网络处理器芯片的IEC61850软件库组件,所述软件库组件设置在网络处理器芯片平台上,其改进之处在于,所述软件库组件包括通信组件和应用组件;所述通信组件和应用组件均通过软总线组件与配置管理组件、维护组件、人机交互组件、组件管理和实时数据库进行数据交互。(网络处理器芯片是一种针对智能电网应用特殊定制的SOC(片上系统),它拥有低频高效的RISC指令集CPU架构、片内SRAM、片上FLASH存储、多网络接口、多RS485接口、CAN总线、片上RTC等资源,具有低功耗、适用范围广的特点。网络处理器可广泛用于电力系统多种类型的二次自动化设备,如继电保护、测控装置、一次设备智能组件及配电终端等设备。)
进一步地,所述通信组件包括:
抽象通信服务和映射模块:用于完成从核心服务映射ACSI到通信协议的转换,包括IEC61850信息和通信模型的建立,并映射到制造报文规范协议MMS、简单网络时间协议SNTP、面向通用对象的变电站事件GOOSE和采样值传输SV;
XML配置文件解析模块:用于打开并解析XML格式文件、自定义的与接口和服务相关的配置文件;
制造报文规范协议栈模块:基于TCP/IP协议栈,用于完成包括制造报文规范协议MMS、关联控制服务元素ACSE、面向连接的表示层协议编解码的处理;和
ASN.1编解码模块:用于完成依据编码规则,对于基本数据类型、标记的编码和解码处理。
进一步地,所述应用模块包括:
应用模型映射模块:用于完成IEC61850通信模型与应用功能模型的转换;所述IEC61850通信模型的数据为树形结构信息;应用功能模型的数据通常为表结构的点表信息;所述应用功能包括模拟量测量、状态量测量和控制量输出;
实时库接口模块:用于提供轻量级的实时数据库和访问进程间的接口,所述实时数据库RTDB位于共享内存中,对其访问采用接口函数格式。
进一步地,所述软总线组件的接口包括智能电子设备IED内部组件间的信息交互接口,所述软总线组件用于提供服务、负责信息流和并发操作的控制管理,以及维护全局的数据结构或数据库;
提供的服务包括:1)初始化配置;2)数据读写;3)设定参数;4)设定定值;5)事件记录;6)控制消息队列;7)记录日志和8)文件。
进一步地,所述软总线组件通过松耦合的方式使软件库组件与配置管理组件、维护组件、人机交互组件、组件管理和实时数据库进行数据交互。
进一步地,所述网络处理器芯片平台包括网络处理器芯片,所述网络处理器芯片采用嵌入式实时操作系统进行功能裁剪和优化设计,将配置参数写入XML格式的配置文件,或通过宏定义赋值。
进一步地,所述配置管理组件用于管理XML格式的配置文件;所述维护组件用于对软件库组件进行自检维护;所述人机交互组件采用人机界面,实现操作人员与软件库组件的对话;所述组件管理用于对软件库组件进行管理。
本发明基于另一目的提供的一种用于网络处理器芯片的IEC61850软件库组件的实现方法,其改进之处在于,所述方法采用软件库组件,包括下述步骤:
(1)分析IEC61850标准并对网络处理器芯片的软件模块进行划分;
(2)构造软件库组件;
(3)针对网络处理器芯片进行功能裁剪和代码优化设计,开发和调试,生成可复用组件;
(4)对软件库组件进行集成测试。
进一步地,所述步骤(1)中,分析IEC61850标准包括:对变电站配置语言SCL、基本通信结构(包括:原理和模型、抽象通信服务接口、公用数据类、兼容逻辑节点类和数据类)以及通信协议映射进行分析;将网络处理器芯片的软件模块划分为通信模块和应用模块。
进一步地,所述步骤(2)中,软件库组件包括通信组件和应用组件;所述通信组件和应用组件均通过软总线组件与配置管理组件、维护组件、人机交互组件、组件管理和实时数据库进行数据交互。
进一步地,所述通信组件采用通信模块实现,包括:
抽象通信服务和映射模块:用于完成从核心服务映射ACSI到通信协议的转换,包括IEC61850信息和通信模型的建立,并映射到制造报文规范协议MMS、简单网络时间协议SNTP、面向通用对象的变电站事件GOOSE和采样值传输SV;
XML配置文件解析模块:用于打开并解析XML格式文件、自定义的与接口和服务相关的配置文件;
制造报文规范协议栈模块:基于TCP/IP协议栈,用于完成包括制造报文规范协议MMS、关联控制服务元素ACSE、面向连接的表示层协议编解码的处理;和
ASN.1编解码模块:用于完成依据编码规则,对于基本数据类型、标记的编码和解码处理;
所述应用组件采用应用模块实现,包括:
应用模型映射模块:用于完成IEC61850通信模型与应用功能模型的转换;所述IEC61850通信模型的数据为树形结构信息;应用功能模型的数据通常为表结构的点表信息;所述应用功能包括模拟量测量、状态量测量和控制量输出;
实时库接口模块:用于提供轻量级的实时数据库和访问进程间的接口,所述实时数据库RTDB位于共享内存中,对其访问采用接口函数格式。
进一步地,所述软总线组件的接口包括智能电子设备IED内部组件间的信息交互接口,所述软总线组件用于提供服务、负责信息流和并发操作的控制管理,以及维护全局的数据结构或数据库;
提供的服务包括:1)初始化配置;2)数据读写;3)设定参数;4)设定定值;5)事件记录;6)控制消息队列;7)记录日志和8)文件;
所述软总线组件通过松耦合的方式使软件库组件与配置管理组件、维护组件、人机交互组件、组件管理和实时数据库进行数据交互。
进一步地,所述步骤(3)中,依据网络处理器芯片资源配置,基于嵌入式实时操作系统,对网络处理器芯片软件进行功能裁剪和代码优化;所述步骤(3)包括下述步骤:
①初始化:包括配置文件解析、模型关联、地址映射和生成索引表;
②基于XML的通信功能配置和组装;
③内存管理策略:静态和动态内存分配相结合,预配置内存池总容量;
④通用过程分离和封装:将耗时功能进行分离和封装,规范接口,交由FPGA处理;所述耗时功能包括频繁字符串类型的数据对象查找和匹配。
进一步地,所述步骤(4)中,使用集成开发工具对软件库组件进行开发和调试,包括下述步骤:
1>数据标识,包括定义服务名称、参数、接口公用数据结构、文件模板、消息格式和标识;
2>确定接口文件和数据结构:规范组件接口使用的全局数据结构,数据按IEC61850规定的函数格式组织;接口服务和参数映射文件基于XML格式定义;
3>接口规范:标准化软件库组件内、外接口协议,建立配置管理组件、维护组件、人机交互组件、组件管理和实时数据库挂接到软总线的服务适配机制;
4>建立可复用组件:编辑源码,使用不同的交叉编译工具链生成IEC61850通信组件,保存到软件库组件中;
5>合格性检验和适应性修改;
6>组装和部署:设置环境和系统的属性参数,经编译和链接后,生成最终应用程序代码;配置系统结构、参数、选择智能电子设备IED、分配功能,输出标准的变电站配置语言SCL配置文件和接口配置文件,将应用程序和配置下装到目标机;
7>对软件库组件进行IEC61850通信和数据交互测试,包括模拟量、状态量的周期和变化、召唤上送、遥控、设参数(包括系统参数、工程参数,以及IED的设备参数等)、读写定值和读写文件。
与现有技术比,本发明达到的有益效果是:
1、本发明提供的用于网络处理器芯片的IEC61850软件库组件及其实现方法,采用模块化、分层次的结构设计,在保持稳定可靠的前提下,便于维护和升级;基于嵌入式实时操作系统,针对网络处理器芯片进行裁剪和优化设计,节省了资源,提高了性能;采用软件组件的思想,组织和管理软件模块,降低了模块间的耦合度,便于软件复用、与应用功能相集成。
2、电力系统对IEC61850技术的需求,是智能电网发电、输电、变电、配电、用电快速发展的必然结果。基于IEC61850标准的网络处理器芯片的应用领域已经从变电站逐步扩展到整个电力系统自动化领域,以及风电、水电监控等给予网络的工业过程控制领域,成为无缝通信体系的必不可少组成部分。电力系统大量的二次设备面临改造升级和更新换代,以适应智能化要求。采用本发明提供的IEC61850库组件模式和方法,将大大降低智能二次设备通信开发和应用功能集成的难度、提升标准化程度、提高设备可靠性、节省调试和维护成本。
附图说明
图1是本发明提供的本发明的软件库结构图;
图2是本发明提供的通用原子组件模型示意图;
图3是本发明提供的应用集成图例;
图4是本发明提供的实施流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步的详细说明。
本发明提供一种用于网络处理器芯片的IEC61850软件库组件,所述软件库组件设置在网络处理器芯片平台上,采用模块化、分层次的结构设计,包括通信组件和应用组件;所述通信组件和应用组件均通过软总线组件与配置管理组件、维护组件、人机交互组件、组件管理和实时数据库进行数据交互。本发明提供的应用集成图例如图3所示。
所述通信组件采用通信模块实现包括:XML(eXtensible Markup Language)配置文件解析、ASN.1(Abstract Syntax Notation Number One)编解码、MMS(Manufacturing MessageSpecification)协议栈、抽象通信服务和映射。所述应用组件采用应用接口模块实现,包括应用模型映射、实时库接口;软件库结构如图1所示。
其中,XML配置文件解析模块实现打开并解析给定的XML格式文件,如IEC61850标准规定的IED能力描述(IED capability description,ICD)、IED实例描述(configured IEDdescription,CID)、变电站配置描述(substation configuration description,SCD)、系统规格描述(system specification description,SSD)等配置文件,以及自定义的与接口和服务相关的配置文件。
ASN.1编解码模块主要用于完成依据编码规则,对于基本数据类型、标记的编码和解码处理。
制造报文规范协议栈模块用于完成包括MMS、关联控制服务元素(Association ControlService Element,ACSE)、面向连接的表示层(Presentation)协议的编解码等的处理。
抽象通信服务和映射模块完成从ACSI到特定通信协议的转换,包括61850信息和通信模型的建立,并映射到MMS相应服务和协议、SNTP、GOOSE和SV。
应用模型映射模块用于完成IEC61850通信模型(数据为树形结构信息)与应用功能(如模拟量测量、状态量测量、控制量输出等)模型(数据通常为表结构的点表信息)的转换。
实时库接口模块提供轻量级的实时数据库(RTDB)和访问进程间的接口,RTDB位于共享内存中,访问采用统一的接口函数及格式。
采用软件组件的思想,组织和管理软件模块。设计如图2所示原子组件模型。其中,规格说明文件描述了组件的静态结构和运行时需求、资源消耗、分类、接口、组装、测试,以及平台依赖等尽可能详尽的信息;配置文件给出组件初始化或运行时所需要的引用和数据;可复用代码是对应于特定平台和编程语言的一种或多种实现,接口部分提供了具体的服务功能。上述软件模块均构造为基础组件,通过包容和聚合实施复用。建立一个软总线组件,将其他组件以松耦合的方式组织起来,在组件间传递数据和控制信息流,并负责维护实时数据库,软件库与各应用功能的集成如图3所示。智能电子设备IED内的通信和其他应用功能组件只需建立与软总线组件的接口,便于功能的添加和删除,并保证系统的兼容性和稳定性。
基于嵌入式实时操作系统,针对网络处理器芯片进行功能裁剪和代码优化设计。MMS模块基于TCP/IP协议栈,提供对IEC61850标准中ACSI(ACSI,Abstract Communication ServiceInterface)核心服务映射部分的支持,不包含其他不必要的服务;抽象通信服务和映射模块中SNTP(Simple Network Time Protocol,简单网络时间协议)、GOOSE(Generic Object OrientedSubstation Event,面向通用对象的变电站事件)、SV(Sampled Value,采样值传输)等服务可根据不同的应用需求选择配置,以节省系统资源;采用静态和动态分配相结合的内存管理策略,根据实际需要,预配置内存池总容量和各部分容量,平衡裕度和空闲量,保证可靠性;在初始化阶段实施配置文件解析、模型关联、地址映射和索引表生成等功能,减少运行时的CPU和内存消耗,提高程序性能和稳定性;将部分耗时的功能(如频繁的字符串类型的数据对象查找和匹配等)进行分离和封装,规范接口,交由FPGA(Field Programmable Gate Array)处理,进一步提升性能。
使用集成开发工具实施开发、测试和集成。工具提供方便、友好的图形用户界面。软件库组件开发包括数据标识、接口文件和数据结构定义、接口规范,以及编译生成可执行代码;测试和集成包括和合格性检验、适应性修改、组装和集成测试,主要步骤涉及导入规格说明、配置、软件库源码等文件,进行功能选择、参数配置、合法性校验,执行编译、链接和下装,并进行功能检验。以不同的交叉编译工具链生成的软件库可适用于不同的处理器架构平台,如x86、POWERPC、ARM、MIPS等。
本发明还提供了一种用于网络处理器芯片的IEC61850软件库组件的实现方法,其流程图如图4所示,包括下述步骤:
(1)分析IEC61850标准并对网络处理器芯片的软件模块进行划分:
分析IEC61850标准,重点是关于变电站配置语言(Substation Configuration Language,SCL)、基本通信结构(包括:原理和模型、抽象通信服务接口、公用数据类、兼容逻辑节点类和数据类)、特定通信服务映射(映射到MMS和ISO/IEC8802-3),划分软件模块,形成如图1所示软件库结构。软件模块包括通信模块和应用模块。
(2)构造软件库组件:
采用软件组件的思想,组织和管理软件模块。原子组件模型如图2所示。其中,规格说明文件描述了组件的静态结构和运行时需求、资源消耗、分类、接口、组装、测试,以及平台依赖等尽可能详尽的信息;配置文件给出组件初始化或运行时所需要的引用和数据;可复用代码是对应于特定平台和编程语言的一种或多种实现,接口部分提供了具体的服务功能。上述软件模块均构造为基础组件,通过包容和聚合实施复用。
构成IEC61850软件库的组件按功能分类,属于基础设施类,涉及全局性的信息交互和数据存储、访问管理。它对外提供MMS、GOOSE和SV等服务,通常实现为动态或静态链接库。所使用的编程语言和环境不限,但必须确保接口的一致性。组件发布后接口不可改变,升级应通过增加接口来实现。
软件库组件包括通信组件和应用组件;所述通信组件和应用组件均通过软总线组件与配置管理组件、维护组件、人机交互组件、组件管理和实时数据库进行数据交互。
所述通信组件采用通信模块实现,包括:
XML配置文件解析模块实现打开并解析给定的XML格式文件,如IEC61850标准规定的IED能力描述(IED capability description,ICD)、IED实例描述(configured IED description,CID)、变电站配置描述(substation configuration description,SCD)、系统规格描述(systemspecification description,SSD)等配置文件,以及自定义的与接口和服务相关的配置文件。
ASN.1编解码模块主要完成依据编码规则,对于基本数据类型、标记的编码和解码处理。
制造报文规范协议栈模块完成包括MMS、关联控制服务元素(Association Control ServiceElement,ACSE)、面向连接的表示层(Presentation)协议的编解码等的处理。
抽象通信服务和映射模块完成从ACSI到特定通信协议的转换,包括61850信息和通信模型的建立,并映射到MMS相应服务和协议、SNTP、GOOSE和SV。
所述应用组件采用应用模块实现,包括:
应用模型映射模块完成61850通信模型(数据为树形结构信息)与应用功能(如模拟量测量、状态量测量、控制量输出等)模型(数据通常为表结构的点表信息)的转换。
实时库接口模块提供轻量级的实时数据库(RTDB)和访问进程间的接口,RTDB位于共享内存中,访问采用统一的接口函数及格式。
软总线组件接口规范覆盖了IED内部组件间信息交互接口的全部内容。提供的服务主要包括:1)初始化配置;2)数据读写;3)设定参数;4)设定定值;5)事件记录;6)控制消息队列;7)记录日志;8)文件等。软总线组件,将其他组件以松耦合的方式组织起来,在组件间传递数据和控制信息流,并负责维护实时数据库。软件库与各应用功能的集成如图3所示。
(3)对网络处理器芯片软件进行功能裁剪和代码优化设计包括下述步骤:
①初始化:在初始化阶段实施配置文件解析、模型关联、地址映射和索引表生成等功能,减少运行时的CPU和内存消耗,提高程序性能和稳定性。
②基于XML的通信功能配置和组装;
MMS模块基于TCP/IP协议栈,提供对IEC61850标准中ACSI核心服务映射部分的支持,不包含其他不必要的服务;ACSI模块中SNTP、GOOSE、SV等服务可根据不同的应用需求选择配置,以节省系统资源。
配置参数写入XML格式的配置文件,或通过宏定义赋值。
③依据网络处理器芯片资源配置,基于嵌入式实时操作系统,采用静态和动态分配相结合的内存管理策略,根据实际需要,预配置内存池总容量和各部分容量,平衡裕度和空闲量,保证可靠性。
④通用过程分离和封装:将耗时功能进行分离和封装,规范接口,交由FPGA处理,进一步提升性能;所述耗时功能包括频繁字符串类型的数据对象查找和匹配。
(4)进行软件库组件开发和调试,包括下述步骤:
1)数据标识。定义服务名称、参数、接口公用数据结构和文件模板、消息格式和标识。
2)接口文件和数据结构定义。规范组件接口使用的全局数据结构,数据按IEC61850规定的FC(Functional Constraint)组织,符合使用习惯且不易受LN扩充影响;接口服务和参数映射等文件基于XML定义。便于人和机器阅读、处理,可按约定标识自动匹配接口数据表与61850的引用。
3)接口规范。标准化模块内、外接口协议,建立各组件挂接到软总线的服务适配机制。
4)建立可复用组件。编辑源码,使用不同的交叉编译工具链生成IEC61850通信组件,保存到组件库。
5)合格性检验和适应性修改。确保候选组件拥有所需功能,适合体系结构,具备所需的质量特性,消除体系结构中的不匹配。
6)组装和部署。根据使用的目标系统,选择相应的应用程序框架、组件实现;设置环境和系统的属性等参数,经编译、链接后,生成最终应用程序代码。配置系统结构、参数、选择IED、分配功能,输出标准的SCL配置文件和接口配置文件,将程序和配置下装到目标机。
7)集成测试。搭建测试环境,模拟应用,进行IEC61850通信和数据交互测试。包括模拟量/状态量的周期/变化/召唤上送、遥控、设参数、读写定值、读写文件等。
本发明采用可灵活裁剪和配置的IEC61850软件库的实现方法,用以在网络处理器芯片层次实现对IEC61850通信的支持,降低集成难度,并从整体上减小智能电子设备IED的体积、功耗和价格,提高装置可靠性,进一步推动IEC61850标准在电力系统中的发展应用。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。