找回密码
 立即注册
搜索
查看: 878|回复: 0

Modbus 通信协议

[复制链接]

267

主题

0

回帖

1154

积分

管理员

积分
1154
发表于 2023-12-31 00:02:53 | 显示全部楼层 |阅读模式

Modbus 是一个请求/应答协议,是由 Modicon(现为施耐德电气公司的一个品牌)在 1979 年发明的,是全球第一个真正用于工业现场的总线协议。

Modbus 采用主站询问或命令的方式通信,从站不能主动上报。只能通过增大主站轮询频率的办法增强实时性。

Modbus 的传送有 3 种模式:Modbus ASCII、Modbus RTU、Modbus TCP。

Modbus ASCII

用 Hex 字符表示值,例如要传送一个字节值 0x2A 则发送两个字节字符 "2A"。

帧格式:

Modbus RTU

帧格式:

CRC 校验是 16 位的,低字节在前。

不同类型帧的数据域定义是不同的,几种情况:

  1. 读寄存器时主机的数据域:

寄存器地址、寄存器个数等数值按高字节在前方式传输。

  1. 读寄存器时从机正确应答的数据域:

寄存器是 16 位的,所以 数据字节数 = 寄存器个数 * 2

  1. 从机异常应答的数据域:

异常应答的功能码的最高位为1。

Modbus TCP

由于 TCP 是可靠传输,所以相比 RTU 格式没有 CRC 校验域。

帧格式:

传输标志:请求和响应传输过程中序列号
协议标志:默认为 0
长度:值为长度域后所有内容的字节数,同样地也是大端模式传输
单元标志:串行链路或其它总线上连接的远程从站识别码,通常是 0

Modbus RTU 与 Modbus TCP 的区别


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|棱讯科技 ( 粤ICP备2024228160号-2|粤公网安备44030002003510号 )

GMT+8, 2024-11-21 17:11 , Processed in 0.018061 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表