一种通过智能电能表红外接口实现升级的方法与流程

文档序号:16198091发布日期:2018-12-08 06:20阅读:300来源:国知局

本发明涉及智能电能表技术领域,尤其涉及一种通过智能电能表红外接口实现升级的方法。

背景技术

随着智能电网建设的逐步完善,作为智能电网建设关键环节的智能电能表是由传统电能表逐步发展起来的,它在智能电网中是重要的智能终端。智能电表具有广阔的市场,同时对电表的性能的要求也越来越高。

通信模块(例如g3、gprs、3g、4g等)是智能电表的重要组成部分,具有远程抄表,智能电表事件上报等功能。若通信模块程序需要升级,现有技术有两种形式,一种是通过远程升级方式,但是这种升级方式容易受到外界干扰,进而造成升级数据不稳定;还有一种是通过升级工装来升级通信模块,但是升级时需要插拔通信模块,连接串口,操作不是很方便。



技术实现要素:

本发明所要解决的技术问题是:提供一种操作方便且升级稳定的通过智能电能表红外接口实现升级的方法。

本发明所采用的技术方案是:一种通过智能电能表红外接口实现升级的方法,它包括以下步骤:

s1、上位机通过红外接口发送设定的通信信号;

s2、智能电能表检测通信信号,若没有检测到,则继续进行检测,若检测到设定的通信信号,则进入透传模式,然后跳转到下一步;

s3、智能电能表与上位机进行校验,若校验通过,则回复上位机确认信号,然后跳转到下一步;若校验不通过,则初始化红外接口,并且退出透传模式;

s4、上位机接收到确认信号,然后通过红外接口发送模块升级命令;

s5、需要升级的模块接收模块升级命令,然后需要升级的模块判断是否需要进行升级,若判断需要升级,则发送确认升级信号给上位机,然后跳转到下一步;若判断不需要进行升级,则发送不升级信号给上位机,同时初始化红外接口,且退出透传模式;

s6、上位机接收到确认升级信号,则上位机将模块升级数据包通过红外接口逐帧透传发送给智能电能表,智能电能表转发给需要升级的模块,若一帧发送出去后收到模块的回复确认,则继续发送后续帧,直到全部帧数都发送完毕,再跳转到下一步;若一帧发送过去后在规定的时间内未收到回复确认,则在限制重发次数范围内重发该帧,如果收到回复确认,则发送下一帧,如果达到限制重发次数后依旧每没有收到回复确认,则初始化红外接口,并且退出透传模式;

s7、上位机确认模块升级数据包全部发送后,发送模块复位命令;

s8、初始化红外接口,并且退出透传模式。

步骤s3中的校验包括以下步骤:

s31、智能电能表生成随机数通过红外接口发送给上位机,并且根据智能电能表储存的通信密码处理随机数得到第一密码数;

s32、上位机接收到的随机数,然后根据储存的通信密码处理接收到的随机数得到第二密码数,然后将第二密码数发送给智能电能表;

s33、智能电能表接收上位机发送过来的第二密码数,然后将第二密码数与步骤s31得到的第一密码数做对比,若两者相同,则判断为校验正确,若两者不相同,则判断为校验不正确。

步骤s31、s32以及s33中提到的随机数为八位随机数,且得到的第一密码数以及第二密码数也为八位。

所述通信密码为lls密码。

步骤s1设定的通信信号中包含有z,并且步骤s2中若检测到通信信号,还需要判断z的值,若z=0,则不切换通信波特率,若z不等于0,则需要根据z的值来切换通信波特率。

步骤s5中上位机通过红外接口将模块升级命令发送给智能电能表,且智能电能表直接将模块升级命令转发给需要升级的模块。

步骤s5需要升级的模块判断此时是否能进行升级。

步骤s5中若上位机规定时间内没有收到回复信号,则限制重发次数范围内重发模块升级命令,若收到确认升级信号,则进入升级程序发送阶段;若收到不升级信号,则复位红外接口,并且退出透传模式;若达到限制重发次数后还没有收到回复,则复位红外接口,且退出透传模式。

采用以上方法与现有技术相比,本发明具有以下优点:通过红外接口透传模式,将升级数据包通过红外接口直接透传给升级模块,这样升级稳定性较高,而且不需要拔插升级模块,升级比较方便。

并且采用设置密码并且是lls密码来进行校验,这样可以保证不会进行误操作。

而且设置成八位随机数与密码数,这样计算起来比较方便,而且校验效果较好。

设置一个z值,这样可以根据不同的升级情况来选择不同的通信波特率,这样适配性更高。

并且在判断是否升级时需要判断模块此时是否能进行升级,这样考虑情况比较完全。

具体实施方式

以下通过具体实施方式对本发明做进一步描述,但是本发明不仅限于以下具体实施方式。

一种通过智能电能表红外接口实现升级的方法,它包括以下步骤:

s1、上位机通过红外接口发送设定的通信信号;在本具体实施例中设定的通信信号的通信帧为ack0z6crlf;并且收到通信帧之后还需要判断z值,若z=0,则不切换通信波特率,若z不等于0,则需要根据z的值来切换通信波特率。

s2、智能电能表检测通信信号,若没有检测到,则继续进行检测,若检测到设定的通信信号,则进入透传模式,然后跳转到下一步;

s3、智能电能表与上位机进行校验,校验包括以下步骤:

s31、智能电能表生成八位随机数通过红外接口发送给上位机,并且根据智能电能表储存的lls通信密码处理随机数得到八位第一密码数;

s32、上位机接收到的八位随机数,然后根据储存的lls通信密码处理接收到的八位随机数得到八位第二密码数,然后将第二密码数发送给智能电能表;

s33、智能电能表接收上位机发送过来的第二密码数,然后将第二密码数与步骤s31得到的第一密码数做对比,若两者相同,则判断为校验正确,若两者不相同,则判断为校验不正确;

若校验通过,则回复上位机确认信号,然后跳转到下一步;若校验不通过,则初始化红外接口,并且退出透传模式;

s4、上位机接收到确认信号,然后通过红外接口发送模块升级命令;

s5、上位机通过红外接口将模块升级命令发送给智能电能表,且智能电能表直接将模块升级命令转发给需要升级的模块,中间并没有进行额外的处理,需要升级的模块接收模块升级命令,然后需要升级的模块判断是否需要进行升级,主要判断模块此时是否能进行升级;若判断需要升级,则发送确认升级信号给上位机,然后跳转到下一步;若判断不需要进行升级,则发送不升级信号给上位机,同时初始化红外接口,且退出透传模式;

s6、上位机去接收回复信号,若上位机规定时间内没有收到回复信号(确认升级信号与不升级信号),则限制重发次数范围内重发模块升级命令,若收到确认升级信号,则进入升级程序发送阶段;若收到不升级信号,则复位红外接口,并且退出透传模式;若达到限制重发次数后还没有收到回复,则复位红外接口,且退出透传模式。进入升级程序发送阶段后,则上位机将模块升级数据包通过红外接口逐帧透传发送给智能电能表,智能电能表转发给需要升级的模块,若一帧发送出去后收到模块的回复确认,则继续发送后续帧,直到全部帧数都发送完毕,再跳转到下一步;若一帧发送过去后在规定的时间内未收到回复确认,则在限制重发次数范围内重发该帧,如果收到回复确认,则发送下一帧,如果达到限制重发次数后依旧每没有收到回复确认,则初始化红外接口,并且退出透传模式;

s7、上位机确认模块升级数据包全部发送后,发送模块复位命令;

s8、初始化红外接口,并且退出透传模式。

并且红外协议主要有五种,a、b、c、d和e,本申请主要是采用协议c,协议c支持带波特率切换的300波特双向数据交换,该模式允许进行数据读出,带有加强安全防护的方式进行编程以及按制造厂规定的协议模式进行操作。

本发明基于协议模式c,表计程序借用此模式切换到“制造厂特定”模式,即使红外接口处于透传模式来升级模块,其程序原理为:

hhu手持终端(hand-heldunit)一种与计费装置和电力仪表进行数据交换的便携设备,作为客户端设备。

tariffdevice计费装置(tariffdevice)一种数据采集单元,通常与电力仪表连接或结合,作为服务器设备。

/deviceaddresscrlf是hhu发送到计费装置的开启信息。

/xxxzindentificationcrlf是计费装置的应答。z为波特率

ack0z6crlf是确认/选项选择信息,确定本次请求为透传模式,并确定接下来通信的波特率为z。

stxp0stx(d1…d1)etxbcc计费装置发出8位随机数(d1…d1)至hhu。

stxp2stx(d2…d2)etxbcchhu根据随机数与通信的lls密码计算得到的新值(8位)发送至计费装置。

ack需判断密码,密码采用lls密码,正确才能进入透传模式。计费装置读取内部存储的lls密码与随机数计算得到的值,若与(d2…d2)相同,则回复ack,进入透传模式。

moduleupgradecommand若hhu通过红外接口发送的命令为模块升级,则对通信帧不做任何处理,直接转发给模块。

升级完成后发送sohb2etxbcc给模块复位。

升级完成后发送sohb0etxbcc初始化红外串口。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的技术人员应当理解,其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行同等替换;而这些修改或者替换,并不使相应的技术方案的本质脱离本发明各实施例技术方案的精神与范围。

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