Modbus working mode

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

Modbus working mode缩略图

Work Mode

Modbus 基于主从模式工作。在一个网络中,Modbus 协议通过主设备(客户端)和从设备(服务器)之间的请求-应答机制来交换信息。

下图展示了典型的 Modbus 网络,其中一个 master 设备(client)控制一个或多个 slave 设备(server)。

Modbus working mode插图

在标准的 Modbus 网络中,有 1 个主设备和最多 31 个从设备。

通讯特点

主设备-从设备工作原理有如下特点:

  • 在同一时间只能有一个主设备连接到网络;
  • 只有主设备能够发起通讯并向从设备发送请求;
  • 主设备可以使用专门的地址分别访问每个从设备,也可以使用地址 0 同时访问所有从设备;
  • 从设备只能向主设备发送应答;
  • 从设备不能向主设备或其它从设备发起通讯。

通讯模式

Modbus 协议支持两种通讯模式交换信息:

  • 单播模式 —— 主设备通过专门的地址访问从设备,从设备处理请求,然后向主设备发送应答。
  • 广播模式 —— 主设备通过地址 0 访问所有从设备,在这种模式下,从设备不对广播消息作出应答。(因此,广播模式的请求指令必须是 Modbus 标准功能中的写指令)

应答时间

应答时间是指从设备对主设备发出的请求做出应答所需的时间。其中 Modbus 协议的数值:

  • 典型值 < 10 ms (90% 的信息交换)
  • 最大值大约是 700 ms,因此建议在发送完一个 Modbus 请求后暂停 1 秒钟再继续。

数据交换

Modbus 协议支持两种数据类型:

  • 单个位
  • 寄存器(16 位)

具体的位和寄存器定义由从设备决定。

地址

使用 Modbus 协议交换的消息包含要处理的数据的地址。每个寄存器都有一个寄存器编号,每类数据(位或寄存器)都有一个 16 位的地址。

在 Modbus 协议规定的 PDU 中,规定所有线圈或寄存器地址从 0 开始计算。因此,第 n 号寄存器的地址是 n-1。例如,第 12000 号寄存器的地址是 0x2EDF(11999)。

使用 Modbus 协议交换的所有帧(ADU)最大为 256 字节(ASCII 格式翻倍),其中包括 4 个域:

定义大小(RTU 格式)描述
1从设备号(地址)1 个字节请求的目的地址
- 0 :广播(涉及所有从设备)
- 1-247 :单播,从设备的唯一地址
2功能代码1 个字节参阅 Modbus 功能码
3数据0 到 252 个字节请求数据(或应答数据)
4校验和2 个字节CRC 校验和(ASCII 为 LRC)

下图展示了主设备-从设备工作模型中的帧交换过程。

Modbus working mode插图1

网络拓扑

Modbus RTU

Modbus RTU 通常基于 RS-485 串行通信链路,RS-485 总线布线规范规定其必须是总线式拓扑结构。在实际布线中,通常采用手牵手菊花链布线方式。例如,Slave 1/2/3 三台 RS-485 设备,Slave1 的 485+ 接入 Slave2 的 485+ 端口,Slave2 的 485+ 再连接到 Slave3 的 485+ 端口,以此类推,485- 的接线方式和 485+ 一样。

Modbus working mode插图2

Modbus TCP

相对于使用串行链路的 Modbus RTU,Modbus TCP 基于以太网通信,因此其网络拓扑结构更为灵活。从串行链路上一主多从的构造,演变为多客户端/多服务器端的构造模型。

使用 Modbus TCP,主站设备(客户端)可以通过 IP 地址找到 Modbus 从设备(服务器),并通过 Modbus 网关连接到另一个 Modbus RTU 网络。

Modbus working mode插图3
Related Tags
Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.