潍坊乾发机电有限公司
 
 
新闻资讯
当前位置:首页 >> 新闻资讯 >> 行业新闻

MODBUS通讯协议

浏览:15    发布日期:2026-04-12

主从架构(Master-Slave)

主站(Master):唯一主动发起通信(如 PLC、工控机、HMI),负责发指令、读数据、控时序。

从站(Slave):被动响应,每个从站有唯一地址(1–247),0 为广播地址(只执行不回应)。

规则:一主多从、从站不主动通信、总线无冲突。

核心优势

结构极简、资源占用极低,适合单片机 / 嵌入式设备。

跨物理层:支持 RS-232/485 串口、以太网 TCP/IP、无线等。

数据模型统一、调试简单、兼容性极强。

二、三大协议变种(RTU / ASCII / TCP)

1. Modbus RTU(最常用,工业现场首选)

传输:RS-485/232 串口,二进制编码。

效率:高、帧紧凑、速度快。

校验:CRC16(循环冗余校验)。

帧间隔:3.5 个字符静默时间分隔帧。

拓扑:RS-485 一主最多 247 从(实际≤32)。

2. Modbus ASCII(极少用)

传输:串口,ASCII 文本编码(可读)。

效率:低(1 字节→2 字符)。

帧:以 : 开头、CR/LF 结尾。

校验:LRC(纵向冗余校验)。

3. Modbus TCP(以太网远程)

传输:以太网 TCP/IP,端口 502。

结构:MBAP 头 + PDU,无地址 / CRC(TCP 自带可靠传输)。

优势:距离远、可跨网段、易组网。

延迟:略高于串口,但带宽高。

三、Modbus 数据模型(4 类存储区)

所有设备统一映射到 4 块地址区,是协议互通基础:

表格

数据区 地址 类型 权限 典型用途

线圈(Coils) 00001–09999 1 位(Bool) 读 / 写 继电器、输出控制

离散输入(DI) 10001–19999 1 位 只读 开关、限位信号

输入寄存器(IR) 30001–39999 16 位 只读 温度、压力、模拟量

保持寄存器(HR) 40001–49999 16 位 读 / 写 设定值、参数、频率

四、常用功能码(核心指令)

01:读线圈

02:读离散输入

03:读保持寄存器(最常用,读参数 / 状态)

04:读输入寄存器

05:写单个线圈

06:写单个保持寄存器

0F:写多个线圈

10:写多个保持寄存器

08:诊断(测试通信)

五、帧结构(RTU vs TCP)

1. Modbus RTU 帧(串口)

plaintext

[地址(1B)] + [功能码(1B)] + [数据(N B)] + [CRC(2B)]

地址:从站号(1–247)

功能码:指令类型

数据:地址、数量、写入值等

CRC:两字节校验

2. Modbus TCP 帧(以太网)

plaintext

[MBAP 头(7B)] + [功能码(1B)] + [数据(N B)]

MBAP:事务标识、协议标识、长度、单元 ID

无 CRC、无独立地址(用 IP + 端口)

六、典型应用场景

PLC ↔ 变频器、仪表、传感器(RS-485 Modbus RTU)

上位机 / SCADA ↔ 现场设备(Modbus TCP)

楼宇自控、电力监控、水处理、智能制造

七、调试要点

串口:波特率、数据位、校验、停止位必须完全一致。

RS-485:A/B 不能接反、两端加120Ω 终端电阻。

地址:从站地址不重复、主站正确寻址。

寄存器:注意地址偏移(有些设备从 0 开始)


返回列表
Copyright © 2026 潍坊乾发机电有限公司 XML