CN105224327A - 一种嵌入式装置变量交换传输地址离线分配方法 - Google Patents
一种嵌入式装置变量交换传输地址离线分配方法 Download PDFInfo
- Publication number
- CN105224327A CN105224327A CN201510644937.7A CN201510644937A CN105224327A CN 105224327 A CN105224327 A CN 105224327A CN 201510644937 A CN201510644937 A CN 201510644937A CN 105224327 A CN105224327 A CN 105224327A
- Authority
- CN
- China
- Prior art keywords
- variable
- plug
- address
- unit
- embedded equipment
- 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.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开一种嵌入式装置变量交换传输地址离线分配方法:以图形化元件搭建可视化页面,提取装置内插件间跨页面连接信息,形成用于插件间信号交换的输出-输入列表;以插件为单位,离线分配变量传输地址,形成插件配置文本,记录输出变量地址、输入变量关联地址信息;配置文本下载到装置后,由插件系统引导程序解析地址信息,在周期任务中将变量值刷新到对应的总线传输地址,完成变量交换。本发明可以大幅减少嵌入式装置上电时间,提高批量生产效率。
Description
技术领域
本发明属于嵌入式装置开发领域的基于总线的插件间变量交换的传输地址分配方法,尤其涉及一种嵌入式装置变量交换传输地址离线分配方法。
背景技术
在电力系统控制保护和工业控制等领域,随着应用功能日趋复杂,需要多块插件(含CPU或DSP)协同工作来完成相应的控制保护任务,插件之间需要交换的数据量也不断增大。
文献[1]提供一种高速大容量与支持多个节点之间对等数据传输相结合的背板串行总线技术,可实现装置内多个节点之间的实时数据交换,该文侧重于串行数据总线协议的实现。文献[2]提出一种基于信号名的嵌入式多CPU板间信号自动交换的方法,需要设置主板和从板,在装置上电过程中,从板向主板传输变量注册信息,由主板汇总后分配变量地址,并下发给从板。当交换的数据量大时,由于收发的注册报文量大,基于主从架构的模式导致装置初始化时间长,影响了批量生产效率,另外无法事先知道变量传输地址信息和不能提前校验变量类型匹配,导致调试诊断比较困难。同时手动编辑配置文件容易出错,也无法直观浏览变量交换关系,故需要一种图形化、可视化的方式展示数据流,并根据图形化页面信息,自动形成配置文件。
为提高开发生产效率,有必要在离线阶段即能形成变量传输地址信息,这样各块插件读取各自配置文本后,即可获取变量传输地址,可以独立平行启动,不需要将注册信息发送给主CPU插件,可大幅减少装置上电时间,本案由此产生。
参考资料:
[1]冯亚东,李九虎,李彦,等.一种实时多路复用同步高速传输串行总线协议[P].CN101459675.
[2]冯亚东,周强,徐东方,等.基于信号名的嵌入式多CPU板间信号自动交换的方法[P].CN104731028A.
发明内容
本发明的目的是提供一种嵌入式装置变量交互传输地址离线分配方法,本发明通过可重用的元件库,以图形化方式搭建嵌入式装置的应用程序,离线形成插件间数据交换的变量传输地址,减少装置启动时间,提高研发和生产效率。为了达成上述目的,本发明主要内容包括:
1、编写模块化元件的源代码,在元件的构造函数中调用平台软件变量注册接口,定义可用于跨插件数据交换的变量列表。提取元件源代码文件中的注册接口信息,形成图形化的元件库。其中可用于跨插件交换的变量除了标准定义的1字节、2字节、4字节、8字节变量类型外,还支持用户自定义的结构体变量类型,通过分析结构体定义文件,离线计算结构体大小,图形化元件包括元件类型名、输入输出变量的名字、类型、大小等信息。
2、通过可视化编程软件,从元件库中挑选元件以图形化方式搭建嵌入式装置应用程序,并通过跨页面输入、输出符号和连接线配置插件之间数据流关系,在绘制连接线时,校验连接线起始点、终止点相连接变量的变量类型是否一致,并给出提示。保存可视化工程,形成装置驱动包。
3、读取可视化页面文件,根据设置的页面和元件执行顺序,依次提取插件间跨页面连接符号连接信息(变量名、变量注册类型、数据总线类型),形成用于插件间信号交换的输出-输入列表。
4、汇总各插件的输出-输入列表,离线分配变量传输地址。对各块插件以插件编号升序排序,依次处理,首块插件从地址0开始分配,第N块插件起始地址从第N-1块插件已分配的地址末端开始。对单块插件的输出变量,按照页面内元件执行顺序和变量注册类型,以自然边界对齐的原则分配变量在数据总线上的传输地址,输入变量则记录源输出变量对应的传输地址。以插件为单位,形成配置文本,记录元件实例、输出变量地址、输入变量关联地址信息。
5、将配置文本下载到各个插件后,由插件系统程序解析地址信息,在周期任务中将输出变量值刷新到对应的总线传输地址,将总线地址上数据刷新给对应的输入变量,完成变量交换。
采用上述方案后,本发明具有如下有益效果:以图形化、可视化方式搭建应用程序,可直观浏览各插件之间数据流交换关系。离线分配各插件间变量交换的传输地址,自动形成各插件的配置文件,从而各块插件可以并行启动,不需要和主CPU插件来回交互大量的注册报文信息,有效减少了装置上电过程的工作量,经统计,单装置上电时间平均减少120秒,对于年产10万台保护测控装置的生产线,可累计节省3300小时的上电调试等待时间,显著提高生产调试效率。另外在应用程序研发阶段,可离线校验变量类型是否匹配,校验不同交换周期的数据是否越限,也同步提高了研发效率。
附图说明
图1是本发明中插件间变量交换传输地址分配概要步骤图;
图2是本发明中插件间变量交换图形化页面配置示例图;
图3是本发明中单插件自然边界对齐变量地址分配原理图;
具体实施方式
以下将结合附图,对本发明的技术方案进行详细说明。
实施例1
本一种嵌入式装置变量交换传输地址分配方法,包括如下步骤:
第一步:编写模块化元件的源代码,在元件的构造函数中调用平台软件变量注册接口,定义可用于跨插件数据交换的变量列表;提取代码文件中的注册接口信息,形成图形化的元件库;
第二步:通过可视化编程软件,从元件库中挑选元件以图形化方式搭建嵌入式装置应用程序,并通过跨页面输入、输出符号和连接线配置插件之间数据流关系,形成装置的程序驱动包;
第三步:读取可视化页面文件,根据设置的页面和元件执行顺序,依次提取插件间跨页面连接符号的连接信息,形成用于插件间信号交换的输出-输入列表;所述连接信息包括变量名、变量注册类型、变量字节和数据总线类型;
第四步:离线分配变量传输地址;对各块插件以插件编号升序排序,依次处理,首块插件从地址0开始分配,第N块插件起始地址从第N-1块插件已分配的地址末端开始;对单块插件的输出变量,按照页面内元件执行顺序和变量注册类型,以自然边界对齐的原则分配变量在数据总线上的传输地址,输入变量则记录源输出变量对应的传输地址;以插件为单位,形成配置文本,记录元件实例、输出变量地址、输入变量关联地址信息;
第五步:将配置文本下载到各个插件后,由插件系统引导程序解析地址信息,在周期任务中将输出变量值刷新到对应的总线传输地址,将总线地址上数据刷新给对应的输入变量,完成变量交换。所述的第一步中,用于跨插件变量交换的类型,除支持各种整形、浮点型变量,还支持任意大小的结构体变量。所述的第二步中,可视化编程软件在信号拉线时便可校验输入输出变量类型是否匹配。所述的第五步中,各个插件通过读取各自配置文件,便可得知变量在数据总线的地址。
如附图1所示,本一种嵌入式装置变量交互传输地址离线分配方法的具体实施步骤如下:
1)编写各个元件源代码,并调用系统程序变量注册接口,注册可用于插件间变量交换的变量。优选地,系统注册接口函数定义示例如下:
registerIn(void**addr,char*info);
registerOut(void*addr,char*info);
则通过书写类似如下的接口示例,实现该元件的输入、输出变量注册。
registerIn(&in1,"in1type=c");
registerOut(&out1,"out1type=i");
registerOut(&out2,"out2type=st:IA");
其中:type=c表示1字节变量类型,type=i表示4字节变量类型,
type=st:IA表示结构体类型,具体类型为IA。
2)通过符号编辑器提取分析源代码和预定义的变量注册接口,形成元件的符号库,并记录变量信息(变量名、注册类型、变量大小)。对于结构体类型变量,则需分析结构体定义文件,按照C语言的sizeof原理,在形成元件时计算结构体变量大小。
3)通过可视化编程工具,新建各插件的页面,导入元件符号库,从库元件中挑选元件,释放到页面,实例化库元件。通过连接线和跨插件连接符号,形成连接网络。如图2所示,输出块BoardLink1和BoardA.Page1页面的Not1.out1变量相连接,输入块BoardLink1和BoardB.Page2页面的Or1.in1相链表。若两者变量类型不一致,则给出提示。
4)读取分析可视化页面的元件、跨插件输入输出符号、连接线等信息,关键字相同的插件间输入输出块可形成1对连接关系,以插件为单位,汇总形成输出-输入连接列表(发送的输出变量名、接收的输入变量名、变量类型、大小等信息、数据总线类型)。
5)对各插件按照插件编号升序排列,首块插件从地址0开始分配,第N块插件起始地址从第N-1块插件已分配的地址末端开始。对单块插件的输出变量,按照页面内元件执行顺序汇总各个元件用于交换的输出变量,以自然边界对齐的原则分配变量在对应数据总线上的传输地址,输入变量则记录源输出变量对应的传输地址。如图3所示,假设插件BoardA已经分配了1024字节。BoardB从1024字节开始分配本插件发送给其它插件的输出变量,前面4个变量为inta,charb,shortc,structIAd。其中a为4字节变量,b为1字节变量,c为2字节变量,d为8字节变量(成员变量内变量类型占用字节最大为int)。按照自然边界对齐原理,int类型起始地址需被4整除,short类型起始地址需被2整除,故inta的起始地址为1024,占用4字节空间。b的起始地址为1028,占用1字节空间。c的起始地址为1030,占用2字节空间(1029为空洞补齐)。d的起始地址为1032。
6)以插件为单位,形成配置文本,记录元件实例、输出变量地址、输入变量关联地址信息。将配置文件下载到各插件,各插件系统引导程序读取解析配置文本,获取本插件输出变量地址信息和发送给本插件输入变量的源地址信息。
优选地,配置文本示例如下:
[LOGIC_EDIT]
comp=TripLogicname=TripLogic1
comp=DifProtname=DifProt1
[HTM1_OVT]
adr=0out=BoardA.TripLogic1.trip1type=c
adr=1out=BoardA.TripLogic1.trip2type=c
adr=2out=BoardA.TripLogic1.trip3type=c
[HTM1_IVT]
srcbd=BoardBsrcadr=1056in=B01.DifProt1.in1type=i
srcbd=BoardCsrcadr=2048in=B01.DifProt1.in2type=i
在上例中,[LOGIC_EDIT]字段记录元件实例列表,[HTM1_OVT]记录B01插件输出变量的地址信息,[HTM1_IVT]记录B01插件输入变量关联的其它插件的源输出变量的地址信息。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (4)
1.一种嵌入式装置变量交换传输地址分配方法,其特征在于包括如下步骤:
第一步:编写模块化元件的源代码,在元件的构造函数中调用平台软件变量注册接口,定义可用于跨插件数据交换的变量列表;提取代码文件中的注册接口信息,形成图形化的元件库;
第二步:通过可视化编程软件,从元件库中挑选元件以图形化方式搭建嵌入式装置应用程序,并通过跨页面输入、输出符号和连接线配置插件之间数据流关系,形成装置的程序驱动包;
第三步:读取可视化页面文件,根据设置的页面和元件执行顺序,依次提取插件间跨页面连接符号的连接信息,形成用于插件间信号交换的输出-输入列表;所述连接信息包括变量名、变量注册类型、变量字节和数据总线类型;
第四步:离线分配变量传输地址;对各块插件以插件编号升序排序,依次处理,首块插件从地址0开始分配,第N块插件起始地址从第N-1块插件已分配的地址末端开始;对单块插件的输出变量,按照页面内元件执行顺序和变量注册类型,以自然边界对齐的原则分配变量在数据总线上的传输地址,输入变量则记录源输出变量对应的传输地址;以插件为单位,形成配置文本,记录元件实例、输出变量地址、输入变量关联地址信息;
第五步:将配置文本下载到各个插件后,由插件系统引导程序解析地址信息,在周期任务中将输出变量值刷新到对应的总线传输地址,将总线地址上数据刷新给对应的输入变量,完成变量交换。
2.根据权利要求1所述的嵌入式装置变量交换传输地址分配方法,其特征在于所述的第一步中,用于跨插件变量交换的类型,除支持各种整形、浮点型变量,还支持任意大小的结构体变量。
3.根据权利要求1所述的嵌入式装置变量交换传输地址分配方法,其特征在于所述的第二步中,可视化编程软件在信号拉线时便可校验输入输出变量类型是否匹配。
4.根据权利要求1所述的嵌入式装置变量交换传输地址分配方法,其特征在于所述的第五步中,各个插件通过读取各自配置文件,便可得知变量在数据总线的地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510644937.7A CN105224327B (zh) | 2015-10-08 | 2015-10-08 | 一种嵌入式装置变量交换传输地址离线分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510644937.7A CN105224327B (zh) | 2015-10-08 | 2015-10-08 | 一种嵌入式装置变量交换传输地址离线分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105224327A true CN105224327A (zh) | 2016-01-06 |
CN105224327B CN105224327B (zh) | 2018-05-22 |
Family
ID=54993324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510644937.7A Active CN105224327B (zh) | 2015-10-08 | 2015-10-08 | 一种嵌入式装置变量交换传输地址离线分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105224327B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105739996A (zh) * | 2016-03-03 | 2016-07-06 | 南京南瑞继保电气有限公司 | 一种嵌入式装置研发用户分步开发方法 |
CN110275858A (zh) * | 2019-05-17 | 2019-09-24 | 南京南瑞继保电气有限公司 | 一种信息处理方法、终端及计算机可读存储介质 |
CN111176663A (zh) * | 2019-12-20 | 2020-05-19 | 北京字节跳动网络技术有限公司 | 应用程序的数据处理方法、装置、设备及存储介质 |
CN112840277A (zh) * | 2018-08-13 | 2021-05-25 | 西门子股份公司 | 具有实时数据总线的实时自动化装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459675A (zh) * | 2008-12-29 | 2009-06-17 | 南京南瑞继保电气有限公司 | 一种实时多路复用同步高速传输串行总线协议 |
US20100323696A1 (en) * | 2009-05-26 | 2010-12-23 | George Cherian | System and Methods for Performing Multiple Registrations Across Different Radio Access Technologies |
CN104731028A (zh) * | 2013-12-19 | 2015-06-24 | 南京南瑞继保电气有限公司 | 基于信号名的嵌入式多cpu板间信号自动交换的方法 |
-
2015
- 2015-10-08 CN CN201510644937.7A patent/CN105224327B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459675A (zh) * | 2008-12-29 | 2009-06-17 | 南京南瑞继保电气有限公司 | 一种实时多路复用同步高速传输串行总线协议 |
US20100323696A1 (en) * | 2009-05-26 | 2010-12-23 | George Cherian | System and Methods for Performing Multiple Registrations Across Different Radio Access Technologies |
CN104731028A (zh) * | 2013-12-19 | 2015-06-24 | 南京南瑞继保电气有限公司 | 基于信号名的嵌入式多cpu板间信号自动交换的方法 |
Non-Patent Citations (1)
Title |
---|
姚征: "嵌入式工业现场总线转换及监控系统设计", 《控制工程》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105739996A (zh) * | 2016-03-03 | 2016-07-06 | 南京南瑞继保电气有限公司 | 一种嵌入式装置研发用户分步开发方法 |
CN112840277A (zh) * | 2018-08-13 | 2021-05-25 | 西门子股份公司 | 具有实时数据总线的实时自动化装置 |
CN112840277B (zh) * | 2018-08-13 | 2024-05-31 | 西门子股份公司 | 具有实时数据总线的实时自动化装置 |
CN110275858A (zh) * | 2019-05-17 | 2019-09-24 | 南京南瑞继保电气有限公司 | 一种信息处理方法、终端及计算机可读存储介质 |
CN110275858B (zh) * | 2019-05-17 | 2022-03-29 | 南京南瑞继保电气有限公司 | 一种信息处理方法、终端及计算机可读存储介质 |
CN111176663A (zh) * | 2019-12-20 | 2020-05-19 | 北京字节跳动网络技术有限公司 | 应用程序的数据处理方法、装置、设备及存储介质 |
CN111176663B (zh) * | 2019-12-20 | 2024-02-02 | 抖音视界有限公司 | 应用程序的数据处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105224327B (zh) | 2018-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101165650B (zh) | 计算图的计算机辅助并行化 | |
CN105224327A (zh) | 一种嵌入式装置变量交换传输地址离线分配方法 | |
CN104156832A (zh) | 系统间数据核对方法及装置 | |
CN102208923B (zh) | 近场通信智能卡的应用类业务管理方法和系统 | |
CN106095376B (zh) | 一种快速组态监控画面的实现方法 | |
CN109086630A (zh) | 一种基于区块链的电力信息溯源追踪方法 | |
CN104731028B (zh) | 基于信号名的嵌入式多cpu板间信号自动交换的方法 | |
CN104468778A (zh) | 一种基于云服务的云制造执行系统及其制造执行方法 | |
CN104461649B (zh) | 芯片兼容方法及装置 | |
CN109725617A (zh) | 一种工业组态平台的构建方法、构建系统及相关装置 | |
CN107870814A (zh) | 用于内容管理批处理的方法和设备 | |
CN102809957A (zh) | 用于标识基金会现场总线链接装置的系统和方法 | |
CN113986985B (zh) | 能源管理的io读取方法、系统、设备及存储介质 | |
CN102521356A (zh) | 基于确定有限状态自动机的正则表达式匹配设备和方法 | |
CN103310304A (zh) | 流程模型的管理方法和装置 | |
WO2021246417A1 (ja) | 電力取引支援システム、電力取引支援方法及びプログラム | |
CN104517014A (zh) | 一种基于Pro/E的产品自动装配设计系统及其装配处理算法 | |
CN110135814A (zh) | Bim与工程数据的关联方法、系统及终端设备 | |
CN105975415A (zh) | 外围设备管理控制装置、方法及系统 | |
CN102148702A (zh) | 一种使用网络配置协议进行网络管理的方法 | |
CN204331731U (zh) | 一种基于Pro/E的产品自动装配设计系统 | |
CN106657350A (zh) | 数据复制方法及装置 | |
CN110209722A (zh) | 一种用于数据交换的数据接口 | |
CN104486117A (zh) | 一种多板卡核心交换机的配置命令交互方法和系统 | |
CN101834876B (zh) | 基于蓝牙、数据库与udp协议的分布式半物理仿真系统及其数据汇总和分发的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |