一、为什么需要理解工业通信协议
随着工业自动化和智能制造的深入发展,现场设备数量不断增加,系统之间的数据交互和远程监控需求越来越强。不同厂商的设备常常采用各类接口和协议,例如 RS-485、Modbus、PLC、TCP、MQTT 等,导致现场通信复杂,难以统一管理。同时,管理层需要通过上位机、HMI、SCADA 等软件实现集中监控与调度。
理解这些通信方式与系统的关系,有助于理清工业控制系统的架构,为后续的系统集成、故障排查和数字化升级提供基础。本文将从分层架构的角度,逐一解析这些协议和概念的本质、特点以及它们在工业系统中的组合应用方式。
二、通信协议的分层架构:它们不在同一层面
很多人混淆 RS-485、Modbus、TCP、MQTT 等概念,根本原因在于把这些分属不同层次的东西放在一起比较。实际上,它们是叠加关系,而非替代关系。一个完整的工业通信系统,往往是多层协议的叠加组合。
| 层次 | 概念 | 核心作用 | 类比 |
|---|---|---|---|
| 物理层 | RS-485 | 规定电信号在线缆上如何传输 | 公路 |
| 协议层(应用) | Modbus | 规定设备之间数据格式和问答规则 | 交通规则 |
| 协议层(传输) | TCP | 保证网络数据可靠传输 | 快递公司 |
| 设备层 | PLC | 可编程逻辑控制器,执行控制逻辑 | 工厂工人 |
| 应用层(消息) | MQTT | 发布/订阅模式的消息传输 | 消息群/公众号 |
例如,"RS-485 上跑 Modbus RTU"是一种常见组合,"TCP 上跑 Modbus TCP"是另一种,"TCP 上跑 MQTT"则用于物联网场景。理解了分层关系,就能明白为什么这些概念可以同时存在而非互相排斥。
三、RS-485:物理层标准——工业通信的"公路"
RS-485(又称 EIA-485)是一种物理层通信标准,它只规定电信号如何在线缆上传输,不涉及数据内容的组织方式。
3.1 核心特性
- 差分信号传输:使用两根线(A/B)传输差分信号,抗干扰能力远优于单端信号,适合工业电磁环境
- 多节点总线:一条总线最多可挂接 32~256 个设备(取决于收发器型号),无需星型布线
- 传输距离远:最大传输距离可达 1200 米(速率降低时),远超 RS-232 的 15 米限制
- 半双工通信:同一时刻只能发送或接收,需要方向切换控制
- 速率适中:典型速率为 9600~115200 bps,最高可达 10 Mbps(短距离)
3.2 RS-485 不规定数据内容
RS-485 只负责"信号怎么传",不管"传什么"。数据内容的组织方式由上层协议决定,最常见的就是 Modbus RTU。其他协议如 Profibus-DP、CAN(物理层类似)等也可以在 RS-485 总线上运行。
3.3 实际应用注意事项
- 总线两端需安装 120Ω 终端电阻,消除信号反射
- 采用屏蔽双绞线,屏蔽层单端接地
- 总线布线避免与动力线平行走线,保持 30cm 以上间距
- 设备数量超过 32 个时需使用中继器扩展
关于 RS-485 通信故障的排查方法,可参考我们的RS-485 通讯故障排查指南,以及RS-485 接口干扰源分析。
四、Modbus:应用层协议——工业通信的"交通规则"
Modbus 由 Modicon 公司(现施耐德电气)于 1979 年发明,是工业领域使用最广泛的通信协议。它规定了设备之间"怎么问、怎么答"的规则。
4.1 核心特点
- 公开免费:无版权限制,几乎所有工业设备都支持
- 主从模式:一个主站(Master)发起请求,从站(Slave)被动应答
- 数据模型简单:四种数据类型——线圈(Coil)、离散输入(Discrete Input)、保持寄存器(Holding Register)、输入寄存器(Input Register)
- 功能码驱动:通过功能码(如 03 读保持寄存器、06 写单个寄存器、16 写多个寄存器)定义操作类型
4.2 两种主要变体
| 对比项 | Modbus RTU | Modbus TCP |
|---|---|---|
| 物理层 | RS-485 / RS-232 | 以太网 |
| 传输层 | 串口 | TCP/IP |
| 帧格式 | 地址码+功能码+数据+CRC校验 | MBAP头+功能码+数据 |
| 校验方式 | CRC-16 循环冗余校验 | TCP 层保证可靠性,无CRC |
| 通信速率 | 9600~115200 bps | 100 Mbps+ |
| 设备数量 | 最多 247 个从站 | 理论上无限制 |
| 适用场景 | 现场设备级通信 | 车间级/厂级数据采集 |
4.3 Modbus 在位移传感器中的应用
许多磁致伸缩位移传感器和拉绳位移传感器支持 Modbus RTU 输出。通过 Modbus RTU,上位机可以读取传感器的位移值、设置参数、进行多点轮询采集。我们此前发布了Modbus RTU 协议详解与配置指南,以及ETME 拉绳位移传感器 RS485 协议说明,可供深入参考。
五、TCP/IP:传输层协议——工业通信的"快递网络"
TCP(Transmission Control Protocol)是互联网的基础传输协议,在工业通信中扮演"可靠传输管道"的角色。它本身不定义工业数据格式,而是承载上层工业协议。
5.1 TCP 的核心机制
- 面向连接:通信前通过三次握手建立连接,通信结束后断开
- 可靠传输:通过序列号、确认应答、超时重传机制保证数据不丢、不乱、不重复
- 流量控制:滑动窗口机制根据接收方处理能力调节发送速率
- 拥塞控制:根据网络状况动态调整发送速率
5.2 TCP 在工业中的角色
TCP 在工业通信中不单独使用,而是作为传输层承载各种工业协议:
- Modbus TCP:Modbus 协议跑在 TCP 之上,实现以太网环境下的设备通信
- MQTT:物联网消息协议,同样基于 TCP 连接
- OPC UA:工业统一架构协议,可选择 TCP 作为传输层
- Profinet:实时以太网协议,部分通信基于 TCP/IP
相比 RS-485 串口通信,TCP/IP 具有传输速率高、组网灵活、支持远程访问等优势,是工业以太网和工业物联网的基础。
六、PLC:工业控制器——不是协议而是"工厂大脑"
需要特别澄清:PLC(可编程逻辑控制器)不是通信协议,而是一种工业控制设备。很多人说"PLC 通信",实际上是指 PLC 使用某种协议与其他设备通信。
6.1 PLC 的本质
PLC 是专为工业环境设计的计算机,核心功能包括:
- 输入采集:接收来自传感器(位移、温度、压力等)的信号
- 逻辑运算:按照用户编写的程序(梯形图、功能块图等)进行逻辑判断和计算
- 输出控制:驱动执行器(电磁阀、电机、继电器等)动作
- 通信交互:通过各类协议与上位机、HMI、其他 PLC 交换数据
6.2 PLC 常用通信协议
PLC 本身不定义通信协议,它通过以下协议与其他设备通信:
- Modbus RTU/TCP:最通用的工业协议,几乎所有 PLC 都支持
- Profibus/Profinet:西门子生态的主力协议
- EtherCAT:倍福(Beckhoff)主导的高速实时以太网协议
- CANopen:基于 CAN 总线的应用层协议
- CC-Link:三菱电机主导的现场总线协议
- OPC UA:跨平台统一架构协议,支持信息建模
6.3 PLC 与位移传感器的连接
位移传感器接入 PLC 的常见方式包括:
- 模拟量信号:4-20mA / 0-10V / 0-5V,通过 PLC 的模拟量输入模块读取,简单但抗干扰能力有限
- Modbus RTU:通过 RS-485 总线接入 PLC 的串口模块,支持多设备组网
- Modbus TCP:通过以太网接入,适合远距离、多设备场景
- Profinet/EtherCAT:支持实时控制,适合伺服闭环等高速场景
- CANopen:通过 CAN 总线接入,抗干扰能力强
关于传感器与 PLC 的接线方法,可参考CANBus 模块与 PLC 控制器连接配置指南。
七、MQTT:消息队列协议——工业物联网的"信息枢纽"
MQTT(Message Queuing Telemetry Transport)是由 IBM 于 1999 年提出的轻量级消息协议,专为带宽受限、网络不稳定的物联网场景设计,如今已成为工业物联网(IIoT)领域最重要的协议之一。
7.1 发布/订阅模式
与 Modbus 的主从问答模式不同,MQTT 采用发布/订阅(Publish/Subscribe)模式:
- 发布者(Publisher):设备将数据发布到特定主题(Topic),不关心谁接收
- 订阅者(Subscriber):订阅感兴趣的 Topic,有新数据时自动收到通知
- 代理(Broker):消息中间件,负责接收发布者的消息并推送给订阅者
这种解耦模式使得一个传感器数据可以同时被多个系统消费(如 SCADA 显示、数据库存储、报警系统),扩展性极强。
7.2 MQTT 的核心优势
- 极轻量:协议头最小仅 2 字节,适合低带宽环境
- QoS 服务质量:支持三级 QoS(0 最多一次、1 至少一次、2 恰好一次),适应不同可靠性需求
- 遗嘱机制(LWT):设备异常断线时 Broker 自动发布遗嘱消息,便于故障感知
- 保留消息(Retained):最新数据保留在 Broker,新订阅者上线即可获取
- 基于 TCP:利用 TCP 的可靠传输,数据不丢失
7.3 MQTT 在工业中的典型应用
- 远程设备监控:工厂设备数据通过 MQTT 上报到云端,管理人员远程查看
- 多厂数据汇聚:多个工厂的产线数据统一汇聚到总部数据中心
- 预测性维护:传感器数据持续上报,AI 分析预测设备故障
- 能耗管理:电力、水、气等能耗数据实时采集与分析
八、协议组合:实际工业系统中的叠加应用
在实际工业系统中,这些协议不是单独使用的,而是多层叠加协同工作。以下是一个典型的工业自动化系统通信架构:
8.1 系统架构示例
以一个配备位移传感器的液压机生产线为例:
| 层级 | 设备/系统 | 通信方式 | 说明 |
|---|---|---|---|
| 现场层 | 磁致伸缩位移传感器 | RS-485 + Modbus RTU | 传感器通过 RS-485 总线输出 Modbus RTU 位移数据 |
| 控制层 | PLC 控制器 | Modbus RTU 轮询 | PLC 作为主站,轮询读取各传感器位移值 |
| 车间层 | HMI / SCADA | Modbus TCP / OPC UA | PLC 通过以太网将数据上报到 HMI/SCADA 展示 |
| 管理层 | MES / ERP / 云平台 | MQTT over TCP | 数据网关将 Modbus 数据转成 MQTT 消息上报云平台 |
8.2 数据流详解
- 位移传感器通过 RS-485(物理层)以 Modbus RTU(协议)将位移数据发送到 PLC
- PLC(设备)接收数据后进行逻辑运算,控制液压阀动作
- PLC 通过以太网以 Modbus TCP(跑在 TCP 上)将实时数据发送到车间 SCADA 系统
- 数据采集网关将 Modbus 数据转换为 MQTT 消息,通过 TCP 连接发送到 MQTT Broker
- 云端管理平台订阅 MQTT Topic,实时获取产线数据,实现远程监控和数据分析
可以看到,RS-485、Modbus、TCP、PLC、MQTT 在同一个系统中各司其职、协同工作,并非互相替代的关系。
九、位移传感器通信协议选型指南
位移传感器的输出信号选择直接影响系统架构和通信协议选型。以下是常见的信号输出方式及其对应的协议层级:
| 输出信号 | 物理层 | 协议层 | 适用场景 | 抗干扰能力 |
|---|---|---|---|---|
| 4-20mA / 0-10V | 模拟线缆 | 无(模拟信号) | 短距离、简单控制 | 中等 |
| RS-485 Modbus RTU | RS-485 | Modbus RTU | 多设备组网、中距离 | 强 |
| Modbus TCP | 以太网 | Modbus TCP (TCP) | 车间级数据采集 | 强 |
| Profinet | 以太网 | Profinet (TCP/RT) | 西门子生态、实时控制 | 强 |
| EtherCAT | 以太网 | EtherCAT | 高速伺服闭环 | 强 |
| CANopen | CAN 总线 | CANopen | 移动机械、多轴系统 | 强 |
| SSI / Start-Stop | RS-422/485 | SSI / 脉冲 | 高速同步采集 | 强 |
选型建议:
- 简单单机控制:4-20mA 或 0-10V 模拟量,成本低、接线简单
- 多传感器组网:RS-485 + Modbus RTU,一条总线挂多个设备,布线经济
- 车间级集成:Modbus TCP 或 Profinet,利用现有以太网,远程访问方便
- 高速闭环控制:EtherCAT 或 Profinet IRT,微秒级实时响应
- 远程物联网监控:通过网关将 Modbus 数据转 MQTT 上云,实现远程运维
关于模拟量信号选型的详细对比,可参考4-20mA 和 0-10V 信号选型指南。
十、五大协议横向对比
| 维度 | RS-485 | Modbus | TCP | PLC | MQTT |
|---|---|---|---|---|---|
| 本质 | 物理层标准 | 通信协议 | 传输协议 | 控制设备 | 消息协议 |
| 所属层级 | 物理层 | 应用层 | 传输层 | 设备层 | 应用层 |
| 通信模式 | 总线半双工 | 主从问答 | 点对点连接 | — | 发布/订阅 |
| 传输速率 | 最高 10 Mbps | 取决于物理层 | 100 Mbps+ | — | 取决于网络 |
| 设备数量 | 32~256 节点 | 247 从站 | 无限制 | — | 无限制 |
| 传输距离 | 1200 米 | 取决于物理层 | 网络可达 | — | 网络可达 |
| 适合场景 | 现场总线 | 设备级通信 | 网络传输 | 逻辑控制 | 物联网/远程监控 |
| 是否可叠加 | 承载 Modbus RTU | 跑在 RS-485 或 TCP 上 | 承载 Modbus TCP/MQTT | 使用各种协议 | 跑在 TCP 上 |
十一、常见问题FAQ
Q1:Modbus RTU 和 Modbus TCP 能互通吗?
不能直接互通,需要通过协议转换网关(Modbus Gateway)进行转换。网关一端连接 RS-485 总线上的 Modbus RTU 设备,另一端通过以太网以 Modbus TCP 与上位机通信,自动完成协议转换。
Q2:RS-485 和 CAN 总线有什么区别?
两者都是差分信号总线,但 CAN 总线内置了冲突检测和优先级仲裁机制(CSMA/CD),适合多主站竞争场景;RS-485 是纯物理层标准,需要上层协议(如 Modbus)管理通信顺序。CAN 总线在汽车和移动机械领域更常见,RS-485 在工业自动化领域更普及。关于 CAN 总线终端电阻的重要性,可参考CAN 总线终端电阻详解。
Q3:MQTT 能完全替代 Modbus 吗?
不能。两者定位不同:Modbus 适合设备级的实时问答通信,延迟低、确定性好;MQTT 适合物联网级别的消息推送,扩展性强但实时性不如 Modbus。典型做法是现场用 Modbus 采集设备数据,再通过网关转换为 MQTT 上报云平台,两者互补而非替代。
Q4:PLC 必须用某种特定协议吗?
不需要。PLC 支持多种协议,具体使用哪种取决于应用场景和对接设备。例如,与传感器通信用 Modbus RTU,与 HMI 通信用 Modbus TCP 或 OPC UA,与云平台通信用 MQTT。现代 PLC 通常内置多个通信接口(串口、以太网),可同时运行多种协议。
Q5:工业通信协议未来的发展趋势是什么?
主要趋势包括:(1) 工业以太网逐步替代现场总线,OPC UA over TSN 成为统一架构方向;(2) MQTT 等物联网协议在工业远程监控中广泛应用;(3) 边缘计算网关成为协议转换的核心节点,实现 IT 与 OT 融合;(4) 5G + 工业互联网推动无线通信协议在工业场景落地。
十二、总结
理解工业通信协议的关键在于分层思维:
- RS-485 是物理层标准,解决"信号怎么传"的问题
- Modbus 是应用层协议,解决"数据怎么组织"的问题
- TCP 是传输层协议,解决"数据怎么可靠到达"的问题
- PLC 是控制设备,使用各种协议与其他设备通信
- MQTT 是消息协议,解决"大规模设备数据如何分发"的问题
一句话记忆:RS-485 是公路,Modbus 是交通规则,TCP 是快递公司,PLC 是工厂里的工人,MQTT 是消息群。工人(PLC)按交通规则(Modbus)在公路(RS-485)上把货物送到快递公司(TCP),快递再转发到消息群(MQTT),管理层在群里看消息就行。
对于位移传感器应用而言,选择合适的通信协议需要综合考虑传输距离、设备数量、实时性要求、抗干扰需求以及与现有系统的兼容性。如有技术选型疑问,欢迎咨询易测电气技术团队。
热门产品推荐
- 磁致伸缩位移传感器 —— 支持 Modbus RTU、Profinet、EtherCAT、CANopen 多种协议输出
- 拉绳位移传感器 —— 支持 RS-485 Modbus RTU、模拟量、脉冲多种信号输出
- LVDT 位移传感器 —— 高精度微米级测量,支持模拟量和数字信号输出
- 直线位移传感器 —— 电子尺/电阻尺,支持 4-20mA、0-10V 模拟量输出
- 角度位移传感器 —— 支持模拟量和 RS-485 数字信号输出


客服1