- 公开发表并且无版权要求
- 易于部署和维护
- 对供应商来说,修改移动本地的比特或字节没有很多限制
简单的概括,就是免费+简单+方便修改!
归纳: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的数据帧包含一个地址、功能码、数据和校验。它支持读取和写入多个寄存器或线圈,以及读取和写入单个寄存器或线圈。
- 起始位(Start Bit):一个低电平位,用于标识帧的开始。
- 地址位(Address):一个8位的二进制数,用于标识从站(Slave)的地址,范围0-255,其中有效范围是1-247,其他有特殊用途,比如255是广播地址(广播地址就是应答所有地址,正常的需要两个设备的地址一样才能进行查询和回复)。主站(
Master
)通过发送带有从站地址的帧来与特定的从站通信。 - 功能码(Function Code):一个8位的二进制数,用于标识主站要执行的操作类型。功能码定义了Modbus协议支持的各种操作,如读取寄存器、写入寄存器、读取线圈等。
- 数据字段(Data Field):一个可变长度的字段,用于存储要传输的数据。数据字段的长度取决于功能码和操作类型。
- CRC校验(Cyclic Redundancy Check):一个16位的校验码,用于检测数据传输过程中是否发生了错误。CRC校验码由发送方计算,并附加在帧的末尾。接收方在接收到帧后计算CRC校验码,与接收到的校验码进行比较,以确认数据的完整性。
- 结束位(Stop Bit):一个高电平位,用于标识帧的结束。
整个Modbus RTU帧结构的长度是可变的,取决于数据字段的长度。通常情况下,一个完整的Modbus RTU帧的长度在8至256个字节之间。
在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年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!
需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.youkuaiyun.com/topics/618654289)
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!