良许Linux教程网 干货合集 通信Modbus是如何工作的?

通信Modbus是如何工作的?

学电子需要掌握一些常见的通信协议,Modbus就属其中一种,Modbus在现实生活中应用非常广泛,很多工业电子设备的系统中基本都有它的存在。

image-20230724221614364
image-20230724221614364

今天针对初学描述关于一些Modbus常见的问题。

什么是Modbus?

Modbus 是由 Modicon 公司(现施耐德),于1979年针对 PLC 开发的一种通信协议,当时主要用于工业电子设备之间联网通信。

image-20230724221617140
image-20230724221617140

Modbus 是一种应用层通信息协议,位于 OSI(开放式系统互联通信)模型的第 7 层。它在不同类型的总线或网络上连接的设备之间提供客户端/服务器通信。

Modbus 是由一个 Master(主机) 和最多 247 个 Slave(从机)组成的通信网络。

更多关于Modbus的介绍,可以参看:

https://modbus.org/

Modbus干什么用?

Modbus 是一种开放的通信协议,你可以免费将其应用到你的设备中,而无需支付版税。

Modbus 是一种广泛使用的标准通信协议,你和其他厂家的设备,如果都遵循 Modbus 标准协议,就可以进行通信传输数据。

Modbus是如何工作的?

Modbus 通常底层基于 UART 串口485进行通信,最简单的一个主设备和一个从设备通信,就是通过串口Tx和Rx进行收发数据。

image-20230724221619804
image-20230724221619804

底层串口的通信,就是大家熟悉的“0”“1”通信,在这个基础上,添加 Modbus 通信协议,方便解析协议和多设备组网。

一主多从,在从设备中都有唯一的地址,通过解析从机地址,主机就能和对应的从机进行通信。

什么是Modbus ASCII?

Modbus ASCII是Modbus协议中的一种传输方式,对应的还有另外一种

Modbus RTU传输方式。

施耐德电气(Schneider Electric)收购了Modicon公司之后,有推出了Modbus TCP协议。

image-20230724221623403
image-20230724221623403

协议格式:

image-20230724221626456
image-20230724221626456

什么是从机地址?

从机地址(或从站ID),就是为每一个从设备分配的唯一地址,方便主机建立通信时进行识别,从机地址在出厂时就会设置好。

什么是功能码?

功能码是 Modbus 通信协议中的一项,主机发送的第二个字节就是功能码。就是你看到的读写线圈寄存器那些内容。

下面贴几个常见功能码:

image-20230724221629828
image-20230724221629828

什么是CRC?

正规的通信协议基本都有校验码,目的就是为了确保传输的数据没有错误。像校验和、CRC校验等是嵌入式设备通信协议常见的校验码。

Modbus使用CRC循环冗余校验,其校验信息位于消息末尾的两个字节。

这里推荐阅读文章《自定义串口通信协议》中文末校验相关的内容。

参考:

http://www.simplymodbus.ca/crc.xls

什么是字/字节排序?

字节排序就是先存储(传输)高字节,还是先传输低字节。比如:0x1234,它是两个字节,传输时通常是分0x12和0x34传输。

在通信中,会牵涉到一个字节排序的问题,但在Modbus 规范中并未准确定义数据在寄存器中的存储方式。

Modbus标准协议没有具体约定,就需要开发者在开发过程中人为约定先传输高字节,还是低字节。

最后

Modbus是一种应用非常广泛的标准通信协议,工业自动化、电子、嵌入式等这些专业的同学,建议都抽时间学习一下。

由于时间有限,本文只介绍了一些基础内容,更多介绍和协议具体内容,请到官网深入了解。

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部