4. 通信基础与OSI模型
在工业HMI设备通信与界面集成中,通信协议是设备之间交换数据的“语言规则”。无论是触摸屏读取PLC寄存器、变频器上报运行状态,还是远程IO模块接收控制指令,数据都必须经过物理介质传输、链路寻址、帧格式封装和错误校验等过程。理解OSI模型中的物理层与数据链路层,是掌握串口、RS-232/485、Modbus、CAN和工业以太网等常见工业通信技术的基础。
一、OSI模型中的物理层与数据链路层
OSI参考模型将通信过程分为七层,其中与工业现场设备直接相关、决定“能不能通、通得稳不稳”的,主要是最底层的两层:
- 物理层:定义电气信号、电平标准、传输介质、接口形状、传输速率和最大距离。它关心的是“0和1如何变成电压、电流或光信号”。
- 数据链路层:定义帧结构、寻址方式、差错检测、介质访问控制和流量控制。它关心的是“数据如何组织成帧,发给谁,如何发现错误”。
对于HMI集成而言,物理层决定接线方式、终端电阻、屏蔽与接地;数据链路层决定站号、帧格式、校验方式和冲突处理。很多现场通信故障,表面看是“协议不通”,实际根源却在物理层,例如RS-485缺少终端电阻、CAN总线分支过长、以太网双绞线线序错误等。
核心记忆:物理层管“信号与介质”,数据链路层管“帧与寻址”。HMI通信调试时,先查物理层,再查链路层,最后查应用层。
二、串口、RS-232与RS-485
串口通信是工业设备中最经典的异步通信方式。它按位依次传输数据,通常包含起始位、数据位、校验位和停止位。HMI触摸屏、PLC、仪表和扫码器上常见的RS-232、RS-485、RS-422,都是串口通信在不同电气标准下的实现。
| 标准 | 电气方式 | 典型距离 | 拓扑 | 典型场景 |
|---|---|---|---|---|
| RS-232 | 单端电压 | 约15米 | 点对点 | HMI与PLC编程口、老式仪表 |
| RS-485 | 差分信号 | 约1200米 | 多点总线 | 多台仪表、变频器、远程IO |
| RS-422 | 差分信号 | 约1200米 | 点对多主从 | 高速长距离点对点 |
RS-232使用单端信号,逻辑1和逻辑0通过正负电压表示,抗干扰能力弱,适合短距离点对点通信。RS-485使用两根线A、B之间的差分电压表示信号,共模干扰会被差分接收器抵消,因此抗干扰能力强、传输距离远,并支持一条总线上挂接多个设备。RS-485总线两端通常需要接120Ω终端电阻,以减少信号反射。
典型RS-485接线:
HMI A+ ─────────────── A+ 仪表1
HMI B- ─────────────── B- 仪表1
│
├────────────── A+ 仪表2
└────────────── B- 仪表2
终端电阻:总线首端和末端各接120Ω
屏蔽层:单点接地,避免地环流
三、Modbus:主从轮询与寄存器模型
Modbus是工业自动化中应用最广泛的通信协议之一,通常运行在RS-485串行链路上,也可封装在TCP/IP之上。Modbus采用主从结构:主站发起请求,从站响应。HMI通常作为主站,PLC、仪表、变频器作为从站。
Modbus数据模型以寄存器为核心,常见类型包括:
- 线圈:可读写的开关量,地址范围00001~09999。
- 离散输入:只读开关量,地址范围10001~19999。
- 输入寄存器:只读模拟量,地址范围30001~39999。
- 保持寄存器:可读写模拟量,地址范围40001~49999。
Modbus RTU帧由从站地址、功能码、数据和CRC校验组成。主站轮询时,必须保证从站地址唯一、波特率一致、校验方式一致。若总线上两个从站地址相同,会出现响应冲突;若波特率不匹配,则表现为通信超时或乱码。
Modbus RTU读保持寄存器请求示例:
从站地址:01
功能码:03
起始地址:00 00
寄存器数量:00 02
CRC校验:C4 0B
完整帧:01 03 00 00 00 02 C4 0B
四、CAN总线与工业以太网
CAN总线采用差分信号,具有非破坏性仲裁、多主发送和自动重发机制,广泛用于汽车电子、工程机械和部分工业控制设备。CAN帧包含标识符、数据长度码和数据场,标识符既表示内容优先级,也用于滤波接收。与RS-485主从轮询不同,CAN支持多主竞争,实时性更好,但HMI接入CAN通常需要专用CAN接口或网关。
工业以太网基于标准以太网物理层,使用RJ45、M12或光纤介质,速率从100Mbps到1Gbps甚至更高。它通过交换机构建星型或环网拓扑,支持全双工通信。常见工业以太网协议包括Modbus TCP、EtherNet/IP、PROFINET、EtherCAT等。与串行总线相比,工业以太网带宽大、距离远、可接入设备多,但对网络配置、IP地址规划和交换机性能要求更高。
五、典型场景与排障复盘
假设一台HMI通过RS-485读取三台温控仪表,通信时断时续。排查时可按以下顺序进行:
- 物理层检查:确认A、B线没有接反,总线两端是否接120Ω终端电阻,屏蔽层是否单点接地。
- 链路层检查:确认三台仪表站号分别为1、2、3,波特率均为9600,校验方式均为无校验。
- 协议层检查:用串口调试工具发送Modbus RTU读寄存器命令,观察是否有正确响应。
- HMI配置检查:确认HMI轮询周期、超时时间和寄存器地址映射是否正确。
常见误区:RS-485总线采用星型或树型接线,会导致信号反射和通信不稳定;CAN总线分支过长会破坏阻抗连续性;工业以太网使用普通商用交换机,在环网或高实时场景下可能丢包。物理层问题往往表现为“偶发超时”,容易被误判为协议问题。
实践建议:HMI项目初期就应绘制通信拓扑图,标注设备地址、波特率、协议类型、线缆规格和终端电阻位置。调试时先单台通信成功,再逐台接入总线,便于快速定位故障设备。
掌握物理层与数据链路层原理后,面对串口、RS-485、Modbus、CAN和工业以太网时,就能从信号、接线、帧格式、寻址和校验等角度系统分析问题,而不是盲目更换设备或反复修改参数。这是工业HMI设备通信与界面集成中稳定可靠运行的基础。