一种IR46智能电表的多通讯协议的处理方法及装置制造方法及图纸

技术编号:24102480 阅读:46 留言:0更新日期:2020-05-09 13:43
本发明专利技术实施例公开了一种IR46智能电表的多通讯协议的处理方法及装置,其所述方法包括:启动串口中断服务程序,基于识别到的串口中断请求,读取接收到的串口数据;启动主程序,基于串口数据处理指针判断串口通讯上是否有数据更新,若有,主程序读取串口数据;将串口数据与表计支持的所有通讯协议进行匹配,获取串口数据所属的第一通讯协议;根据第一通讯协议对串口数据进行解析,生成串口数据的回复帧,将串口数据的回复帧通过串口发送出去;根据第一通讯协议对串口接收的下一个串口数据进行解析,生成下一个串口数据的回复帧并通过串口发送出去。所述方法极大地降低串口数据处理的复杂度,避免出现串口数据丢失,保证IR46智能电能表的通讯质量。

A processing method and device of multiple communication protocol for ir46 intelligent meter

【技术实现步骤摘要】
一种IR46智能电表的多通讯协议的处理方法及装置
本专利技术涉及电能表的通讯
,尤其涉及一种IR46智能电表的多通讯协议的处理方法及装置。
技术介绍
在电表领域中,除了保证电表的计量准确度以及防窃电功能的实现,对电表的通讯要求也愈发严格。目前,普通电表的通讯方式包括近红外通讯、远红外通讯、RS485通讯,通讯距离从几米到几百米不等,通讯协议基本上都是单一的,但是在通讯距离方面仍然无法满足大部分用户的需求。新一代的IR46智能电能表解决了现有电能表通讯距离不足的问题,其通讯方式包括GPRS通讯、RF通讯、RLC载波通讯等,可以在系统主站上实现远程抄表、远程电表拉合闸、远程电表充值等功能。IR46智能电能表和系统主站的远程数据交互是基于通讯模块的数据透传来实现的,在实际应用时,通讯模块一方面完成数据透传,一方面与IR46智能电能表进行定时数据交互,从而实现事件主动上报和负荷曲线主动推送的功能。然而,IR46智能电能表和系统主站之间进行通讯时使用的是一种通讯协议,IR46智能电能表和通讯模块之间进行通信时使用的却是另一种通讯协议,说明IR46智能电能表需要同时处理两种通讯协议,若将来IR46智能电能表要使用其他厂家的通讯模块和系统主站进行通讯时,还需要增加对应的通讯协议,因此多通讯协议的处理方式将成为IR46智能电能表的技术难点。
技术实现思路
本专利技术的目的在于克服现有技术的不足,本专利技术提供了一种IR46智能电表的多通讯协议的处理方法,通过串口中断服务程序进行简单地串口数据读取,在主程序中进行串口数据的通讯协议匹配,极大地降低串口数据处理的复杂度,防止丢失部分数据而造成通讯协议匹配异常,保障IR46智能电能表的通讯质量。为了解决上述技术问题,本专利技术提供了一种IR46智能电表的多通讯协议的处理方法,所述方法包括:启动串口中断服务程序,基于识别到的串口中断请求,读取接收到的串口数据;启动主程序,基于串口数据处理指针判断串口通讯上是否有数据更新,若判断所述串口通讯上有数据更新时,主程序读取所述串口数据;将所述串口数据与表计支持的所有通讯协议进行匹配,获取所述串口数据所属的第一通信协议;根据所述第一通讯协议对所述串口数据进行解析,生成所述串口数据的回复帧,将所述串口数据的回复帧通过串口发送出去;等待接收下一个串口数据,根据所述第一通讯协议对接收到的所述下一个串口数据进行解析,生成所述下一个串口数据的回复帧,将所述下一个串口数据的回复帧通过串口发送出去。可选的,所述基于识别到的串口中断请求,读取接收到的串口数据包括:每读取所述串口数据的一个字节,第一串口通讯缓存指针加1,并将所述串口数据的一个字节所对应的数据存储到所述串口通讯缓存中;在读取到完整的所述串口数据后,生成第二串口通讯缓存指针。可选的,所述基于串口数据处理指针判断串口通讯上是否有数据更新包括:主程序判断所述串口数据处理指针与所述第二串口通讯缓存指针是否一致;在判断所述串口数据处理指针与所述第二串口通讯缓存指针不一致时,主程序读取所述串口数据。可选的,在主程序判断所述串口数据处理指针与所述第二串口通讯缓存指针是否一致之后,还包括:在判断所述串口数据处理指针与所述第二串口通讯缓存指针一致时,主程序返回判断所述串口数据处理指针与所述第二串口通讯缓存指针是否一致。可选的,所述将所述串口数据与表计支持的所有通讯协议进行匹配,获取所述串口数据所属的第一通信协议包括:判断所述串口数据与表计支持的所有通讯协议的帧头是否一致;在判断所述串口数据与表计支持的所有通讯协议的帧头一致后,获取第一串口数据,所述第一串口数据为所述串口数据匹配帧头后剩下的数据;将所述第一串口数据与表计支持的所有通讯协议的帧格式进行匹配,获取所述串口数据所属的第一通讯协议。可选的,在判断所述串口数据与表计支持的所有通讯协议的帧头是否一致之后,还包括:在判断所述串口数据与表计支持的所有通讯协议的帧头不一致后,主程序丢弃所述串口数据的当前一个字节的数据,返回判断所述串口数据的下一个字节的数据与表计支持的所有通讯协议的帧头是否一致。本专利技术还提供了一种IR46智能电表的多通讯协议的处理装置,所述装置包括:读取模块,用于基于识别到的串口中断请求,读取接收到的串口数据;判断模块,用于基于串口数据处理指针判断串口通讯上是否有数据更新,若判断所述串口通讯上有数据更新时,主程序读取所述串口数据;匹配模块,用于将所述串口数据与表计支持的所有通讯协议进行匹配,获取所述串口数据所属的第一通讯协议;处理模块,用于根据所述第一通讯协议对所述串口数据进行解析,生成所述串口数据的回复帧,并将所述串口数据的回复帧通过串口发送出去;交互模块,用于等待接收下一个串口数据,根据所述第一通讯协议对接收到的所述下一个串口数据进行解析,生成所述下一个串口数据的回复帧,将所述下一个串口数据的回复帧通过串口发送出去。可选的,所述读取模块用于每读取所述串口数据的一个字节,对第一串口通讯缓存指针加1,并将所述串口数据的一个字节所对应的数据存储到所述串口通讯缓存中;在读取到完整的所述串口数据后,生成第二串口通讯缓存指针。可选的,所述判断模块用于判断所述串口数据处理指针与所述第二串口通讯缓存指针是否一致;在判断所述串口数据处理指针与所述第二串口通讯缓存指针不一致时,主程序读取所述串口数据。可选的,所述匹配模块用于判断所述串口数据与表计支持的所有通讯协议的帧头是否一致;在判断所述串口数据与表计支持的所有通讯协议的帧头一致后,获取第一串口数据,所述第一串口数据为所述串口数据匹配帧头后剩下的数据;将所述第一串口数据与表计支持的所有通讯协议的帧格式进行匹配,获取所述串口数据所属的第一通讯协议。在专利技术实施例中,当多个通讯模块和系统主站与IR46智能电能表进行串口通讯时,IR46智能电能表启动串口中断服务程序对串口数据进行完整读取与存储,主程序上电后对读取到的串口数据进行通讯协议的匹配判断。基于IR46智能电能表支持多通道通讯,针对串口中断服务程序的流程设计上,对串口数据仅进行读取而不作任何判断,降低了串口数据处理的复杂度,且在波特率较高的情况下避免出现串口数据丢失的情况,再利用IR46智能电能表中的通讯协议识别模块可判断多个通讯模块和系统主站所使用的通讯协议的不同,启动主程序为串口数据匹配到正确的通讯协议,保证通讯的可靠性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1是本专利技术实施例中公开的一种IR46智能电表的多通讯协议的处理方法流程示意图。图2是本专利技术实施例中本文档来自技高网...

【技术保护点】
1.一种IR46智能电表的多通讯协议的处理方法,其特征在于,所述方法包括:/n启动串口中断服务程序,基于识别到的串口中断请求,读取接收到的串口数据;/n启动主程序,基于串口数据处理指针判断串口通讯上是否有数据更新,若判断所述串口通讯上有数据更新时,主程序读取所述串口数据;/n将所述串口数据与表计支持的所有通讯协议进行匹配,获取所述串口数据所属的第一通信协议;/n根据所述第一通讯协议对所述串口数据进行解析,生成所述串口数据的回复帧,将所述串口数据的回复帧通过串口发送出去;/n等待接收下一个串口数据,根据所述第一通讯协议对接收到的所述下一个串口数据进行解析,生成所述下一个串口数据的回复帧,将所述下一个串口数据的回复帧通过串口发送出去。/n

【技术特征摘要】
1.一种IR46智能电表的多通讯协议的处理方法,其特征在于,所述方法包括:
启动串口中断服务程序,基于识别到的串口中断请求,读取接收到的串口数据;
启动主程序,基于串口数据处理指针判断串口通讯上是否有数据更新,若判断所述串口通讯上有数据更新时,主程序读取所述串口数据;
将所述串口数据与表计支持的所有通讯协议进行匹配,获取所述串口数据所属的第一通信协议;
根据所述第一通讯协议对所述串口数据进行解析,生成所述串口数据的回复帧,将所述串口数据的回复帧通过串口发送出去;
等待接收下一个串口数据,根据所述第一通讯协议对接收到的所述下一个串口数据进行解析,生成所述下一个串口数据的回复帧,将所述下一个串口数据的回复帧通过串口发送出去。


2.根据权利要求1所述的IR46智能电表的多通讯协议的处理方法,其特征在于,所述基于识别到的串口中断请求,读取接收到的串口数据包括:
每读取所述串口数据的一个字节,第一串口通讯缓存指针加1,并将所述串口数据的一个字节所对应的数据存储到所述串口通讯缓存中;
在读取到完整的所述串口数据后,生成第二串口通讯缓存指针。


3.根据权利要求2所述的IR46智能电表的多通讯协议的处理方法,其特征在于,所述基于串口数据处理指针判断串口通讯上是否有数据更新包括:
主程序判断所述串口数据处理指针与所述第二串口通讯缓存指针是否一致;
在判断所述串口数据处理指针与所述第二串口通讯缓存指针不一致时,主程序读取所述串口数据。


4.根据权利要求3所述的IR46智能电表的多通讯协议的处理方法,其特征在于,在主程序判断所述串口数据处理指针与所述第二串口通讯缓存指针是否一致之后,还包括:
在判断所述串口数据处理指针与所述第二串口通讯缓存指针一致时,主程序返回判断所述串口数据处理指针与所述第二串口通讯缓存指针是否一致。


5.根据权利要求1所述的IR46智能电表的多通讯协议的处理方法,其特征在于,所述将所述串口数据与表计支持的所有通讯协议进行匹配,获取所述串口数据所属的第一通信协议包括:
判断所述串口数据与表计支持的所有通讯协议的帧头是否一致;
在判断所述串口数据与表计支持的所有通讯协议的帧头一致后,获取第一串口数据,所述第一串口数据为所述串口数据匹配帧头后剩下的数据;
将所述第一串口数据与表计支持的所有通讯协议的帧格式进行匹配,获取所...

【专利技术属性】
技术研发人员:杨舟李刚陈珏羽周政雷陈俊韦杏秋唐利涛李捷何涌张智勇
申请(专利权)人:广西电网有限责任公司
类型:发明
国别省市:广西;45

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

1