1024程序员节来一篇Modbus吧,一起来深入了解Modbus的世界_modulebus(1)

  • 公开发表并且无版权要求
  • 易于部署和维护
  • 对供应商来说,修改移动本地的比特或字节没有很多限制

简单的概括,就是免费+简单+方便修改!

归纳:Modbus就是一种用在工业上的简单协议!


2. Modbus的三种变体

大致分为以下几种:

  • Modbus-RTU
  • Modbus-ASCII
  • Modbus-TCP

以上三种协议,一个设备只会有一种协议,如果你的设备使用的是Modbus-RTU,只需查看以下对应部分,一般来说大部分的设备都是Modbus-RTU协议的。

设备必须要有RTU协议!这是Modbus协议上规定的,且默认模式必须是RTU,ASCII作为选项。(也就是说,一般的设备只有RTU这个协议,ASCII一般很少)所以说,一般学习Modbus协议,只需要了解RTU的协议,ASCII作为学习的了解就足够了。

(1) Modbus RTU

Modbus RTU是Modbus协议的最常见变体之一。它使用二进制编码,并且数据被传输到串行通信线路上。Modbus RTU使用RS-485串行通信标准,这使得它非常适合用于长距离通信。

Modbus RTU的数据帧包含一个地址功能码数据校验。它支持读取和写入多个寄存器或线圈,以及读取和写入单个寄存器或线圈。

  1. 起始位(Start Bit):一个低电平位,用于标识帧的开始。
  2. 地址位(Address):一个8位的二进制数,用于标识从站(Slave)的地址,范围0-255,其中有效范围是1-247,其他有特殊用途,比如255是广播地址(广播地址就是应答所有地址,正常的需要两个设备的地址一样才能进行查询和回复)。主站(Master)通过发送带有从站地址的帧来与特定的从站通信。
  3. 功能码(Function Code):一个8位的二进制数,用于标识主站要执行的操作类型。功能码定义了Modbus协议支持的各种操作,如读取寄存器、写入寄存器、读取线圈等。
  4. 数据字段(Data Field):一个可变长度的字段,用于存储要传输的数据。数据字段的长度取决于功能码和操作类型。
  5. CRC校验(Cyclic Redundancy Check):一个16位的校验码,用于检测数据传输过程中是否发生了错误。CRC校验码由发送方计算,并附加在帧的末尾。接收方在接收到帧后计算CRC校验码,与接收到的校验码进行比较,以确认数据的完整性。
  6. 结束位(Stop Bit):一个高电平位,用于标识帧的结束。

整个Modbus RTU帧结构的长度是可变的,取决于数据字段的长度。通常情况下,一个完整的Modbus RTU帧的长度在8256个字节之间。

在Modbus RTU网络中,主站通过发送帧来与从站进行通信。从站接收到帧后,根据帧中的地址和功能码进行相应的操作,并将结果返回给主站。通过这种帧结构,Modbus RTU实现了高效、可靠的数据传输。

Modbus RTU的优点是速度快、可靠性高、传输距离远。缺点是需要专门的硬件支持,且对于不同的设备,需要使用不同的寄存器地址。

(2) Modbus ASCII

Modbus ASCII是Modbus协议的另一种变体。它使用ASCII编码,并且数据被传输到串行通信线路上。Modbus ASCII也使用RS-485串行通信标准。

Modbus ASCII的数据帧包含一个地址功能码数据校验。与Modbus RTU不同的是,Modbus ASCII使用可见字符来表示二进制数据。

Modbus ASCII的优点是易于调试和理解,缺点是速度慢、可靠性低、传输距离短。

(3) Modbus TCP/IP

Modbus TCP/IP是Modbus协议的第三种变体。它使用TCP/IP协议进行通信,因此可以通过以太网进行通信。

Modbus TCP/IP的数据帧包含一个TCP头Modbus头数据校验和。它支持读取和写入多个寄存器或线圈,以及读取和写入单个寄存器或线圈。

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!

需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.youkuaiyun.com/topics/618654289)

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值