DOCA0214ZH-04

Modbus 客户端-服务器原理

概述

Modbus 协议通过客户端与服务器之间的请求-应答机制来交换信息。客户端-服务器原理是一个用于通讯协议的模式,其中一个设备(客户端)控制一个或多个其它设备(服务器)。在标准的 Modbus 网络中,有 1 个客户端和最多 31 个服务器。

关于 Modbus 协议的详细说明可参见 www.modbus.org

客户端-服务器原理的特点

客户端-服务器原理有如下特点:

  • 一次只能将 1 个客户端连接到网络。

  • 只有客户端能够发起通讯并向服务器发送请求。

  • 客户端可以使用专门的地址分别访问每个服务器,也可以使用地址 0 同时访问所有服务器。

  • 服务器只能向客户端发送应答。

  • 服务器不能向客户端或其它服务器发起通讯。

客户端-服务器通讯模式

Modbus 协议可以通过 2 种通讯模式交换数据:

  • 单播模式

  • 广播模式

单播模式

在单播模式下,客户端使用服务器的特定地址对服务器进行寻址。服务器处理请求,然后向客户端发送应答。

1 请求

2 处理

3 应答

广播模式

客户端可以使用地址 0 访问所有服务器。这种交换称为广播。服务器不对广播消息作出应答。

应答时间

应答时间 Tr 是指服务器对客户端发出的请求做出应答所需的时间:

其中 Modbus 协议的值:

  • 典型值< 10 ms (90% 的信息交换)

  • 为了正常传输消息,Tr 最大值大约是 700 ms,因此建议在发送完一个 Modbus 请求后暂停 1 秒钟再继续。

数据交换

Modbus 协议使用的 2 种数据类型:

  • 单个位

  • 寄存器(16 位)

每个寄存器都有一个寄存器编号。每类数据(位或寄存器)都有一个 16 位的地址。

使用 Modbus 协议交换的消息包含要处理的数据的地址。

寄存器和地址

第 n 号寄存器的地址是 n-1。本文档后面章节中的寄存器表同时给出了寄存器号(十进制格式)和相应的地址(十六进制格式)。比如,第 12000 号寄存器的地址是 0x2EDF(11999)。

使用 Modbus RTU 协议交换的所有帧最大为 256 字节,其中包括 4 个字段:

字段

定义

大小

描述

1

服务器编号

1 个字节

请求的目的地址

  • 0:广播(涉及到所有服务器)

  • 1–247:唯一的目的地址

2

功能代码

仅 1 个字节

请参阅 Modbus 功能

3

数据

n 个寄存器

请求或应答数据

4

检查

2 字节

CRC16(检查传输错误)

默认设置

Modbus 通讯的缺省设置如下。

项目

设置

波特率

19200 bps

数据

8 位

奇偶校验

停止

2 位

地址

1

QR Code is a registered trademark of DENSO WAVE INCORPORATED in Japan and other countries.

这有帮助吗?