CN103425467B - 基于iec61850的程序生成方法 - Google Patents
基于iec61850的程序生成方法 Download PDFInfo
- Publication number
- CN103425467B CN103425467B CN201210153812.0A CN201210153812A CN103425467B CN 103425467 B CN103425467 B CN 103425467B CN 201210153812 A CN201210153812 A CN 201210153812A CN 103425467 B CN103425467 B CN 103425467B
- Authority
- CN
- China
- Prior art keywords
- component base
- data
- file
- iec61850
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于IEC61850的程序文件的生成方法,包括:在多个构件库中,根据程序应用、采样方式、事件方式和运行环境确定至少一个构件库;其中,所述构件库为具有API接口的操作函数的集合;配置所述程序应用,生成模型文件;建立所述模型文件与所述程序应用的源代码之间的关联,生成映射文件;关联所述确定的构件库和源代码,编译成运行文件;将所述运行文件、映射文件和模型文件作为所述程序文件。本发明由于预先将IEC61850相关功能封装在构件库和选择配置过程中,通过几个步骤即可得到程序文件的运行文件、映射文件和模型文件,简化了程序开发过程,提高了程序开发的效率。
Description
技术领域
本发明涉及计算机数据处理,特别是指一种基于IEC61850的程序生成方法。
背景技术
IEC61850规范是关于变电站通信和网络系统的国际标准规范。由于IEC61850涉及到众多的专业知识,理解和开发具有较高的技术门槛,自从IEC61850第一版发行到现在,推行和推广进程缓慢。
基于IEC61850系统开发的复杂性在于:通信系统需要实现基于以太网的七层通信协议,大多数协议层基于ASN1智能型面向对象的自我表述编码;电力自动化的业务及数据需要通过SCL配置语言进行准确规范的描述;电力自动化的业务及数据需要映射到网络通信协议;涉及多个业务工作状态机,需要完成电力自动化的复杂的通信功能,包括日志控制、报告控制、定值组控制、目录操作、数据集操作、数据值的读写、各种安全级别的控制以及维护可靠的关联。需要针对不同的具体应用作出不同产品的开发,如MMS服务器、MMS客户、GOOSE发布者、GOOSE订阅者、SMV发布者,SMV订阅者。
由于该规范涉及的知识较多,程序设计人员花很多时间学习一些基础性的操作的开发,如服务器、客户端、GOOSE网、SMV网、各种特定应用的开发,特定应用的开发包括和电力控制相关的应用开发,程序开发的过程较繁琐,程序开发的效率较低。
发明内容
有鉴于此,本发明在于提供一种基于IEC61850的程序生成方法,以解决上述程序开发过程繁琐,程序开发的效率较低的问题。
为解决上述问题,本发明提供一种基于IEC61850的程序生成方法,包括:
在多个构件库组成的构件库集合中,根据选择的运行环境、数据采样方式、事件方式和选择的程序应用确定至少一个构件库,程序应用对应的源代码文件基于所确定的构件库生成;所述构件库为具有API接口的操作函数的集合;
配置所述选择出的程序应用,生成模型文件;
建立所述模型文件与所述源代码文件之间的关联,生成映射文件;
关联所述确定的构件库和所述源代码文件,编译成运行文件;
将所述运行文件、映射文件和模型文件作为所述程序文件。
本发明由于预先将IEC61850相关的配置、服务及操作功能封装在构件库和选择配置过程中,并基于构件库开发多个程序应用,通过几个步骤即可得到程序文件的运行文件、映射文件和模型文件,简化了程序开发过程,提高了程序开发的效率。
附图说明
图1示出了实施例的流程图;
图2示出了实施例中生成计费专用的电度表程序的流程图;
图3示出了实施例中生成电机过流保护装置程序的流程图。
具体实施方式
为清楚说明本发明中的方案,下面给出优选的实施例并结合附图详细说明。
参见图1所示的流程图,包括以下步骤:
S11:在多个构件库组成的构件库集合中,根据选择的运行环境、采样方式、事件方式和选择的程序应用确定至少一个构件库,程序应用对应的源代码文件基于所确定的构件库生成。其中,所述构件库为具有API接口的操作函数的集合;
S12:配置在所述应用类别中选择出的程序应用,生成模型文件;
S13:建立所述模型文件与所述源代码文件之间的关联,生成映射文件;
S14:关联所述确定的构件库和所述源代码文件,编译成运行文件;
S15:将所述运行文件、映射文件和模型文件作为所述程序文件。
在实施例中,由于预先将IEC61850相关的配置、服务及操作功能封装在构件库和选择配置中,通过几个步骤即可得到程序文件的运行文件、映射文件和模型文件,简化了程序开发过程,提高了程序开发的效率。
优选地,确定所述至少一个构件库的过程包括:
从所述运算环境的多个平台中选择出一个硬件平台和一个软件平台,所述选择出的硬件平台和软件平台对应至少一个构件库;
其中,所述运行环境包括多个硬件平台和多个软件平台。硬件平台可以选择arm处理器平台、或DSP平台等不同架构的处理器平台;软件平台采用linux平台、或unix平台等不同软件系统的平台。每种硬件平台、软件平台均和一个或多个构件库有对应关系。
从多种数据采样方式和事件方式中选择一种或多种采样方式和事件方式;
其中所述多种采样方式如“SMV9-1”、“AD硬接线”、“SMV9-2”、“电子式互感器”,“其它”等多种形式;所述多种事件方式如“GOOSE发布”,“GOOSE订阅”,“DI硬接线”,“DO硬接线”“无事件功能”,“其它”等多种形式。
从多个所述应用类别中选择出一个应用类别;从一个应用类别中选择出一个程序应用;具有所选择的采样方式及事件方式的一个程序应用对应至少一个构件库;
其中,应用类别为基于IEC61850的各种应用分类,如变压器保护应用、电动机控制应用等,每个程序应用是从一个应用类别中选择出的具体应用,如从“变压器保护”应用类别中可以选择出“重瓦斯保护”这个程序应用,该程序应用表示将生成的程序适用于“重瓦斯保护”这个具体应用。
确定所选择的采样方式及事件方式的一个程序应用、所述选择出的硬件平台和软件平台在所述构件库集合中所共同对应的至少一个构件库,将所述共同对应的至少一个构件库作为所述确定的构件库。
一个程序应用的源代码文件由对应的所述确定的构件库生成;具体可通过程序设计的方式采用C语言开发而成。
构件库的种类包括多种,如:基于IEC61850用于实现MMS通信服务的通信服务器构件库、基于IEC61850用于实现MMS客户端通信的客户端构件库、基于IEC61850的用于事件发布的GOOSE发布构件库、基于IEC61850的用于事件订阅的GOOSE订阅构件库、基于IEC61850的用于发送采样值的SMV发送构件库、基于IEC61850的用于接收采样数据的SMV接收构件库;其中MMS(ManufacturingMessageSpecification)指制造报文规范,GOOSE(GOOSE,GenericObjectOrientedSubstationEvent)指面向通用对象的变电站事件,SMV(SMV,sampledmeasuredvalue)指采样值。
优选地,基于IEC61850用于实现MMS通信服务的通信服务器构件库封装模型配置的加载、模型配置的解析、模型的数据转换、数据集的生成、目录树的创建、内存数据库的生成、通信报文的编码、通信报文的解码、IEC61850规定的全部服务及状态机(包括控制服务、定值组服务、替代服务、数据集服务、目录服务、数据读写服务、缓存和非缓存报告服务、日志服务、GOOSE控制服务、采样值控制服务、文件服务、网络状态机等)等等功能,并提供加载配置和初始化内存、启动网络服务及状态机、读写内存数据、回调通知、停止及结束服务、清理内存等函数接口。
优选地,基于IEC61850用于实现MMS客户端通信的客户端构件库封装MMS服务器连接信息的管理、服务器数据的存取、各种操作服务器的指令(包括控制操作、定值操作、替代操作、数据集操作、目录操作、数据读写操作、报告控制、日志操作、GOOSE控制操作、采样值控制操作、文件操作、网络状态机等)、通信报文的编码和解码等等功能,并提供服务器连接管理函数、操作指令接口函数、报告及网络状态回调通知函数、内存数据访问函数、启动网络客户连接函数、终止和退出网络连接函数等接口。
优选地,基于IEC61850GOOSE及SMV发布和订阅的构件库(即基于IEC61850的用于事件发布的GOOSE发布构件库、基于IEC61850的用于事件订阅的GOOSE订阅构件库、基于IEC61850的用于发送采样值的SMV发送构件库、基于IEC61850的用于接收采样数据的SMV接收构件库等)封装IEC61850GOOSE及SMV发布或订阅所用到的数据集配置的加载、数据集配置的解析和转换、数据集的编码和解码、网络发送及接收的启动、GOOSE及SMV发布数据时钟节律的控制等等功能,并提供数据集初始化、启动发布和订阅、停止发布和订阅、数据接收事件回调等函数接口。
每个种类的构件库对应至少一个程序应用、至少一个所述硬件平台和至少一个所述软件平台。各个构件库与程序应用、采样方式、事件方式、硬件平台、软件平台之间形成对应关系。
由于大量的操作封装在构件库和选择配置过程中,程序开发人员不必掌握IEC61850的ACSE各种服务机制、以及GOOSE,SMV,MMS等通信协议,即可完成相关的程序开发。
下面通过含有参数的具体实例详细说明,例如,以生成电度表类别的计费应用的程序说明,参见图2,包括:
S21:选择电度表所采用的硬件平台和软件平台;
在实施例中,从多个硬件平台中,选择atmelarm9260型号的CPU平台。
选择在硬件平台上运行的软件平台,即操作系统。
选择atmelarm9260上运行的操作系统,在实施例中,在多个软件平台中,选择RTlinuxfedora12.0软件平台。
S22:选择数据采样方式和事件方式;
在实施例中,选择数据采样方式为“SMV9-1”(可选择的采样方式可以是“SMV9-1”,“AD硬接线”,“SMV9-2”,“电子式互感器”,“其它”等形式)及事件方式为“GOOSE发布”(可选择的事件发布方式可以是“GOOSE发布”,“GOOSE订阅”,“DI硬接线”,“DO硬接线”“无事件功能”,“其它”等形式)。
S23:选择程序应用,并选择构件库;
在实施例中,为便于选择,将多个应用分为多个应用类别。在具体的应用类别为“电度表”中,进一步选择“计费专用”程序应用。
在实施例中,自动或人工选择基于IEC61850用于实现MMS通信服务的通信服务器构件库和基于IEC61850的SMV接收构件库、基于IEC61850的GOOSE发布构件库。
在该实施例中,选择硬件平台、软件平台、采样方式、事件方式、程序应用的过程没有先后顺序,最终会确定出这些选择所共同对应的至少一个构件库。
当确定出存在多个构件库时,还可人工再次选择或由计算机自动选择出需要的构件库。
S24:配置程序应用的服务模型;
所述配置程序应用的过程包括:自动或手动配置基于IEC61850的逻辑节点的信息。
在该实施例中,该应用所述逻辑节点至少包括以下之一:MMTR,MMXU、MSTA、MHAI、MHAN、CALH、TCTR,TVTR
上述配置逻辑节点的信息的过程包括至少包括以下之一:
选择或编辑数据属性,添加测量功能节点,指定实例个数,选择数据集内容,编辑报告控制块,填写数据实例信息。
在实施例中,界面显示“MMTR”逻辑节点的全部信息,根据提示选择基于IEC61850-7-4所定义的“MMTR”逻辑节点的全部必选项数据及数据属性,并添加“CALH”逻辑节点,指定“MMTR”实例个数为3个,“CALH”逻辑节点实例个数为2个;定义一个“计量数据集”,内容为MMTR1、MMTR2、MMTR3中全部电能数据的集合,不编辑报告控制块,填写“MMTR”各个实例数据的描述信息等。该配置过程可实现IEC61850模型规范要求的配置。
S25:配置程序应用的采样数据集和事件数据集;
所述采样数据集,即IEC61850SMV控制块所对应的数据集。配置采样数据集就是从互感器逻辑点模型(TCTR,TVTR等逻辑节点模型)的实例中选择采样数据组成集合。本实施例中将自动添加IEC618509-1中指定的12个采样数据到采样数据集中,并添加相关的逻辑节点模型实例到模型文件中。
所述事件数据集,即IEC61850GOOSE及GSE控制块对应的数据集。配置事件数据集就是从S24的服务模型中选择事件数据组成集合。本实施例中添加CALH1和CALH2的全部报警数据组成该事件发布数据集。
S26:为服务器、数据采样方式及事件方式指定访问点属性,如IP地址和采样订阅用的mac地址。
本实施例中,指定服务器访问点的名字为“S1”,并指定其IP为“172.10.2.3”;指定事件发布的访问点是“G1”,MAC源地址是“0102030405”;指定采样访问点是“SVCV1”,MAC源地址是“1072335588”
S27:确定并退出配置工具程序,生成模型文件和数据映射文件。
按照步骤S24,S25,S26的配置,生成相应计费电度表ICD(或CID)模型文件。
根据所生成的模型文件创建该模型文件内表达的全部简单数据的二维数据表;此处的简单数据是相对于复合数据而言,简单数据是计算机不可再分解的数据,不需要辅助的机器语言进行描述。多个简单数据可以描述复合数据。
将所述二维数据表按功能约束和逻辑节点类型分组,得到映射类别数据表;其中,所述数据表中的每一项包括功能约束、数据路径、I/O点号、数据类型等几个部分;
将所述每一项的功能约束、数据类型映射到相应的前缀,该前缀与I/O点号合并,中间用下划线隔开,形成映射信息,该映射信息与数据路径具有一一对应关系,将所述映射信息插入到该项,并一同保存,作为所述映射文件。
所述映射文件建立所述由S24、S25、S26配置生成的ICD模型文件与所述S23中选择的“电度表”应用类别的源代码之间的关联。这样在源代码中可以只需根据映射信息操作相应类别中映射的I/O点号即可完成数据操作,无需知道数据的路径等信息,实现了源代码与数据路径等附加信息的分离。
建立关联时只对模型文件中的动态变化数据与源代码之间建立映射关联。
将模型文件中的动态数据分为DI、AI、SG、SE、遥设、遥控几大类动态类型,并按如下的表1将动态类型、数据类型、I/O点号组合成映射信息以区分唯一的测点;
例如:功能约束ST与数据类型Bstring2决定映射信息的前缀是“DIdv_”_I/O点号如果是16,那么映射信息是“DIdv_16”.
依此类推,常用的映射规则类下表所示:
表1
例如:
开关量(双位置)遥信的映射:
遥信的状态E1Q1SB1C1CSWI1$ST$Pos$stVal″DIdv_16″
type=Bstring2
表示域名为E1Q1SB1C1的节点下的数据“CSWI1$ST$Pos$stVal”被映射为″DIdv_16″,以下类同。其中,通过映射文件中的映射信息″DIdv_16″,即可找到对应的数据“E1Q1SB1C1CSWI1$ST$Pos$stVal”。
上例中映射信息是″DIdv_16″,通过该映射信息,可找到对应的数据“E1Q1SB1C1CSWI1$ST$Pos$stVal”进行操作。
以下为部分的映射方法举例:
遥信的品质E1Q1SB1C1CSWI1$ST$Pos$q″DIdq_16″type=BVstring13
遥信的时标E1Q1SB1C1CSWI1$ST$Pos$t″DItv_16″type=Utctime
单位置遥信的映射:
遥信的状态E1Q1SB1C1LLN0$ST$AlmSGZ$stVal″DIbv_30″type=Bool
遥信的品质E1Q1SB1C1LLN0$ST$AlmSGZ$q″DIdq_30″type=BVstring13
遥信的时标E1Q1SB1C1LLN0$ST$AlmSGZ$t″DItv_30″type=Utctime
遥测的值的映射:
E1Q1SB1C1MMXU1$MX$PPV$phsAB$mag$f″AIdv_9″type=Float
遥测的品质的映射:
E1Q1SB1C1MMXU1$MX$PPV$phsAB$q″AIdq_9″type=BVstring13
遥测的时标的映射:
E1Q1SB1C1MMXU1$MX$PPV$phsAB$t″AItv_9″type=Utctime
定值组的映射:
E1Q1SB1C1GFH_PTOC1$SG$StrVal$setMag$i″SGwv_2″type=Long
E1Q1SB1C1GFH_PTOC1$SE$StrVal$setMag$i″SEwv_2″type=Long
E1Q1SB1C1GL1_PTOC1$SG$BlkDirEn$setVal″SGbc_5″type=Bool
E1Q1SB1C1GL1_PTOC1$SE$BlkDirEn$setVal″SEbc_5″type=Bool
遥控的映射内容,其前缀为空;
选择E1Q1SB1C1/CSWI1$CO$Pos$SBOw1
执行E1Q1SB1C1/CSWI1$CO$Pos$Oper1
撤销E1Q1SB1C1/CSWI1$CO$Pos$Cancel1
E1Q1SB1C1/YKGGIO1$CO$DPCSO$SBOw2
E1Q1SB1C1/YKGGIO1$CO$DPCSO$Oper2
E1Q1SB1C1/YKGGIO1$CO$DPCSO$Cancel2
单点定值的映射:
E1Q1SB1C1/YKGGIO1$SP$WORKMODE$Val1
S28:修改数据映射文件的数据映射信息。
对于自动配置的数据映射信息,可能出现与源代码中进行操作的IO点号不匹配,即生成的映射信息所对应的待操作的数据不是程序需要操作的数据,此时需要人工修改IO点号或映射信息,以改变映射关系,映射成程序需要操作的数据。
S29:运行编译批处理文件完成编译和链接,将生成的运行文件和配置文件(包括模型文件和数据映射文件)安装到目标电度表中,一个计费的智能电度表开发就可完成。
此时配置工具将生成一个目录,里面有选择好的构件库(包括MMS服务器库、SMV接收库、GOOSE发布库)、计费电度表开发演示源代码程序、和网络协议参数配置文件、配置好的计费电度表ICD或CID模型文件、模型与源代码关联的数据映射文件以及用于编译的批处理文件。
关联S23中确定的构件库和程序应用的源代码,编译成运行文件。
将所述运行文件、数据映射文件和ICD(或CID)模型文件作为所述程序文件。
优选地,所述生成模型文件的过程至少包括以下之一:
所述确定的构件库的种类为基于IEC61850用于实现MMS通信服务的通信服务器构件库,所述生成的模型文件为包括服务器访问点的ICD或CID模型文件;
所述确定的构件库的种类为基于IEC61850用于实现MMS客户端通信的客户端构件库,所述生成的模型文件为SCD模型文件;
所述确定的构件库的种类为基于IEC61850的用于事件发布的GOOSE发布构件库、基于IEC61850的用于事件订阅的GOOSE订阅构件库、基于IEC61850的用于发送采样值的SMV发送构件库、基于IEC61850的用于接收采样数据的SMV接收构件库,所述生成的模型文件为GOOSE、SMV、或者GSE发布或订阅数据集的结构描述表文件;
所述确定的构件库的种类为用于实现MMS通信服务的通信服务器构件库和以下构件库种类之一:基于IEC61850的用于事件发布的GOOSE发布构件库、基于IEC61850的用于事件订阅的GOOSE订阅构件库、基于IEC61850的用于发送采样值的SMV发送构件库、基于IEC61850的用于接收采样数据的SMV接收构件库;所述生成的模型文件为包括服务器访问点ICD或CID模型文件,该模型文件还包括采样访问点或事件访问点。
在实施例中,并不是所有的配置过程都需要配置程序应用的采样数据集、事件数据集以及访问点和其所访问的网络地址,如有些程序应用采样数据来自第三方,如来自“其它”的ODBC数据库,则不必配置采样数据集以及采样访问点和其所访问的网络地址。
通过上述步骤可快速生成一个基于IEC61850的计费专用的电度表程序,且由于将关于计费所涉及的计费、网络等操作功能封装在程序应用和构件库中,将模型文件和映射文件的生成过程封装在选择配置过程中,从而降低了用户开发的复杂度,提高了开发效率。
本发明还提供一个生成电动机过流保护装置的程序的实施例,参见图3,包括:
S31:选择过流保护装置所采用的硬件环境和软件平台;
在实施例中,从多个硬件平台中,选择powerpc2020型号的CPU平台。
选择在硬件环境上运行的软件平台,即操作系统。
选择powerpc2020上运行的操作系统,在实施例中,在多个软件平台中,选择QNX软件平台。
S32:选择数据采集方式和事件方式;
在实施例中,选择采样方式为“SMV9-2”(可选择的采样方式可以是“SMV9-1”,“AD硬接线”,“SMV9-2”,“电子式互感器”,“其它”等形式)及事件方式为“GOOSE发布”和“GOOSE订阅”(可选择的事件发布方式可以是“GOOSE发布”,“GOOSE订阅”,“DI硬接线”,“DO硬接线”“无事件功能”,“其它”等形式)。
S33:选择程序应用,并选择构件库。
在实施例中,为便于选择,将多个程序应用分为多个应用类别。在具体的应用类别为“电动机保护器”中,进一步选择“电动机过流保护”程序应用。
自动或人工选择MMS服务器库、SMV接收库和GOOSE接收和发布库
S34:配置程序应用的服务模型;
所述配置程序应用的过程包括:配置基于IEC61850的逻辑节点的信息。
所述逻辑节点至少包括以下之一:
“PTOC”,“PIOC”,“PVOC”,XCBR,TCTR,TVTR,PTRC,PDIS,RREC,MMTR,MMXU
上述配置逻辑节点的信息的过程包括至少包括以下之一:
选择或编辑数据属性,添加测量功能节点,指定实例个数,选择数据集内容,编辑报告控制块,填写数据实例信息。
在实施例中,在配置界面显示“PTOC”,“PIOC”,“PVOC”逻辑节点的全部信息,根据提示选择“PTOC”,“PIOC”,“PVOC”的全部缺省的数据及数据属性(IEC618507.3及7.4的规定内容),并指定每个节点的实例数为3个,添加“MMXU”测量功能节点,指定实例个数为1个,添加两个数据集,一个是遥信数据集“rs_sets”,一个是遥测数据集“rm_sets”,“rs_sets”数据集包含该电动机的所有状态数据,“rm_sets”数据集包含该电动机的所有测量数据,并为“rs_sets”数据集指定“brcb_rs”缓存报告控制块,为“rm_sets”数据集指定“urcb_rm”非缓存报告控制块,填写数据实例信息时将逻辑节点控制模式设为4。该配置过程可实现IEC61850模型规范要求的配置。
S35:配置程序应用的采样数据集和事件数据集;
所述采样数据集,即IEC61850SMV控制块所对应的数据集。配置采样数据集就是从互感器逻辑点模型(TCTR,TVTR,PTRC等逻辑节点模型)的实例中选择采样数据组成集合。本实施例中添加TCTR、TVTR、PTRC的实例数分别为3个,并选择其中的各相电流测量值、各相电压测量值、各相保护电压值、各相保护电流值到采样值数据集中。
所述事件数据集,即IEC61850GOOSE及GSE控制块对应的数据集。配置事件数据集就是从S34的服务模型中选择事件数据组成集合。本实施例中添加PTOC1、PIOC1、PVOC1、PTOC2、PIOC2、PVOC2、PTOC3、PIOC3、PVOC3的全部报警数据组成该事件发布数据集。
S36:为服务器和数据采样方式及事件方式指定访问点属性,如IP地址和采样订阅用的mac地址、接收开入和发布开出的mac地址。
本实施例中,指定服务器访问点的名字为“P1”,并指定其IP为“192.168.22.3”;指定事件发布的访问点是“P2”,MAC源地址是“0502030405”;指定采样访问点是“P3”,MAC源地址是“3072335588”。
S37:确定并退出配置工具程序,生成模型文件和数据映射文件。
按照步骤S34、S35、S36的配置,生成相应电动机过流保护ICD(或CID)模型文件。
根据所生成的ICD(或CID)模型文件自动创建模型文件内表达的全部简单数据的二维数据表,该二维表包含数据路径、数据类型、功能约束等字段。
将所述二维数据表按功能约束(FC)和逻辑节点类型分组,得到所述映射类别数据表;
所述映射类别数据表每一项包括功能约束、数据路径、I/O点号、数据类型等几个部分;
将所述映射类别数据表数据进行统一编号(也可人工指定编号),该编号为数据的ID号、即表1中的I/O点号,将所述每一项的功能约束、数据类型映射到相应的前缀,该前缀与I/O点号合并,中间用下划线隔开,形成映射信息,该映射信息与数据路径具有一一对应关系,将所述映射信息插入到该项,并一同保存,作为所述映射文件。
所述映射文件建立所述由S34、S35、S36配置生成的ICD模型文件与所述S33中选择的“电动机过流保护”程序应用对应的源代码之间的关联.这样在源代码中可以只需根据映射信息操作相应类别中映射的I/O点号即可完成数据操作,实现了源代码与数据路径等附加信息的分离,减少了源代码与模型的相关性。
S38:修改数据映射文件的数据ID号。
对于数据ID号不一致的情况,需要做适应性修改。
S39:运行编译批处理文件完成编译和链接,将生成的运行文件和配置文件(包括模型文件和数据映射文件)安装到过流保护装置中,一个电动机过流保护装置开发就可完成。
此时配置工具将生成一个目录,里面有选择好的构件库(包括MMS服务器库和SMV接收库,GOOSE接收和发布库)、过流保护器开发演示源代码程序、配置好的电动机过流保护ICD(或CID)模型文件、模型与源代码关联的数据映射文件以及用于编译的批处理文件。
接下来是修改源代码的工作,一般只需修改映射数据的ID号即可。如要处理遥控和定值数据,可以在遥控的回调函数和定值操作的回调函数里修改或加入代码。
接着运行编译批处理文件完成编译和链接,将生成的运行文件和配置文件(包括模型文件和数据映射文件)安装到目标保护装置中,一个电动机过流保护装置开发就可完成。
关联S33中确定的构件库和程序应用的源代码,编译成运行文件。
将所述运行文件、数据映射文件和ICD模型文件作为所述程序文件。
通过上述步骤可快速生成一个基于IEC61850的电机过流保护装置的程序,且由于将关于过流保护所涉及的功能操作、网络等操作功能封装在程序应用和构件库中,将模型配置过程封装在选择配置过程中,利用映射信息分离与模型相关的数据的路径的操作,从而降低了用户开发的复杂度,提高了开发效率。
优选地,上述的实施例中,对于基于IEC61850用于实现MMS通信服务的通信服务器构件库的开发,配置工具可以自动生成ICD或CID等模型文件,服务器网络配置文件以及动态数据的映射文件,并自动关联到IEC61850MMS服务器构件库的运行时内存空间,IEC61850MMS服务器构件库可以根据模型文件动态创建内存实时数据库,开发人员可以通过数据映射配置操纵服务器内存数据的读写。
对于基于IEC61850用于实现MMS客户端通信的客户端构件库的开发,配置工具可以生成SCD等模型配置文件、服务器列表配置文件和客户端网络参数配置文件,IEC61850MMS客户构件库运行时有两种方法建立服务器数据目录及数据表,一种是通过通信建立,一种是根据SCD模型文件通过对其解析和转换建立。
对于IEC61850GOOSE及SMV发布及订阅器件的开发,当不涉及IEC61850MMS服务内容时,配置工具可以生成相关数据集的结构描述表文件和网络协议参数配置文件,IEC61850GOOSE及SMV发布及订阅构件库运行时,根据结构描述表文件生成数据集内存数据结构,根据网络协议参数配置文件组织通信报文或接收通信报文,无需ICD或CID的支持。
对于本发明各个实施例中所阐述的方法,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于IEC61850的程序文件的生成方法,其特征在于,包括:
在多个构件库组成的构件库集合中,根据选择的运行环境、数据采样方式、事件方式和选择的程序应用确定至少一个构件库,程序应用对应的源代码文件基于所确定的构件库生成;其中,所述构件库为具有API接口的操作函数的集合;
配置所述选择出的程序应用,生成模型文件;
建立所述模型文件与所述源代码文件之间的关联,生成映射文件;
关联所述确定的构件库和所述源代码文件,编译成运行文件;
将所述运行文件、映射文件和模型文件作为所述程序文件。
2.根据权利要求1所述的方法,其特征在于,所述运行环境包括多个硬件平台和多个软件平台组成的集合;
所述选择的运行环境包括从所述集合中选择出一个硬件平台和一个软件平台;
所述选择的程序应用及其数据采样方式、事件方式包括:
从多个应用类别中选择出一个应用类别;从所述一个应用类别中选择出一个程序应用;从多种采样方式和事件方式中选择出一种或多种采样方式和事件方式。
3.根据权利要求2所述的方法,其特征在于,
所述选择出的硬件平台和软件平台对应至少一个构件库;
所述选择出的程序应用及采样方式和事件方式对应至少一种构件库;
所述确定至少一个构件库的过程包括:
确定所述选择出的程序应用及其采样方式和事件方式、所述选择出的硬件平台和软件平台在所述构件库集合中所共同对应的至少一个构件库,将所述共同对应的至少一个构件库作为所述确定的构件库。
4.根据权利要求3所述的方法,其特征在于,所述构件库集合至少包括以下一个种类:
基于IEC61850用于实现MMS通信服务的通信服务器构件库、基于IEC61850用于实现MMS客户端通信的客户端构件库、基于IEC61850的用于事件发布的GOOSE发布构件库、基于IEC61850的用于事件订阅的GOOSE订阅构件库、基于IEC61850的用于发送采样值的SMV发送构件库、基于IEC61850的用于接收采样数据的SMV接收构件库;
其中,每个种类的构件库对应至少一个程序应用、至少一个所述硬件平台和至少一个所述软件平台、以及至少一个采样方式和一个事件方式。
5.根据权利要求3所述的方法,其特征在于,所述配置程序应用的过程包括:
根据所述选择出的程序应用确定访问的网络地址、采样数据集、事件数据集;
根据所述选择出的程序应用确定相应的IEC61850所规定的逻辑节点信息;
根据所述逻辑节点信息配置该逻辑节点对应的数据、数据属性,同时生成逻辑设备的实例。
6.根据权利要求5所述的方法,其特征在于,所述配置该逻辑节点对应的数据、数据属性的过程包括至少包括以下之一:
选择或编辑数据属性;添加或编辑逻辑节点;指定逻辑节点实例个数;选择数据集内容;编辑报告控制块;填写数据实例信息。
7.根据权利要求5所述的方法,其特征在于,所述配置的方式包括:输入数据或选择数据;
所述配置之前还包括:
设置所述输入数据或选择数据的数据格式。
8.根据权利要求4所述的方法,其特征在于,所述生成模型文件的过程至少包括以下之一:
所述确定的构件库的种类为基于IEC61850用于实现MMS通信服务的通信服务器构件库,所述生成的模型文件为包括服务器访问点的ICD或CID模型文件;
所述确定的构件库的种类为基于IEC61850用于实现MMS客户端通信的客户端构件库,所述生成的模型文件为SCD模型文件;
所述确定的构件库的种类为基于IEC61850的用于事件发布的GOOSE发布构件库、基于IEC61850的用于事件订阅的GOOSE订阅构件库、基于IEC61850的用于发送采样值的SMV发送构件库、基于IEC61850的用于接收采样数据的SMV接收构件库,所述生成的模型文件为GOOSE、SMV、或者GSE发布或订阅数据集的结构描述表文件;
所述确定的构件库的种类为基于IEC61850用于服务器通信的通信服务器构件库和以下构件库种类之一:基于IEC61850的用于事件发布的GOOSE发布构件库、基于IEC61850的用于事件订阅的GOOSE订阅构件库、基于IEC61850的用于发送采样值的SMV发送构件库、基于IEC61850的用于接收采样数据的SMV接收构件库,所述生成的模型文件为包括服务器访问点ICD或CID模型文件,该模型文件还包括采样访问点或事件访问点。
9.根据权利要求8所述的方法,其特征在于,所述生成映射文件的过程包括:
根据所生成的模型文件创建该模型文件内表达的全部简单数据的二维数据表;
将所述二维数据表按功能约束和逻辑节点类型分组,得到映射类别数据表;其中,所述数据表中的每一项包括功能约束、数据路径、I/O点号、数据类型;
将所述每一项的功能约束、数据类型映射到相应的前缀,该前缀与I/O点号合并形成映射信息,该映射信息与所述数据路径具有一一对应关系,将所述映射信息插入到该项,并一同保存,作为所述映射文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210153812.0A CN103425467B (zh) | 2012-05-18 | 2012-05-18 | 基于iec61850的程序生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210153812.0A CN103425467B (zh) | 2012-05-18 | 2012-05-18 | 基于iec61850的程序生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103425467A CN103425467A (zh) | 2013-12-04 |
CN103425467B true CN103425467B (zh) | 2016-08-03 |
Family
ID=49650272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210153812.0A Active CN103425467B (zh) | 2012-05-18 | 2012-05-18 | 基于iec61850的程序生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103425467B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016017004A1 (ja) * | 2014-07-31 | 2016-02-04 | 三菱電機株式会社 | 実行時間推定プログラムおよび実行時間推定装置 |
CN106874011B (zh) * | 2017-02-28 | 2020-06-09 | 南京南瑞继保电气有限公司 | 一种文件生成方法及装置 |
CN107025279B (zh) * | 2017-03-28 | 2020-03-10 | 国网江苏省电力公司电力科学研究院 | 基于数据库接口层操作流的scd文件在线并行配置系统和方法 |
CN109542409B (zh) * | 2018-11-28 | 2022-09-30 | 中国海洋石油集团有限公司 | 一种基于面向对象设计思想的存储方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006043012A1 (en) * | 2004-10-22 | 2006-04-27 | New Technology/Enterprise Limited | Data processing system and method |
CN101256482A (zh) * | 2007-12-19 | 2008-09-03 | 深圳市同洲电子股份有限公司 | 一种嵌入式应用程序的开发系统及方法 |
CN101533349A (zh) * | 2009-04-15 | 2009-09-16 | 哈尔滨工业大学 | 一种大粒度构件的平台相关模型及其代码自动生成方法 |
CN102314348A (zh) * | 2011-09-15 | 2012-01-11 | Tcl集团股份有限公司 | 一种Android系统开发架构及开发装置 |
-
2012
- 2012-05-18 CN CN201210153812.0A patent/CN103425467B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006043012A1 (en) * | 2004-10-22 | 2006-04-27 | New Technology/Enterprise Limited | Data processing system and method |
CN101256482A (zh) * | 2007-12-19 | 2008-09-03 | 深圳市同洲电子股份有限公司 | 一种嵌入式应用程序的开发系统及方法 |
CN101533349A (zh) * | 2009-04-15 | 2009-09-16 | 哈尔滨工业大学 | 一种大粒度构件的平台相关模型及其代码自动生成方法 |
CN102314348A (zh) * | 2011-09-15 | 2012-01-11 | Tcl集团股份有限公司 | 一种Android系统开发架构及开发装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103425467A (zh) | 2013-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857667B (zh) | 接口自动化测试方法、测试装置、测试设备及存储介质 | |
CN110825369A (zh) | 一种基于java语言的代码自动生成的方法 | |
CN103425467B (zh) | 基于iec61850的程序生成方法 | |
CN1811702B (zh) | 用于向门户服务器应用环境自动部署门户应用的系统和方法 | |
CN101706773B (zh) | 采用xml信息重组实现变电站iec61850快速自动建模的方法 | |
CN102325153B (zh) | 一种服务开发方法和系统 | |
CN105515189B (zh) | 基于变电站统一建模的综合智能网关机组态方法 | |
CN101727324A (zh) | 一种代码生成方法及装置 | |
CN103513976B (zh) | 业务流程建模方法及装置 | |
CN104516738A (zh) | 一种app应用的开发与发布一体化实现方法 | |
CN102253999B (zh) | 一种服务依赖性的验证方法 | |
CN101853156B (zh) | 构件化软件系统中实现Web Service调用的方法 | |
CN101126981A (zh) | 脚本命令注册方法、调用源程序代码的方法和装置 | |
CN101968740B (zh) | 一种基于java class编译的业务数据动态调整服务器及系统 | |
CN102646056A (zh) | 基于电网gis平台的应用的功能扩展方法及装置 | |
CN113301171B (zh) | 一种融合多物联网数据的数字镜像构建方法和系统 | |
CN107632827A (zh) | 应用的安装包的生成方法及装置 | |
CN109471730A (zh) | 一种弹性计算服务管理系统 | |
Kostic et al. | Understanding and using the IEC 61850: a case for meta-modelling | |
CN109241384A (zh) | 一种科研信息的可视化方法及装置 | |
CN104994219A (zh) | 一种数据处理方法和系统 | |
CN115599382A (zh) | 基于AutoSar架构的代码自动生成工具及方法 | |
Hänsch et al. | Communication for battery energy storage systems compliant with IEC 61850 | |
CN115480810A (zh) | 一种基于云原生的低代码平台 | |
WO2024146267A1 (zh) | 基于微服务架构的新能源发电设备全生命周期管理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |