一种电能表系统升级方法及电能表系统与流程

文档序号:12915786阅读:888来源:国知局

本发明涉及电能表系统技术领域,尤其是一种电能表系统升级方法及利用该方法形成的电能表系统。



背景技术:

现有的电能表系统中,在一个项目或产品比较成熟之后,程序往往没有大规模的升级,也即构建的系统架构、程序平台、调试框架、质量跟踪监控方案以及其他大部分程序模块往往是一致且长期不易变的。然而,在外部技术发展的推动下,客户的多样化需求会产生变化,这就要求程序能够得到及时、频繁的更新。目前电能表的通信方式分为:红外、rs485、电力载波等,它们的缺点:速率低、容易受干扰;例如:一个电能表固件256kbytes,在1200波特率的传输速率下,需要传输约36分钟,而且在传输过程中不能受到感染无法使电能表程序能够及时、频繁的更新,无法满足客户的多样化需求及其后续变化。



技术实现要素:

本发明所要解决的技术问题是现有电能表系统存在程序无法及时、频繁更新的缺陷,提供一种基于程序模块化升级的电能表系统升级方法,其使程序能够及时、频繁的更新,以满足客户的多样化需求及其后续变化。

为解决上述技术问题,本发明采用的技术方案为:一种电能表系统的升级方法,包括:

电能表通电时,电能表系统的编译器自动编译到各个程序模块宏定义,通过链接脚本,将程序模块中每个对外函数的名字及地址信息定位到程序模块编程首地址的表格中;

电能表系统根据程序模块对外函数名字及地址信息调用对外函数,完成程序模块的升级,从而完成电能表系统的升级。

进一步地,在各个程序模块的编程首地址处生成一个表格,表格中的一个单元用于存储一个对应的程序模块对外函数的名字及地址信息。

更进一步地,所述表格的单元结构包含至少两项,第一项为一个用于指向对外函数名字的指针,第二项为函数指针,指向对外函数的地址。

进一步地,为每个程序模块提供升级方法,并且升级方法的描述放在表格中。本发明中的程序模块为计量模块、液晶显示模块等,一个程序模块实现电能表的同一个业务功能,电能表的业务功能数量对应相应数量的程序模块。

进一步地,在程序模块的每个对外函数的首处,声明一段宏定义用于提取该对外函数的名字及地址信息。

进一步地,在电能表系统中,建立一张包含各程序模块编程首地址的表,通过该表将各个程序模块的对外函数串联成链表。

进一步地,每个程序模块都有固定的起始地址,每个程序模块预设相应的内存升级空间,以满足因程序模块更新而导致相应的bin增大或者减小的要求。

本发明还提供一种利用上述电能表系统升级方法形成的电能表系统,其包括:

多个程序模块:根据程序模块对外函数名字及地址信息调用对外函数,完成程序模块的升级;

编译器:电能表通电时,编译器自动编译到各个程序模块宏定义,通过链接脚本,将程序模块中每个对外函数的名字及地址信息定位到程序模块编程首地址的表格中。

进一步地,多个程序模块还包括:在各个程序模块的编程首地址处生成一个表格,表格中的一个单元用于存储一个对应的程序模块对外函数的名字及地址信息。

进一步地,还包括:串联模块:一张包含各程序模块编程首地址的表,通过该表将各个程序模块的对外函数串联成链表。

与现有技术相比,本发明的优点在于:在各个程序模块的编程首地址处生成了一张包括所有程序模块对外函数名字和地址信息的表格,在升级对外函数时通过宏定义方式,使编译器编译到宏定义时能够通过链接脚本将该段的对外函数名字和地址信息定位到所属程序模块的编程首地址处的表格中,同时在电能表系统中建立了一张包含各程序模块编程首地址的表,将各个程序模块的对外函数串联成链表,在通电时,电能表系统根据程序模块对外函数的名字及地址信息调用对外函数,完成程序模块的升级,这样只需要对相应程序模块进行跟踪和维护升级,就能满足客户的多样化需求及其后续变化。

附图说明

图1为本发明升级方法的流程图。

具体实施方式

以下结合说明书附图和具体实施方式对本发明作进一步详细描述。

实施例一

图1为本发明升级方法的流程图,如图1所示,本优选实施例为一种电能表系统的升级方法,包括如下具体步骤:

1)在电能表系统各个程序模块的编程首地址处生成一个表格,表格中的一个单元用于存储一个对应的程序模块对外函数的名字及地址信息;其中,每个程序模块都有固定的起始地址,由于程序模块更新,会导致生成的相应的bin增大或者减小,每个程序模块预设相应的内存升级空间;对外函数是指程序模块对外公开的操作方法(类似cpp中的public),程序模块可通过名字字符串从表格中获取到对外函数的入口地址,以此调用;所述表格的单元结构包含至少两项,第一项为一个指针用于指向对外函数的名字,第二项为函数指针,指向对外函数的地址。

2)在程序模块每个对外函数的首处,声明一段宏定义用于提取该对外函数的名字及地址信息。

3)电能表通电时,编译器自动编译到各个程序模块宏定义时,通过链接脚本,将程序模块每个对外函数的名字及地址信息定位到程序模块的编程首地址的表格中。

4)在电能表系统中,建立一张包含各程序模块编程首地址的表,通过该表将各个程序模块的对外函数串联成链表。

5)电能表系统利用上述4)中所建立的表格,根据程序模块对外函数名字及地址信息调用对外函数,完成程序模块的升级,从而完成电能表系统的升级。

实施例二

一种利用实施例一所述电能表系统升级方法形成的电能表系统,其包括多个程序模块、编译器和串联模块。

多个程序模块:在各个程序模块的编程首地址处生成一个表格,表格中的一个单元用于存储一个对应的程序模块对外函数的名字及地址信息。所述表格的单元结构包含至少两项,第一项为一个用于指向对外函数名字的指针,第二项为函数指针,指向对外函数的地址。在程序模块的每个对外函数的首处,声明一段宏定义用于提取该对外函数的名字及地址信息;每个程序模块都有固定的起始地址,每个程序模块预设相应的内存升级空间。

编译器:电能表通电时,编译器自动编译到各个程序模块宏定义,通过链接脚本,将程序模块中每个对外函数的名字及地址信息定位到程序模块编程首地址的表格中。

串联模块:一张包含各程序模块编程首地址的表,通过该表将各个程序模块的对外函数串联成链表。

电能表系统根据程序模块对外函数名字及地址信息调用对外函数,完成程序模块的升级,从而完成电能表系统的升级。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。对于本领域的技术人员而言,阅读上述说明后,各种变化和修正无疑将显而易见。因此,所附的权利要求书应看作是涵盖本发明的真实意图和范围的全部变化和修正。在权利要求书范围内任何和所有等价的范围与内容,都应认为仍属本发明的意图和范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1