Modbus通信协议解析方法、装置、设备及存储介质制造方法及图纸

技术编号:37143827 阅读:15 留言:0更新日期:2023-04-06 21:53
本发明专利技术公开一种Modbus通信协议解析方法、装置、设备及存储介质,方法包括:基于目录树中若干命令帧格式数据目录及数据帧格式数据目中的文件,获取若干命令帧格式数据和数据帧格式数据并进行存储;基于存储的若干命令帧格式数据及目标从设备的地址信息,构建Modbus命令并发送至目标从设备;当接收到反馈的Modbus数据帧时,基于各Modbus命令与各Modbus数据帧格式的对应关系,从存储的若干数据帧格式数据中获取对应的目标数据帧格式数据并进行数据帧解析,获得若干解析数据。本发明专利技术在无需修改源代码的基础上明确命令帧格式和数据帧格式,显著减少了数据配置所需耗费的时间,适用于通信设备数量庞大的物联网通信场景。设备数量庞大的物联网通信场景。设备数量庞大的物联网通信场景。

【技术实现步骤摘要】
Modbus通信协议解析方法、装置、设备及存储介质


[0001]本专利技术涉及通信
,尤其是涉及一种Modbus通信协议解析方法、装置、设备及存储介质。

技术介绍

[0002]物联网是一个由多个设备组成的复杂网络体系,而Modbus通信协议被广泛应用于物联网作为各个设备的通信协议。Modbus通信协议规定了命令帧与回复的数据帧的格式,但由于不同设备所需要访问的寄存器地址、数据个数和数据类型不相同,因此即使通信双方均采用Modbus通信协议,主设备的命令帧构成以及不同从设备回复的数据帧的解析方法也存在差异。
[0003]为了应对在采用Modbus通信协议进行通信的过程中,主设备的命令帧构成以及不同从设备回复的数据帧的解析方法均存在差异这一情况,现有技术针对通信双方的数据特征,通过修改源代码生成一个专用的Modbus命令帧构造及数据帧解析程序,但当物联网中通信设备的数量较庞大时,该方法需要耗费大量的时间以生成专用的Modbus命令帧构造及数据帧解析程序,因此现有技术难以适用于通信设备数量庞大的物联网通信场景。

技术实现思路

[0004]本专利技术提供一种Modbus通信协议解析方法、装置、设备及存储介质,通过利用目录树及目录树中各目录下的文件进行Modbus通信协议的数据配置,实现在无需修改源代码的基础上明确命令帧格式和数据帧格式,显著减少了数据配置所需耗费的时间,通过目录树中的若干命令帧格式数据和若干数据帧格式数据即能够实现Modbus命令的构建和不同从设备反馈的Modbus数据帧的解析,适用于通信设备数量庞大的物联网通信场景。
[0005]为了解决上述技术问题,本专利技术实施例第一方面提供一种Modbus通信协议解析方法,包括如下步骤:
[0006]基于预设的目录树中若干命令帧格式数据目录中的文件及若干数据帧格式数据目录中的文件,获取若干命令帧格式数据和若干数据帧格式数据,并对所述若干命令帧格式数据和所述若干数据帧格式数据进行存储;
[0007]基于存储的所述若干命令帧格式数据及目标从设备的地址信息,构建Modbus命令并发送至所述目标从设备;
[0008]当接收到所述目标从设备反馈的Modbus数据帧时,基于预设的各Modbus命令与各Modbus数据帧格式的对应关系,从存储的所述若干数据帧格式数据中获取Modbus数据帧格式对应于所述Modbus命令的目标数据帧格式数据;
[0009]根据所述目标数据帧格式数据对所述Modbus数据帧进行解析,获得若干解析数据。
[0010]作为优选方案,所述基于预设的目录树中若干命令帧格式数据目录中的文件及若干数据帧格式数据目录中的文件,获取若干命令帧格式数据和若干数据帧格式数据,具体
包括如下步骤:
[0011]基于预设的若干命令帧格式数据目录名称和数据帧格式数据目录名称,利用scandir函数按照预设遍历顺序对若干命令帧格式数据目录中的文件及若干数据帧格式数据目录中的文件进行遍历,获得若干命令帧格式数据和若干数据帧格式数据;
[0012]其中,所述命令帧格式数据至少包括从设备地址、功能码、从设备寄存器基址和寄存器个数;所述数据帧格式数据至少包括数据帧字节序、有效载荷格式、有效载荷长度和数据帧长度。
[0013]作为优选方案,所述对所述若干命令帧格式数据和所述若干数据帧格式数据进行存储,具体包括如下步骤:
[0014]根据所述目录树中的若干命令帧格式数据目录确定若干命令帧格式数据所对应的成员类型,根据所述若干命令帧格式数据所对应的成员类型构建命令帧格式数据结构体;
[0015]根据所述目录树中的若干数据帧格式数据目录确定若干数据帧格式数据所对应的成员类型,根据所述若干数据帧格式数据所对应的成员类型构建数据帧格式数据结构体;
[0016]根据所述命令帧格式数据结构体和所述数据帧格式数据结构体,构建数据结构体;
[0017]其中,所述若干命令帧格式数据按照所述命令帧格式数据结构体中的若干成员类型存储于所述命令帧格式数据结构体;
[0018]所述若干数据帧格式数据按照所述数据帧格式数据结构体中的若干成员类型存储于所述数据帧格式数据结构体。
[0019]作为优选方案,所述根据所述目标数据帧格式数据对所述Modbus数据帧进行解析,获得若干解析数据,具体包括如下步骤:
[0020]对所述Modbus数据帧进行CRC校验,获得校验结果;
[0021]当所述校验结果满足预设校验要求时,对所述Modbus数据帧进行分割,获得所述目标从设备的从设备地址、功能码、有效载荷长度和有效载荷;
[0022]根据所述目标数据帧格式数据所包括的有效载荷格式,对所述目标从设备的有效载荷进行数据分割,获得若干有效载荷分割数据;
[0023]其中,所述解析数据包括所述目标从设备的从设备地址、功能码、有效载荷长度和所述若干有效载荷分割数据。
[0024]本专利技术实施例第二方面提供一种Modbus通信协议解析装置,包括:
[0025]格式数据获取模块,用于:
[0026]基于预设的目录树中若干命令帧格式数据目录中的文件及若干数据帧格式数据目录中的文件,获取若干命令帧格式数据和若干数据帧格式数据,并对所述若干命令帧格式数据和所述若干数据帧格式数据进行存储;
[0027]Modbus命令发送模块,用于:
[0028]基于存储的所述若干命令帧格式数据及目标从设备的地址信息,构建Modbus命令并发送至所述目标从设备;
[0029]Modbus数据帧解析模块,用于:
[0030]当接收到所述目标从设备反馈的Modbus数据帧时,基于预设的各Modbus命令与各Modbus数据帧格式的对应关系,从存储的所述若干数据帧格式数据中获取Modbus数据帧格式对应于所述Modbus命令的目标数据帧格式数据;
[0031]根据所述目标数据帧格式数据对所述Modbus数据帧进行解析,获得若干解析数据。
[0032]作为优选方案,所述格式数据获取模块用于基于预设的目录树中若干命令帧格式数据目录中的文件及若干数据帧格式数据目录中的文件,获取若干命令帧格式数据和若干数据帧格式数据,具体包括:
[0033]基于预设的若干命令帧格式数据目录名称和数据帧格式数据目录名称,利用scandir函数按照预设遍历顺序对若干命令帧格式数据目录中的文件及若干数据帧格式数据目录中的文件进行遍历,获得若干命令帧格式数据和若干数据帧格式数据;
[0034]其中,所述命令帧格式数据至少包括从设备地址、功能码、从设备寄存器基址和寄存器个数;所述数据帧格式数据至少包括数据帧字节序、有效载荷格式、有效载荷长度和数据帧长度。
[0035]作为优选方案,所述数据获取模块用于对所述若干命令帧格式数据和所述若干数据帧格式数据进行存储,具体包括:
[0036]根据所述目录树中的若干命令帧格式数据目录确定若干命令帧格式数据所对应的成员类型,根本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Modbus通信协议解析方法,其特征在于,包括如下步骤:基于预设的目录树中若干命令帧格式数据目录中的文件及若干数据帧格式数据目录中的文件,获取若干命令帧格式数据和若干数据帧格式数据,并对所述若干命令帧格式数据和所述若干数据帧格式数据进行存储;基于存储的所述若干命令帧格式数据及目标从设备的地址信息,构建Modbus命令并发送至所述目标从设备;当接收到所述目标从设备反馈的Modbus数据帧时,基于预设的各Modbus命令与各Modbus数据帧格式的对应关系,从存储的所述若干数据帧格式数据中获取Modbus数据帧格式对应于所述Modbus命令的目标数据帧格式数据;根据所述目标数据帧格式数据对所述Modbus数据帧进行解析,获得若干解析数据。2.如权利要求1所述的Modbus通信协议解析方法,其特征在于,所述基于预设的目录树中若干命令帧格式数据目录中的文件及若干数据帧格式数据目录中的文件,获取若干命令帧格式数据和若干数据帧格式数据,具体包括如下步骤:基于预设的若干命令帧格式数据目录名称和数据帧格式数据目录名称,利用scandir函数按照预设遍历顺序对若干命令帧格式数据目录中的文件及若干数据帧格式数据目录中的文件进行遍历,获得若干命令帧格式数据和若干数据帧格式数据;其中,所述命令帧格式数据至少包括从设备地址、功能码、从设备寄存器基址和寄存器个数;所述数据帧格式数据至少包括数据帧字节序、有效载荷格式、有效载荷长度和数据帧长度。3.如权利要求2所述的Modbus通信协议解析方法,其特征在于,所述对所述若干命令帧格式数据和所述若干数据帧格式数据进行存储,具体包括如下步骤:根据所述目录树中的若干命令帧格式数据目录确定若干命令帧格式数据所对应的成员类型,根据所述若干命令帧格式数据所对应的成员类型构建命令帧格式数据结构体;根据所述目录树中的若干数据帧格式数据目录确定若干数据帧格式数据所对应的成员类型,根据所述若干数据帧格式数据所对应的成员类型构建数据帧格式数据结构体;根据所述命令帧格式数据结构体和所述数据帧格式数据结构体,构建数据结构体;其中,所述若干命令帧格式数据按照所述命令帧格式数据结构体中的若干成员类型存储于所述命令帧格式数据结构体;所述若干数据帧格式数据按照所述数据帧格式数据结构体中的若干成员类型存储于所述数据帧格式数据结构体。4.如权利要求2所述的Modbus通信协议解析方法,其特征在于,所述根据所述目标数据帧格式数据对所述Modbus数据帧进行解析,获得若干解析数据,具体包括如下步骤:对所述Modbus数据帧进行CRC校验,获得校验结果;当所述校验结果满足预设校验要求时,对所述Modbus数据帧进行分割,获得所述目标从设备的从设备地址、功能码、有效载荷长度和有效载荷;根据所述目标数据帧格式数据所包括的有效载荷格式,对所述目标从设备的有效载荷进行数据分割,获得若干有效载荷分割数据;其中,所述解析数据包括所述目标从设备的从设备地址、功能码、有效载荷长度和所述若干有效载荷分割数据。
5.一种Modbus通信协议解析装置,其特征在于,包括:格式数据获取模块,用于:基于预设的目录树中若干命令帧格式数据目录中的文件及若干数据帧格式数据目录中的文件,获取若干命令帧格式数据和若干数据帧格式数据,并对所述若干命令帧格式数据和所述若干数据帧格式数据进行存储;Mod...

【专利技术属性】
技术研发人员:黄日李日彪梁辉
申请(专利权)人:中电科普天科技股份有限公司
类型:发明
国别省市:

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

1