3. 通信协议基础

在SCADA与PLC的通信体系中,理解通信协议的基础是构建稳定、高效厂务系统的前提。本章将深入剖析OSI七层模型的分层思想、串行通信(RS232/RS485)的物理特性与电气规范,以及以太网通信的核心机制,为后续解析具体协议(如Modbus、Profinet)奠定坚实的理论基础。

3.1 OSI七层模型:通信的通用语言框架

OSI(Open System Interconnection)七层模型由ISO组织制定,是网络通信的抽象参考模型。它将通信过程划分为七个层次,每一层负责特定的功能,并为上层提供服务。在SCADA与PLC的通信中,理解此模型有助于定位故障、选择协议及优化系统架构。

核心原则: 对等层通信。每一层只与对等层进行逻辑通信,实际数据通过下层逐层传递。

3.1.1 七层模型结构图

OSI七层模型结构图 OSI七层模型结构图 7 - 应用层 (Application) 6 - 表示层 (Presentation) 5 - 会话层 (Session) 4 - 传输层 (Transport) 3 - 网络层 (Network) 2 - 数据链路层 (Data Link) 1 - 物理层 (Physical) 数据封装方向 发送端:逐层添加头部 接收端:逐层解析头部 物理层传输原始比特流

3.1.2 各层功能与SCADA/PLC关联

层级 功能描述 SCADA/PLC通信实例
7 应用层 提供网络服务与用户接口,如文件传输、邮件、远程登录。 Modbus TCP 协议、OPC UA 数据读写请求。
6 表示层 数据格式转换、加密、压缩,确保不同系统能理解数据。 PLC 数据以大端/小端字节序传输;OPC UA 二进制编码。
5 会话层 建立、管理和终止会话,提供同步点。 Profinet 连接建立与断开;Modbus 会话保持。
4 传输层 端到端可靠传输,负责分段、重组、流量控制。 TCP 协议保证 SCADA 与 PLC 数据包有序到达;UDP 用于高速数据采集。
3 网络层 路由选择、逻辑寻址(IP地址),实现跨网络通信。 SCADA 服务器通过 IP 路由访问不同网段的 PLC。
2 数据链路层 帧封装、MAC地址寻址、差错检测(CRC)。 以太网帧中的 MAC 地址用于交换机转发;PPP 协议用于串行链路。
1 物理层 定义电气特性、机械接口、传输介质(电压、线缆、接口形状)。 RS485 差分信号、RJ45 网线、光纤接口。
调试提示: 当 SCADA 无法连接 PLC 时,应从物理层开始排查(线缆是否松动、指示灯状态),再逐层向上检查链路层(MAC地址冲突)、网络层(IP配置错误)和应用层(协议端口号、功能码)。

3.2 串行通信:RS232 与 RS485

串行通信是工业现场最经典的通信方式之一,尤其在老旧设备、长距离或强干扰环境中仍广泛使用。RS232 和 RS485 是两种最常用的串行通信标准。

3.2.1 RS232 与 RS485 对比

特性 RS232 RS485
传输方式 单端(非平衡) 差分(平衡)
最大距离 约 15 米(@9600bps) 约 1200 米(@9600bps)
最大节点数 1 对 1(点对点) 最多 32 个节点(标准),可扩展至 256 个
信号电平 逻辑 1: -3V ~ -15V;逻辑 0: +3V ~ +15V 逻辑 1: A-B > +0.2V;逻辑 0: A-B < -0.2V
通信模式 全双工 半双工(常用),全双工(4线制)
抗干扰能力 弱(共模噪声敏感) 强(差分信号抑制共模干扰)
典型接口 DB9(9针) 接线端子(A/B/GND)
典型应用 短距离调试、连接编程器 现场总线(Modbus RTU)、多站联网

3.2.2 RS485 多点通信拓扑图

RS485 多点通信拓扑图 RS485 多点通信拓扑(半双工) 主站 (Master) 从站 1 (Slave) 从站 2 (Slave) 从站 3 (Slave) 120Ω 120Ω 总线两端需加 120Ω 终端电阻,防止信号反射 所有从站共享同一对双绞线(A+/B-)
工程避坑: RS485 网络必须采用“手拉手”菊花链拓扑,避免星型或树型连接。分支过长会导致信号反射,造成通信不稳定。同时,确保所有设备共地(GND),否则共模电压可能损坏接口芯片。

3.3 以太网通信基本原理

以太网(Ethernet)已成为现代 SCADA 与 PLC 通信的主流选择,其高带宽、灵活组网和标准化特性使其成为工业通信的基石。工业以太网(如 Profinet、EtherNet/IP)在标准以太网基础上增加了实时性和确定性。

3.3.1 以太网帧结构

以太网帧是数据链路层的封装单位,其结构如下:

字段 长度(字节) 说明
前导码 (Preamble) 7 同步时钟,用于接收方锁定比特流
帧起始定界符 (SFD) 1 标识帧开始
目标MAC地址 6 接收方物理地址
源MAC地址 6 发送方物理地址
类型/长度 (EtherType) 2 标识上层协议(如 0x0800 为 IPv4,0x0806 为 ARP)
数据载荷 (Payload) 46 ~ 1500 上层协议数据(如 IP 包)
帧校验序列 (FCS) 4 CRC32 校验,检测传输错误

3.3.2 工业以太网通信流程

工业以太网通信流程 工业以太网通信流程(SCADA 读取 PLC 数据) SCADA 主机 IP: 192.168.1.10 工业交换机 转发 MAC 帧 PLC 控制器 IP: 192.168.1.20 通信步骤 1. SCADA 应用层构造 Modbus TCP 请求(功能码 03 读保持寄存器)。 2. 传输层封装 TCP 头部(源端口 502,目标端口 502),建立连接。 3. 网络层添加 IP 头部(源 IP 192.168.1.10,目标 IP 192.168.1.20)。 4. 数据链路层封装以太网帧(目标 MAC = PLC 网口 MAC,源 MAC = SCADA 网卡 MAC)。 5. 物理层将帧转换为电信号,通过网线发送至交换机。 6. 交换机根据目标 MAC 地址转发帧至 PLC 端口;PLC 逐层解封装并响应。

3.3.3 关键通信参数

  • MAC 地址: 48 位物理地址,全球唯一,用于同一广播域内的设备寻址。
  • IP 地址: 32 位逻辑地址(IPv4),用于跨网络路由。
  • 端口号: 16 位标识,用于区分同一 IP 上的不同应用(如 Modbus TCP 使用 502 端口)。
  • MTU(最大传输单元): 以太网标准 MTU 为 1500 字节,超过则需 IP 分片。
  • CSMA/CD(载波监听多点接入/碰撞检测): 半双工以太网的冲突检测机制,全双工模式下已废弃。
工业以太网 vs 商用以太网: 工业以太网在物理层通常使用更坚固的连接器(如 M12 D-coded)、支持环网冗余(如 MRP)、并采用实时协议(如 Profinet RT/IRT)来保证确定性,满足运动控制等苛刻实时性要求。

3.4 本章小结

本章从 OSI 七层模型出发,建立了通信协议的分层思维;对比了 RS232 与 RS485 的电气特性与应用场景;并解析了以太网帧结构与通信流程。这些基础知识是后续学习 Modbus、Profinet、EtherNet/IP 等具体协议的前提,也是现场调试中定位物理层、链路层故障的必备技能。