一种基于MODBUS通信协议的通信方法及系统技术方案

技术编号:38199815 阅读:8 留言:0更新日期:2023-07-21 16:41
本发明专利技术公开了一种基于MODBUS通信协议的通信方法及系统,包括以下步骤:S1:根据实际需求,定义待读写数据内容,并以寄存器地址的格式进行编号;S2:根据实际需求,选择对应的加密算法,及密钥号数量;S3:加密封包:采用加密机或密钥生产算法,生成对应的密钥,将对应的密钥存储至产品中,并使用对应的密钥将待读写数据内容进行加密,生成加密数据内容;S4:对加密数据内容进行通信;S5:解密拆包:使用所述产品中存储的密钥将加密数据内容进行解密,还原所述待读写数据内容;数据内容支持加密读写,通信安全性高;基于MODBUS协议修改,协议格式简单,通用性好,对于开发应用人员工作量低。对于开发应用人员工作量低。对于开发应用人员工作量低。

【技术实现步骤摘要】
一种基于MODBUS通信协议的通信方法及系统


[0001]本专利技术属于通信
,特别涉及一种基于MODBUS通信协议的通信方法及系统。

技术介绍

[0002]在智能产品设计中,模块与模块之间,或者产品与产品之间,需要用数据通信,如果频繁的设计各种私有协议,不仅带来很大的工作量,并且对于其他客户接入也带来很大的不便。
[0003]在实际应用中,MODBUS通信协议是其中应用最广泛的协议,该协议易于部署和维护,对使用者来说,修改移动本地的比特或字节没有很多限制,并且MODBUS允许多个 (大约240个) 设备连接在同一个网络上进行通信。但是MODBUS通信协议也有缺点,就是数据域读写透明,对于通信数据敏感、读写数据需要加密的场景不适合。

技术实现思路

[0004]专利技术目的:为了克服以上不足,本专利技术的目的是提供一种基于MODBUS通信协议的通信方法及系统,其设计合理,基于MODBUS通信协议,设计一种支持加密的通信协议,数据域支持加密读写,提高了通信的安全性;协议格式简单,提高了协议的通用性。
[0005]技术方案:一种基于MODBUS通信协议的通信方法及系统,包括以下步骤:S1:根据实际需求,定义待读写数据内容,并以寄存器地址的格式进行编号;S2:根据实际需求,选择对应的加密算法,及密钥号数量;S3:加密封包:采用加密机或密钥生产算法,生成对应的密钥,将对应的密钥存储至产品中,并使用对应的密钥将待读写数据内容进行加密,生成加密数据内容;S4:对加密数据内容进行通信;S5:解密拆包:使用所述产品中存储的密钥将加密数据内容进行解密,还原所述待读写数据内容;数据内容支持加密读写,通信安全性高;基于MODBUS协议修改,协议格式简单,通用性好,减少开发应用人员工作量。
[0006]优选的,S2还包括:所述加密算法采用对称加密算法,所述对称加密算法为AES128加密算法或SM4加密算法。
[0007]优选的,S2还包括:密钥号采用随机算法,所述密钥号随机选取。
[0008]优选的,S2还包括:所述密钥号的数量最多为128个。
[0009]优选的,S3还包括:采用对称加密算法生成对称密钥,使用所述对称密钥将待读写数据内容进行加密。
[0010]优选的,S3还包括:当写入字节数量不是16的倍数时,对待读写数据内容进行数据补位至16字节的倍数,再进行加密。
[0011]优选的,补位算法采用PKCS7Padding算法,当需要N字节补齐时,报文长度少于N个
字节,补(N

len)个(N

len);当报文长度是N字节的整数倍时,不再补位。
[0012]优选的,S3还包括:将待读写数据内容进行加密之前,先对所述待读写数据内容进行校验;能够防止数据内容被中途篡改;S5还包括:将加密数据内容进行解密之后,再对还原的待读写数据内容进行校验;以此确认数据内容没有被中途篡改。
[0013]优选的,采用随机生产算法,生成256种CRC校验参与内容,并将所述CRC校验参与内容存储至产品中,数据内容校验时根据CRC校验参与内容序号,选择CRC校验参与内容,进行CRC的校验,确保数据内容的安全性与完整性。
[0014]优选的,一种基于MODBUS通信协议的通信系统,应用于产品,包括:数据处理模块,被配置为根据实际需求,定义待读写数据内容,并以寄存器地址的格式进行编号,选择对应的加密算法,及密钥号数量;数据加密模块,被配置为采用加密机或密钥生产算法,生成对应的密钥,将对应的密钥存储至产品中,并使用对应的密钥将待读写数据内容进行加密,生成加密数据内容;数据通信模块,被配置为对加密数据内容进行通信;数据解密模块,被配置为使用所述产品中存储的密钥将加密数据内容进行解密,还原所述待读写数据内容。
[0015]上述技术方案可以看出,本专利技术具有如下有益效果:1、本专利技术提供的一种基于MODBUS通信协议的通信方法及系统,该通信方法支持加密读写数据内容,提高了通信的安全性。
[0016]2、基于MODBUS协议修改,协议格式简单,通用性好,对于开发应用人员工作量低,当需要用到通讯协议时,并且数据敏感,有加密需求时,产品开发人员可直接采用本协议格式,能够提高开发效率。
[0017]3、应用本协议格式的产品,能够使第三方应用人员在对接时,便于理解通信协议,减少了沟通成本,和防止通信协议理解产生歧义。
附图说明
[0018]图1为本专利技术所述的一种基于MODBUS通信协议的通信方法流程示意图;图2为本专利技术所述的加密封包之前的数据内容校验方法流程图;图3为本专利技术所述的解密拆包之后的数据内容校验方法流程图;图4为本专利技术所述的一种基于MODBUS通信协议的通信系统结构示意图。
具体实施方式
[0019]下面结合附图和具体实施例,进一步阐明本专利技术。
[0020]实施例一如图1所示,本专利技术提供一种基于MODBUS通信协议的通信方法,包括以下步骤:S1:根据实际需求,定义待读写数据内容,并以寄存器地址的格式进行编号。
[0021]具体的,在S1中,当需要开发一种新产品,需要用到通信协议时,且数据内容敏感,有加密需求时,可采用本协议格式。
[0022]S2:根据实际需求,选择对应的加密算法,及密钥号数量。
[0023]具体的,在S2中,所述加密算法采用对称加密算法,所述对称加密算法为ASE128加
密算法或SM4加密算法,密钥号采用随机算法,所述密钥号随机选取,所述密钥号的数量最多为128个。
[0024]S3:加密封包:采用加密机或密钥生产算法,生成对应的密钥,将对应的密钥存储至产品中,并使用对应的密钥将待读写数据内容进行加密,生成加密数据内容。
[0025]具体的,在S3中,采用对称加密算法生成对称密钥,使用所述对称密钥将待读写数据内容进行加密,当写入字节数量不是16的倍数时,对待读写数据内容进行数据补位至16字节的倍数,再进行加密,补位算法采用PKCS7Padding算法,当需要N字节补齐时,报文长度少于N个字节,补(N

len)个(N

len);当报文长度是N字节的整数倍时,不再补位。
[0026]如图2所示,S3还包括:将待读写数据内容进行加密之前,先对所述待读写数据内容进行校验,S301:采用随机生产算法,生成256种CRC校验参与内容,S302:将所述CRC校验参与内容存储至产品中,S303:数据内容校验时根据CRC校验参与内容序号,选择CRC校验参与内容,进行CRC的校验,S304:加密封包。
[0027]S4:对加密数据内容进行通信。
[0028]S5:解密拆包:使用所述产品中存储的密钥将加密数据内容进行解密,还原所述待读写数据内容。
[0029]具体的,如图3所示,S5还包括:将加密数据内容进行解密之后,再对还原的待读写数据内容进行校验。S501:解密拆包,S502:采用随机生产本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于MODBUS通信协议的通信方法,其特征在于:包括以下步骤:S1:根据实际需求,定义待读写数据内容,并以寄存器地址的格式进行编号;S2:根据实际需求,选择对应的加密算法,及密钥号数量;S3:加密封包:采用加密机或密钥生产算法,生成对应的密钥,将对应的密钥存储至产品中,并使用对应的密钥将待读写数据内容进行加密,生成加密数据内容;S4:对加密数据内容进行通信;S5:解密拆包:使用所述产品中存储的密钥将加密数据内容进行解密,还原所述待读写数据内容。2.根据权利要求1所述的基于MODBUS通信协议的通信方法,其特征在于:S2还包括:所述加密算法采用对称加密算法,所述对称加密算法为AES128加密算法或SM4加密算法。3.根据权利要求1所述的基于MODBUS通信协议的通信方法,其特征在于:S2还包括:密钥号采用随机算法,所述密钥号随机选取。4.根据权利要求1所述的基于MODBUS通信协议的通信方法,其特征在于:S2还包括:所述密钥号的数量最多为128个。5.根据权利要求1所述的基于MODBUS通信协议的通信方法,其特征在于:S3还包括:采用对称加密算法生成对称密钥,使用所述对称密钥将待读写数据内容进行加密。6.根据权利要求1所述的基于MODBUS通信协议的通信方法,其特征在于:S3还包括:当写入字节数量不是16的倍数时,对待读写数据内容进行数据补位至16字节的倍数,再进行加密。7.根据权利要求6所述的基于...

【专利技术属性】
技术研发人员:李龙
申请(专利权)人:祎智量芯江苏电子科技有限公司
类型:发明
国别省市:

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

1