一种基于操作系统的电能表软件在线升级方法及系统技术方案

技术编号:13671965 阅读:83 留言:0更新日期:2016-09-07 20:00
本发明专利技术公开了一种基于操作系统的电能表软件在线升级方法,首先启动升级握手过程,然后进行安全验证,再进行程序传输、程序校验、程序固化和程序加载;最后升级确认。本发明专利技术所提供的基于操作系统的电能表软件架构及其在线升级的方法,兼顾了可靠性与灵活性两方面要求,将法制计量模块独立处理,确保核心的计量功能不受其它模块更新、失效的影响,通过软件在线升级,可以方便地实现电能表软件的在线更新,而且对非法制计量相关软件升级时,并不会影响计量功能的正确运行,在保证可靠性的基础上,极大地提升了电能表应用的灵活性。

【技术实现步骤摘要】

本专利技术涉及电能表领域,特别是一种基于操作系统的电能表软件在线升级方法。
技术介绍
目前电能表一旦挂网运行,其软件是不允许在线升级的,除非拆除返厂重新烧录程序并重新校验。这一点无法适应运行过程中不断变化的需求。尤其随着互联网+、物联网技术的发展,大数据、云平台等概念的提出,电能表要融入大这个大的技术环境中,其软件灵活性要求越来越高。要求电能表在满足基本计量、抄表功能外,还能够在电能表运行过程中根据需求变化升级软件、或下载新的功能组件,即需要具备在线升级功能。单纯具备在线升级功能仍然是不够的,由于目前电能表软件架构基本都是采用单片机系统,其软件是一个整体,升级期间必须先停止所有功能,等所有程序升级完毕后再重新启动,这样势必造成在线升级期间电能停止累计,而这是无法接受的。为此,需要先研究一种新的电能表软件架构,这种软件架构支持软件在线升级,而且在对非计量相关软件升级期间不影响计量的正常运行。嵌入式操作系统因其具备的多任务、模块化管理、易于扩展、资源丰富等特性,广泛应用在各行各业,也用在电能表采集器领域,但在电能表中的应用未见。将嵌入式操作系统应用在电能表中,可以有效解决软件灵活升级的问题,但要同时兼顾电能表的精度、电能可靠性问题,则需要根据电能表的特性进行针对性处理。因此,需要一种基于操作系统的电能表软件在线升级方法。
技术实现思路
本专利技术的目的就是提供一种基于操作系统的电能表软件在线升级方法。本专利技术的目的是通过这样的技术方案实现的:本专利技术提供的一种基于操作系统的电能表软件在线升级方法,包括以下步骤:S1升级握手:上位机发出软件升级请求报文,并选择所要升级的模块;电能表接收到升级请求后,判断升级请求报文格式及要升级的模块是否正确,判断正确后认为握手成功,回复正确的响应报文,并进入下一步骤S2,否则直接退出升级过程;S2安全验证:上位机发出升级密钥,电能表验证升级密钥是否与预设值相符;
如果符合,则通过安全验证并进入下一步骤S3;否则直接退出升级过程;S3程序传输:上位机将要升级的目标执行程序传输给电能表,电能表接收后先缓存到RAM中;上位机发出程序传输完毕报文,所述报文带有整个目标执行程序的CRC校验码;S4断点续传:电能表等待新的程序传输报文,收到后从上次断点位置开始继续缓存新收到的程序数据,直到收到的程序传输完毕;S5程序校验:电能表根据接收到的目标执行程序的长度,计算RAM缓存区中程序的CRC校验码,核对是否与上位机发过来的程序传输完毕报文中的CRC校验码一致,如核对一致则并进入下一步骤S6,否则直接退出整个升级过程;S6程序固化:电能表将RAM缓存区的程序复制到程序存储区对应区域地址中;判断程序大小,如超过限定值则直接退出整个升级过程;如果未超过,则固化程序;S7程序加载:电能表根据本次升级的模块类型,重新加载升级后的程序并运行;S8升级确认:升级后的程序重新加载后,重新计算FLASH中的程序CRC校验码,并将该CRC校验码反馈给上位机;上位机收到该CRC校验码后,核对与下载的程序CRC校验码是否一致,如果核对一致则认为升级成功,升级过程结束,否则认为升级失败。进一步,所述步骤S1中选择的升级模块包括法制计量模块、内核模块、主应用模块和扩展应用模块中的任一种模块。进一步,所述步骤S2中的安全验证包括软件验证与硬件验证两个方面;所述软件验证是指密钥验证,通过上位机发出升级密钥,电能表验证密钥是否与预设值相符来实现密钥验证过程;所述硬件验证是指当电能表处于端盖打开状态时,对升级法制计量模块和内核模块进行验证过程。进一步,所述步骤S3中的上位机将要升级的目标执行程序传输给电能表,具体按照以下步骤来实现:根据最大数据报文长度将整个目标执行程序分为连续的多个报文;依次传输所有报文;直到传输完毕。进一步,所述步骤S7中的程序加载是根据升级的模块类型来实现的,如果升级的模块是法制计量模块和内核模块,则采用整个装置自动复位的方式重新加载;如果
升级的模块是主应用模块和扩展应用模块,则通过内核模块重新加载这两个模块的程序。还包括一种基于操作系统的电能表软件在线升级系统,包括内核模块以及分别与内核模块连接的法制计量模块、主应用模块和扩展应用模块;所述内核模块,用于电能表上电初始化与管理整个电能表的软硬件资源;所述法制计量模块,用于实时采集测量电能数据并处理电能数据;所述主应用模块,用于存储若干处理电能数据模块并通过处理电能数据模块来处理电能数据;所述扩展应用模块,用于自定义电能数据处理模块。进一步,所述内核模块包括引导模块、操作系统内核、应用程序管理模块和驱动支持模块;所述引导模块用于完成上电初始化,并引导启动操作系统内核;所述操作系统内核,用于提供操作系统运行基础的内存管理、任务调度、中断处理过程;所述应用程序管理模块,用于启动并监视法制计量模块、主应用模块和扩展应用模块的运行状态,并自动更新监测异常运行的模块;所述驱动支持模块,提供访问底层硬件资源接口,供法制计量模块、主应用模块和扩展应用模块使用。进一步,所述主应用模块包括数据计算线程单元、数据存储线程单元、显示线程单元和通信线程单元;所述数据计算线程单元,用于读取法制计量模块的电能数据、实时测量数据,根据实时测量数据来计算需量、进行负荷记录处理,监视判断是否发生失压、失流事件并进行记录,以共享内存的方式提供给数据存储线程单元、显示线程单元和通信线程单元使用;所述数据存储线程单元,用于接收数据计算线程处理过的数据,并将最新产生的电能、需量、事件记录固化到非易失性存储器中;所述显示线程单元,用于监视按键情况,进行按键循环、自动循环、自检的显示处理,将数据计算线程单元的数据通过液晶显示方式显示;所述通信线程单元,用于处理RS-485串口和红外数据的收发,根据DL/T 645协议进行数据的处理。由于采用了上述技术方案,本专利技术具有如下的优点:本专利技术所提供的基于操作系统的电能表软件架构及其在线升级的方法,兼顾了可靠性与灵活性两方面要求,将法制计量模块独立处理,确保核心的计量功能不受其它模块更新、失效的影响,通过软件在线升级,可以方便地实现电能表软件的在线更新,而且对非法制计量相关软件升级时,并不会影响计量功能的正确运行,在保证可靠性的基础上,极大地提升了电能表应用的灵活性。本专利技术的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本专利技术的实践中得到教导。本专利技术的目标和其他优点可以通过下面的说明书和权利要求书来实现和获得。附图说明本专利技术的附图说明如下。图1为本专利技术的电能表软件框架。图2为本专利技术的电能表目标执行程序固化地址分配示意图。图3为本专利技术的电能表软件在线升级流程图。具体实施方式下面结合附图和实施例对本专利技术作进一步说明。实施例1如图所示,本实施例提供的基于操作系统的电能表软件在线升级方法,该方法满足对非计量相关软件升级期间不影响计量正常运行的要求,其步骤如下:S1升级握手:上位机发出软件升级请求报文,并选择所要升级的模块,包括法制计量模块、内核模块、主应用模块、扩展应用模块,每次升级只能选择其中一种;电能表接收到升级请求后,判断升级请求报文格式及本文档来自技高网
...

【技术保护点】
一种基于操作系统的电能表软件在线升级方法,其特征在于:包括以下步骤:S1升级握手:上位机发出软件升级请求报文,并选择所要升级的模块;电能表接收到升级请求后,判断升级请求报文格式及要升级的模块是否正确,判断正确后认为握手成功,回复正确的响应报文,并进入下一步骤S2,否则直接退出升级过程;S2安全验证:上位机发出升级密钥,电能表验证升级密钥是否与预设值相符;如果符合,则通过安全验证并进入下一步骤S3;否则直接退出升级过程;S3程序传输:上位机将要升级的目标执行程序传输给电能表,电能表接收后先缓存到RAM中;上位机发出程序传输完毕报文,所述报文带有整个目标执行程序的CRC校验码;S4断点续传:电能表等待新的程序传输报文,收到后从上次断点位置开始继续缓存新收到的程序数据,直到收到的程序传输完毕;S5程序校验:电能表根据接收到的目标执行程序的长度,计算RAM缓存区中程序的CRC校验码,核对是否与上位机发过来的程序传输完毕报文中的CRC校验码一致,如核对一致则并进入下一步骤S6,否则直接退出整个升级过程;S6程序固化:电能表将RAM缓存区的程序复制到程序存储区对应区域地址中;判断程序大小,如超过限定值则直接退出整个升级过程;如果未超过,则固化程序;S7程序加载:电能表根据本次升级的模块类型,重新加载升级后的程序并运行;S8升级确认:升级后的程序重新加载后,重新计算FLASH中的程序CRC校验码,并将该CRC校验码反馈给上位机;上位机收到该CRC校验码后,核对与下载的程序CRC校验码是否一致,如果核对一致则认为升级成功,升级过程结束,否则认为升级失败。...

【技术特征摘要】
1.一种基于操作系统的电能表软件在线升级方法,其特征在于:包括以下步骤:S1升级握手:上位机发出软件升级请求报文,并选择所要升级的模块;电能表接收到升级请求后,判断升级请求报文格式及要升级的模块是否正确,判断正确后认为握手成功,回复正确的响应报文,并进入下一步骤S2,否则直接退出升级过程;S2安全验证:上位机发出升级密钥,电能表验证升级密钥是否与预设值相符;如果符合,则通过安全验证并进入下一步骤S3;否则直接退出升级过程;S3程序传输:上位机将要升级的目标执行程序传输给电能表,电能表接收后先缓存到RAM中;上位机发出程序传输完毕报文,所述报文带有整个目标执行程序的CRC校验码;S4断点续传:电能表等待新的程序传输报文,收到后从上次断点位置开始继续缓存新收到的程序数据,直到收到的程序传输完毕;S5程序校验:电能表根据接收到的目标执行程序的长度,计算RAM缓存区中程序的CRC校验码,核对是否与上位机发过来的程序传输完毕报文中的CRC校验码一致,如核对一致则并进入下一步骤S6,否则直接退出整个升级过程;S6程序固化:电能表将RAM缓存区的程序复制到程序存储区对应区域地址中;判断程序大小,如超过限定值则直接退出整个升级过程;如果未超过,则固化程序;S7程序加载:电能表根据本次升级的模块类型,重新加载升级后的程序并运行;S8升级确认:升级后的程序重新加载后,重新计算FLASH中的程序CRC校验码,并将该CRC校验码反馈给上位机;上位机收到该CRC校验码后,核对与下载的程序CRC校验码是否一致,如果核对一致则认为升级成功,升级过程结束,否则认为升级失败。2.如权利要求1所述的基于操作系统的电能表软件在线升级方法,其特征在于:所述步骤S1中选择的升级模块包括法制计量模块、内核模块、主应用模块和扩展应用模块中的任一种模块。3.如权利要求1所述的基于操作系统的电能表软件在线升级方法,其特征在于:所述步骤S2中的安全验证包括软件验证与硬件验证两个方面;所述软件验证是指密钥验证,通过上位机发出升级密钥,电能表验证密钥是否与预设值相符来实现密钥验证过程;所述硬件验证是指当电能表处于端盖打开状态时,对升级法制计量模块和内
\t核模块进行验证过程。4.如权利要求1所述的基于操作系统的电能表软件在线升级方法,其特征在于:所述步骤S3中的上位机将要升级的目标执行程序传输给电能表,具体...

【专利技术属性】
技术研发人员:欧习洋侯兴哲王新华李志勇刘金涛李享友刘型志张进吉畅曾啸龙王奕刘大川陈新亮
申请(专利权)人:国网重庆市电力公司电力科学研究院国家电网公司深圳市中电电力技术股份有限公司
类型:发明
国别省市:重庆;50

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1