工作モード
Modbus 基于主モデルから。工作。在一个网络中,Modbus protocol経由主デバイス(クライアント側は)和从デバイス(Server)之间的リクエスト-应答机制来交換信息。
下图表示了典型的 Modbus 网络,其中一个 master device(client)控制一个或多个 slave device(server)。

在標準的 Modbus 网络中,有 1 个主デバイス和最多 31 个从デバイス。
通讯特点
主デバイス-从デバイス工作原理有如下特点:
- 在同一时间只能有一个主デバイス连接到网络;
- 只有主デバイス能够发起通讯并向从デバイスリクエストの送信;
- 主デバイス可以使用专门的アドレス分别アクセス每个从デバイス,也可以使用アドレス 0 同时アクセスすべての从デバイス;
- 从デバイス只能向主デバイス送信应答;
- 从デバイス不能向主デバイス或其它从デバイス发起通讯。
通讯モード
Modbus protocolサポート两种通讯モード交換信息:
- 单播モード —— 主デバイス経由专门的アドレスアクセス从デバイス,从デバイス処理リクエスト,然后向主デバイス送信应答。
- 广播モード —— 主デバイス経由アドレス 0 アクセスすべての从デバイス,在这种モード下,从デバイス正しくない广播メッセージ作出应答。(因此,广播モード的リクエスト指令必须是 Modbus 標準功能中的命令を書く。)
应答时间
应答时间是指从デバイス对主デバイス发出的リクエスト做出应答所需的时间。among them Modbus protocol的数值:
- 典型值 < 10 ms (90% 的信息交換)
- 最大值大约是 700 ms,因此建议在送信完一个 Modbus リクエスト后暂停 1 秒钟再继续。
データ交換
Modbus protocolサポート两种データ型:
- 单个位
- register(16 位)
具体的位和レジスタ定义由从デバイス决定。
address
使用 Modbus protocol交換的メッセージ包含要処理的データ的アドレス。すべてのレジスタ。都有一1つのレジスタ编号,每类データ(位或レジスタ)都有一个 16 位的アドレス。
在 Modbus protocol规定的 PDU 中,规定すべてのコイル或レジスター·アドレス从 0 开始計算。因此,No. n 号レジスタ的アドレス是 n-1。例如,No. 12000 号レジスタ的アドレス是 0x2EDF(11999)。
フレーム
使用 Modbus protocol交換的すべてのフレーム(ADU)最大为 256 byte(ASCII 格式翻倍),其中包括 4 个域:
| 域 | 定义 | 大小(RTU format) | Description |
|---|---|---|---|
| 1 | 从デバイス号(address) | 1 バイト単位。 | リクエスト的目的アドレス - 0 :broadcast(涉及すべての从デバイス) - 1-247 :单播,从デバイス的唯一アドレス |
| 2 | 功能代码 | 1 バイト単位。 | 参阅 Modbus function code |
| 3 | data | 0 to 252 バイト単位。 | リクエストデータ(或应答データ) |
| 4 | checksum | 2 バイト単位。 | CRC verification和(ASCII 为 LRC) |
下图表示了主デバイス-从デバイス工作模型中的フレーム交換过程。

网络トポロジー
Modbus RTU
Modbus RTU 通常基于 RS-485 串行通信链路,RS-485 バス布线规范规定其必须是バス式トポロジ。在实际布线中,通常采用手牵手菊花链布线方式。例如,Slave 1/2/3 三台 RS-485 device,Slave1 的 485+ 接入 Slave2 的 485+ ポート,Slave2 的 485+ 再连接到 Slave3 的 485+ ポート,以此类推,485- 的配線方式和 485+ 一样。

Modbus TCP
相对于使用串行链路的 Modbus RTU,Modbus TCP 基于イーサネット通信,因此其网络トポロジ更为灵活。从串行链路上一主多从的构造,演变为多クライアント側は/多サーバー側。的构造模型。
使用 Modbus TCP,マスターデバイス(クライアント側は)可以経由 IP アドレス找到 Modbus 从デバイス(Server),并経由 Modbus ゲートウェイ连接到另一个 Modbus RTU 网络。

Leave a Reply