一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多协议的自适应解析方法、物联网计量装置、设备和介质与流程

2022-11-14 14:45:02 来源:中国专利 TAG:

技术特征:
1.一种多协议的自适应解析方法,其特征在于,应用于物联网计量装置,所述物联网计量装置支持多种通信协议,包括步骤:基于先进先出的方式从接收缓冲区或接收消息队列处取出一当前数据包;将取出的所述当前数据包与所述多种通信协议进行遍历匹配,获得所述当前数据包所满足的通信协议类型,根据所述通信协议类型生成对应的答复数据包;将所述答复数据包传递至所述通信协议类型对应的发送缓冲区,以通过与所述发送缓冲区对应的通讯接口发送所述答复数据包;继续取出下一数据包重新进行解析,直至所有数据包完成解析为止。2.根据权利要求1所述的多协议的自适应解析方法,其特征在于,所述基于先进先出的方式从接收缓冲区或接收消息队列处取出一当前数据包之前包括步骤:若用于接收数据的通讯接口为串口类型,提取所述通讯接口从所述发送端接收到的数据包,并将所述数据包存储至所述接收缓冲区。3.根据权利要求1所述的多协议的自适应解析方法,其特征在于,所述基于先进先出的方式从接收缓冲区或接收消息队列处取出一当前数据包之前包括步骤:若用于接收数据的通讯接口为非串口类型,提取所述通讯接口从所述发送端接收到的数据包,并将所述数据包存储至所述接收缓冲区后,再将所述数据包按照先进先出方式从所述接收缓冲区取出并放入接收消息队列。4.根据权利要求1所述的多协议的自适应解析方法,其特征在于,所述物联网计量装置包括所述多种通信协议各自对应的解析模块;所述将取出的所述当前数据包与所述多种通信协议进行遍历匹配,获得所述当前数据包所满足的通信协议类型,根据所述通信协议类型生成对应的答复数据包包括步骤;设定初始剩余长度等于所述当前数据包的长度信息,并设定初始本次总消费长度等于第一设定值;所述第一设定值为0;判断所述初始本次总消费长度与第二设定值的第一和值是否大于所述初始剩余长度;所述第二设定值为6;若所述第一和值大于所述初始剩余长度时,退出对所述当前数据包的自适应解析并切换解析下一数据包;若所述第一和值不大于所述初始剩余长度时,根据协议重要程度顺序调用当前解析模块判断所述当前数据包是否符合当前通信协议类型对应的答复条件;若所述当前数据包符合所述当前通信协议类型对应的答复条件时,生成所述当前数据包对应的答复数据包,并将最新总消费长度更新为前一总消费长度和本次总消费长度的和值;若所述当前数据包不符合所述当前通信协议类型对应的答复条件时,根据所述协议重要程度顺序切换调用下一解析模块继续进行判断,直至确定所述当前数据包对应的协议类型,或所有解析模块完成一轮解析未得到协议类型为止。5.根据权利要求4所述的多协议的自适应解析方法,其特征在于,所述当前解析模块为modbusrtu解析模块,modbusrtu命令帧类型包括03h、04h、06h和10h,所述根据协议重要程度顺序调用当前解析模块判断所述当前数据包是否符合当前通信协议类型对应的答复条件包括步骤:
根据modbus协议对应的第一条件集中多个第一判断条件的先后顺序依次进行验证;所述第一条件集中的第一判断条件的先后顺序依次为:地址码正确、功能代码符合modbusrtu命令帧类型、modbusrtu命令帧长度不小于对应的数量阈值、crc校验值正确、所述modbusrtu命令帧对应的读写地址和长度正确;若任一个第一判断条件不满足,确定所述当前数据包不符合所述modbus协议,并切换调用dl645解析模块继续对所述当前数据包进行通信协议类型判断;若所有第一判断条件均满足,确定所述当前数据包符合所述modbus协议对应的答复条件,并生成所述当前数据包对应的modbus协议答复数据包;所述将最新总消费长度更新为前一总消费长度和本次总消费长度的和值包括步骤:若所述modbusrtu命令帧类型属于03h、04h和06h中的任意一种时,确定本次总消费长度为第一数值,将所述本次总消费长度与前一总消费长度相加更新得到所述最新总消费长度;所述第一数值为8;若所述modbusrtu命令帧类型属于10h或16h,确定本次总消费长度为寄存器数量的两倍值与第二数值的和值,将所述本次总消费长度与前一总消费长度相加更新得到所述最新总消费长度;所述第二数值为9。6.根据权利要求5所述的多协议的自适应解析方法,其特征在于,所述当前解析模块为dl645解析模块,所述根据协议重要程度顺序调用当前解析模块判断所述当前数据包是否符合当前通信协议类型对应的答复条件包括步骤:根据dl645协议对应的第二条件集中多个第二判断条件的先后顺序依次进行验证;所述第二条件集中的判断条件的先后顺序依次为:缓冲区中找到开始字符68h、第一目标字节数据符合所述dl645协议对应的地址要求、第二目标字节数据为68h、第一数据区域长度正确、结束字符为16h;若任一个第二判断条件不满足,确定所述当前数据包不符合所述dl645协议,并切换调用dl698解析模块继续对所述当前数据包进行通信协议类型判断;若所有第二判断条件均满足,确定所述当前数据包符合所述dl645协议对应的答复条件,并生成所述当前数据包对应的dl645协议答复数据包;所述将最新总消费长度更新为前一总消费长度和本次总消费长度的和值包括步骤:根据所述开始字符68h对应的起始位置、第一数据区域长度和第三数值,进行和值计算得到本次消费总长度;所述第三数值为12;将本次消费总长度与所述dl698解析模块存储的前一总消费长度进行相加更新得到最新总消费长度;其中,所述第一目标字节数据包括从所述起始位置开始从前往后查找到的相邻的连续6个字符,所述第二目标字节数据包括从所述起始位置开始从前往后查找到的第7个字符,所述第一数据区域长度为所述开始字符68h和所述第二目标字节数据之间的位数,非广播形式下所述本次消费总长度的字节数等于开始字符68h对应的起始位置、第二数据区域长度和第四数值的和值,广播形式下所述本次消费总长度的字节数等于开始字符68h对应的起始位置、第二数据区域长度和第五数值的和值;所述第四数值为16,所述第五数值为11。7.根据权利要求6所述的多协议的自适应解析方法,其特征在于,所述当前解析模块为dl698解析模块,所述根据协议重要程度顺序调用当前解析模块判断所述当前数据包是否
符合当前通信协议类型对应的答复条件包括步骤:根据dl698协议对应的第三条件集中多个第三判断条件的先后顺序依次进行验证;所述第三条件集中的判断条件的先后顺序依次为:缓冲区中找到开始字符68h、第三目标字节数据符合所述dl698协议对应的地址要求、帧头crc计算值与第一crc存储值相同、整帧crc计算值与第二crc存储值相同、结束字符为16h、本次消耗的字节数未超过剩余字节数;若任一个第三判断条件不满足,确定所述当前数据包不符合所述dl698协议,结束对所述当前数据包进行通信协议类型判断;若所有第三判断条件均满足,确定所述当前数据包符合所述dl698协议对应的答复条件,并生成所述当前数据包对应的dl698协议答复数据包;所述将最新总消费长度更新为前一总消费长度和本次总消费长度的和值包括步骤:根据所述开始字符68h对应的起始位置、第二数据区域长度和第三数值,进行和值计算得到本次消费总长度;将本次消费总长度与所述dl645解析模块存储的前一总消费长度进行相加更新得到最新总消费长度;其中,所述第三目标字节数据包括从所述起始位置开始从前往后查找到的第6个字符,所述帧头crc计算值为根据所述当前数据包的帧头进行crc计算得到的数值,所述第二数据区域长度为所述开始字符68h和所述第二目标字节数据之间的位数,所述整帧crc计算值为根据所述第二数据区域长度进行crc计算得到的数值。8.一种物联网计量装置,其特征在于,所述物联网计量装置支持多种通信协议,包括:数据取出模块,用于基于先进先出的方式从接收缓冲区或接收消息队列处取出一当前数据包;匹配处理模块,用于将取出的所述当前数据包与所述多种通信协议进行遍历匹配,获得所述当前数据包所满足的通信协议类型,根据所述通信协议类型生成对应的答复数据包;数据传递模块,用于将所述答复数据包传递至所述通信协议类型对应的发送缓冲区,以通过所述发送缓冲区对应的通讯接口发送所述答复数据包;所述数据取出模块,还用于继续取出下一数据包重新进行解析,直至所有数据包完成解析为止。9.一种电子设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述存储器与所述处理器耦接,且所述处理器执行所述计算机程序时,实现如权利要求1至7任一项所述的多协议的自适应解析方法中的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在的设备执行如权利要求1至7任一项所述的多协议的自适应解析方法中的步骤。

技术总结
本发明实施例公开了一种多协议的自适应解析方法、物联网计量装置、设备和介质。方法应用于物联网计量装置,物联网计量装置支持多种通信协议,包括步骤:基于先进先出的方式从接收缓冲区或接收消息队列处取出一当前数据包;将取出的当前数据包与多种通信协议进行遍历匹配,获得当前数据包所满足的通信协议类型,根据通信协议类型生成对应的答复数据包;将答复数据包传递至通信协议类型对应的发送缓冲区,以通过发送缓冲区对应的通讯接口发送答复数据包;继续取出下一数据包重新进行解析,直至所有数据包完成解析为止。本发明在接收数据包的时候可以自动区分通信协议类型并匹配答复,减少中断时间提升通信效率。减少中断时间提升通信效率。减少中断时间提升通信效率。


技术研发人员:易成林 丁振 陈凡 洪雨婷
受保护的技术使用者:浙江正泰物联技术有限公司
技术研发日:2022.09.13
技术公布日:2022/11/11
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献