一种电能表的固件升级方法技术

技术编号:31978601 阅读:17 留言:0更新日期:2022-01-20 01:32
本发明专利技术涉及一种电能表的固件升级方法,包括:在主站系统创建升级任务,之后发送启动升级指令;确定待发送数据在目标固件文件中的偏移位置,之后在固件文件中截取对应位置的数据并进行分包,主站以初始的分包长度将一个数据包发送给电能表后,并按照设定的数据发送间隔等待,再发送下一数据包,直到一组数据包发送完毕;一组数据包发送完毕后,计算传输一组数据包对应的接收成功率,并根据接收成功率调整下一组数据包的分包长度和数据发送间隔;当电能表已经接收完整后主站系统发送激活指令给电能表,电能表则进行升级。本方法中避免收发不匹配导致的无效通信,大幅降低了流量浪费,加快升级效率并降低升级操作对采集完整率和及时率的影响。及时率的影响。及时率的影响。

【技术实现步骤摘要】
一种电能表的固件升级方法


[0001]本专利技术涉及固件升级领域,特别涉及一种电能表的固件升级方法。

技术介绍

[0002]在电力AMI系统解决方案中,计量和采集设备的远程升级是一项必备功能,当已经安装到现场的设备需要增加新特性时,可以通过主站系统给设备推送新版本固件,设备接收后执行升级,切换到新程序运行,从而使设备具备一定的业务扩展能力,对电力公司的管理需求变化有更好的适应性和支持能力。
[0003]以远程升级电能表固件为例,现有技术方案的处理机制通常如下:
[0004]1、在主站系统中加载电能表的新版本固件;
[0005]2、主站系统向待升级电能表发出升级指令,并等待电能表回复;
[0006]3、电能表回复升级请求并做好升级准备;
[0007]4、主站系统将固件拆分成固定大小的数据包,按固定时间间隔逐包发送给电能表;
[0008]5、主站系统发送完一组数据包后,向电能表发出接收情况查询指令;
[0009]6、电能表回复接收情况;
[0010]7、主站系统根据电能表反馈情况进行补发,直到电能表接收完整;
[0011]8、主站系统继续发送下一组数据包,重复步骤4至7,直到全部发送完成;
[0012]9、主站系统向电能表发送激活指令,电能表校验固件后进入Bootloader,执行固件切换。
[0013]现有的技术方案存在以下缺点:
[0014]由于电能表通讯模块的接收缓冲和处理速度有限,如果主站系统发送数据间隔过短,将导致丢包严重,浪费通信流量,如果发送间隔时间过长,又导致通道利用率低,升级耗时过长,影响正常的数据采集业务。特别是当下行通信方案为载波时,整个台区的自动抄表任务将被长时间堵塞,对整体采集率影响较大。
[0015]同时,由于电能表的安装环境复杂,有居民楼、办公楼、户外、地下室等各种场景,网络信号质量差异较大,并且受移动基站负载、下行通信方式、噪音干扰、天气状况等各种环境因素影响,每个设备的通信情况不断发生变化,固定的分包大小和发送间隔无法有效匹配传输通道和设备处理能力,导致无效通信多,浪费流量且耗时太长,影响电力客户的采集完整率和及时率指标。因此需要进一步改进。

技术实现思路

[0016]本专利技术所要解决的技术问题是针对上述现有技术提供一种能减少无效通信且能加快升级效率的电能表的固件升级方法。
[0017]本专利技术解决上述技术问题所采用的技术方案为:一种电能表的固件升级方法,其特征在于:包括如下步骤:
[0018]步骤1、在主站系统选择待升级的电能表以及对应的目标固件,创建升级任务;
[0019]步骤2、主站系统给待升级的电能表发送启动升级指令,待升级的电能表相应的做好升级准备并回复确认;
[0020]步骤3、根据待升级电能表的通讯模式设定初始的分包长度和数据发送间隔;
[0021]步骤4、通过主站确定待发送数据在目标固件文件中的偏移位置,之后在固件文件中截取对应位置的数据并进行分包,主站以初始的分包长度将一个数据包发送给电能表,主站每发送完一个数据包,并按照设定的数据发送间隔等待,再发送下一数据包,直到一组数据包发送完毕;
[0022]步骤5、一组数据包发送完毕后,主站系统给待升级的电能表发送查询指令,电能表返回当前接收情况,主站则根据电能表返回情况计算传输一组数据包对应的接收成功率,并根据接收成功率的情况调整下一组数据包的分包长度和数据发送间隔;
[0023]步骤6、重复步骤4

5,直到目标固件文件中的全部数据发送完并且确认电能表已经接收完整;
[0024]步骤7、主站系统发送激活指令给待升级的电能表,待升级的电能表则进行升级;
[0025]步骤8、主站系统核对电能表返回的当前固件版本,并判断当前固件版本与目标固件版本是否相同,如是,则待升级的电能表升级成功,结束;如否,则待升级的电能表升级失败,结束。
[0026]为了使各分包的传输能达到最优,所述步骤3中待升级电能表根据不同的通讯模式设定对应的初始分包长度、最小分包长度、初始发送间隔、最小数据发送间隔和最大数据发送间隔。这样使各通讯模块的分包长度和数据发送间隔控制策略能减少无效通信和等待。
[0027]优选地,所述待升级电能表的通讯模式至少为GPRS通讯模式和PLC通讯模式中的一种或多种。
[0028]为了能更好的了解电能表的接收情况,所述步骤5中电能表的当前接收情况通过进度位图显示,待升级的电能表收到数据包后并写入接收缓冲区的对应区域,并更新当前接收进度状态,即将进度位图中已经收到的分包对应二进制位标识为1,未收到的分包对应二进制位标识为0。
[0029]优选地,所述步骤5中根据接收成功率的情况调整下一组数据包的分包长度和数据发送间隔的方法具体为:
[0030]1)当接收成功率为100%时
[0031]如当前数据发送间隔不为最小数据发送间隔且最近N组数据包的接收成功率均为100%时,则将当前数据发送间隔缩短m秒,缩短后的数据发送间隔属于最小数据发送间隔和最大数据发送间隔之间;
[0032]如当前数据发送间隔为最小数据发送间隔,或最近N组数据包的接收成功率未达到100%时,则对当前数据发送间隔不做修改;
[0033]2)当接收成功率为[a%,100%)时
[0034]对当前数据发送间隔不做修改;
[0035]3)当接收成功率为[b%,a%)时
[0036]如当前数据发送间隔不为最大数据发送间隔且最近N组数据包的接收成功率均为
[b%,a%)时,则将当前数据发送间加大n秒,加大后的数据发送间隔属于最小数据发送间隔和最大数据发送间隔之间;
[0037]如当前数据发送间隔为最大数据发送间隔,或最近N组数据包的接收成功率超过a%时,则对当前数据发送间隔不做修改;
[0038]4)当接收成功率为[c%,b%)时
[0039]如当前数据发送间隔不为最大数据发送间隔且最近N组数据包的接收成功率均为[c%,b%)时,则将当前数据发送间加大k秒,加大后的数据发送间隔属于最小数据发送间隔和最大数据发送间隔之间;k>n;
[0040]如当前数据发送间隔为最大数据发送间隔,或最近N组数据包的接收成功率超过b%时,则对当前数据发送间隔不做修改;
[0041]5)当接收成功率为[d%,c%)时
[0042]如当前数据发送间隔不为最大数据发送间隔且最近N组数据包的接收成功率均为[d%,c%)时,则将当前数据发送间加大k秒,加大后的数据发送间隔属于最小数据发送间隔和最大数据发送间隔之间;k>n;
[0043]如当前数据发送间隔为最大数据发送间隔,且最近N组数据包的接收成功率超过均为[d%,c%)时,则发送取消当前升级命令,并减小当前分包长度,减小后的分包长度大于等于最小分包,然后重新开始执行升级;
[0044]如当前数据发送间隔为最大数据发送间隔,且当前分本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种电能表的固件升级方法,其特征在于:包括如下步骤:步骤1、在主站系统选择待升级的电能表以及对应的目标固件,创建升级任务;步骤2、主站系统给待升级的电能表发送启动升级指令,待升级的电能表相应的做好升级准备并回复确认;步骤3、根据待升级电能表的通讯模式设定初始的分包长度和数据发送间隔;步骤4、通过主站确定待发送数据在目标固件文件中的偏移位置,之后在固件文件中截取对应位置的数据并进行分包,主站以初始的分包长度将一个数据包发送给电能表,主站每发送完一个数据包,并按照设定的数据发送间隔等待,再发送下一数据包,直到一组数据包发送完毕;步骤5、一组数据包发送完毕后,主站系统给待升级的电能表发送查询指令,电能表返回当前接收情况,主站则根据电能表返回情况计算传输一组数据包对应的接收成功率,并根据接收成功率的情况调整下一组数据包的分包长度和数据发送间隔;步骤6、重复步骤4

5,直到目标固件文件中的全部数据发送完并且确认电能表已经接收完整;步骤7、主站系统发送激活指令给待升级的电能表,待升级的电能表则进行升级;步骤8、主站系统核对电能表返回的当前固件版本,并判断当前固件版本与目标固件版本是否相同,如是,则待升级的电能表升级成功,结束;如否,则待升级的电能表升级失败,结束。2.根据权利要求1所述的电能表的固件升级方法,其特征在于:所述步骤3中待升级电能表根据不同的通讯模式设定对应的初始分包长度、最小分包长度、初始发送间隔、最小数据发送间隔和最大数据发送间隔。3.根据权利要求2所述的电能表的固件升级方法,其特征在于:所述待升级电能表的通讯模式至少为GPRS通讯模式和PLC通讯模式中的一种或多种。4.根据权利要求1所述的电能表的固件升级方法,其特征在于:所述步骤5中电能表的当前接收情况通过进度位图显示,待升级的电能表收到数据包后并写入接收缓冲区的对应区域,并更新当前接收进度状态,即将进度位图中已经收到的分包对应二进制位标识为1,未收到的分包对应二进制位标识为0。5.根据权利要求1~4任一项所述的电能表的固件升级方法,其特征在于:所述步骤5中根据接收成功率的情况调整下一组数据包的分包长度和数据发送间隔的方法具体为:1)当接收成功率为100%时如当前数据发送间隔不为最小数据发送间隔且最近N组数据包的接收成功率均为100%时,则将当前数据发送间隔缩短m秒,缩短后的数据发送间隔属于最小数据发送间隔和最大数据发送间隔之间;如当前数据发送间隔为最小数据发送间隔,或最近N组数据包的接收...

【专利技术属性】
技术研发人员:黄俊耿
申请(专利权)人:宁波三星智能电气有限公司
类型:发明
国别省市:

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

1