3. 工业通信基础与SCADA数据交换

在能源管理系统中,SCADA上位机需要与现场的电表、保护装置、PLC、逆变器、环境传感器等设备持续交换数据。这些设备来自不同厂商,接口形态各异,但底层通信原理可以归结为几条清晰的主线:串行通信负责点对点的低速可靠传输,以太网与TCP/IP负责高速组网和跨网段寻址,OSI模型提供分层理解框架,主从模式与客户端/服务器模式则决定了谁发起、谁响应。理解这四组概念在能源管理中的映射关系,是后续配置通信参数、排查链路故障的基础。

串行通信:物理层与链路层的起点

串行通信按位依次传输,常见物理接口有RS-232、RS-485和RS-422。能源现场最常用的是RS-485,因为它支持差分信号、抗共模干扰强、传输距离可达1200米、一条总线可挂接32个标准负载(加中继器可扩展)。典型参数包括波特率、数据位、停止位、校验位,例如9600, 8, N, 1表示9600bps、8位数据、无校验、1位停止位。收发双方必须完全一致,否则会出现乱码或超时。

串行通信本身只定义了电气特性和帧格式,不规定数据含义。因此需要在其上叠加应用层协议,能源领域常见的有Modbus RTU、DL/T 645、IEC 60870-5-101/103等。以Modbus RTU为例,一帧由地址、功能码、数据、CRC校验组成。主站发送请求帧,从站匹配自身地址后执行并返回响应帧。若地址不匹配,从站静默丢弃,主站等待超时后重试。

以太网与TCP/IP:网络层与传输层的组网

以太网工作在数据链路层,通过MAC地址在同一局域网内寻址。当SCADA服务器与设备跨网段时,需要IP层路由。IP地址、子网掩码、网关三者共同决定数据包能否到达目标。例如服务器192.168.1.10/24与设备192.168.2.20/24不在同一子网,必须经过网关转发。

传输层提供两种典型方式:TCP面向连接、可靠有序,适合Modbus TCP、IEC 60870-5-104等要求不丢帧的场景;UDP无连接、开销小,适合对实时性要求高但可容忍少量丢包的场景。Modbus TCP默认端口502,IEC 104默认端口2404。SCADA采集周期通常为1秒到15分钟不等,周期越短对网络和服务器并发能力要求越高。

OSI模型:分层定位故障

OSI七层模型把通信过程拆分为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。实际工程中常简化为四层:物理层看线缆、接口、电平;数据链路层看MAC、VLAN、串口帧;网络层看IP、路由、网关;传输与应用层看端口、协议、寄存器地址。当通信中断时,按层排查能快速缩小范围:先看网口灯是否亮、串口接线A/B是否反接,再看能否ping通,最后检查端口和协议参数。

主从模式与客户端/服务器模式

主从模式常见于串行链路和Modbus体系:主站主动轮询,从站被动应答,同一时刻总线上只能有一个主站发起通信。这种模式简单、冲突可控,但轮询周期随从站数量增加而变长。客户端/服务器模式常见于以太网和TCP/IP体系:客户端发起连接请求,服务器监听并响应,多个客户端可并发访问同一服务器。在SCADA中,采集程序通常作为客户端主动连接设备或网关的服务器端口;而设备作为服务器被动等待连接。

两种模式在能源管理中的映射可以这样理解:RS-485总线上的电表是Modbus RTU从站,SCADA通过串口服务器转换为Modbus TCP后,串口服务器成为TCP服务器,SCADA采集程序成为TCP客户端。此时“主从”关系仍然存在于Modbus应用层,而“客户端/服务器”关系存在于TCP传输层。两者叠加,不矛盾。

SCADA能源管理通信分层与主从/客户端-服务器映射 OSI 分层(简化) 应用层 Modbus / IEC 104 / DL/T645 传输层 TCP / UDP / 端口号 网络层 IP / 子网掩码 / 网关 数据链路层 MAC / VLAN / 串口帧 物理层 RS-485 / RJ45 / 电平 排查顺序:由下至上 线缆→链路→IP→端口→协议 能源管理现场映射关系 串行链路:主从模式 SCADA主站 主动轮询 电表从站 被动应答 RS-485总线 · Modbus RTU · 地址区分从站 同一时刻仅一个主站发起通信 以太网:客户端/服务器 SCADA客户端 发起连接 设备服务器 监听端口 TCP/IP · Modbus TCP:502 · IEC 104:2404 多客户端可并发访问同一服务器 串口服务器转换:两种模式叠加 SCADA采集程序 TCP客户端 + Modbus主站 串口服务器 TCP服务器 + 串口转发 RS-485电表 Modbus RTU从站 TCP层:客户端/服务器关系 · Modbus层:主从关系 · 两者同时存在 通信中断分层排查要点 物理层:网口灯、A/B线序、终端电阻120Ω 网络层:ping通、IP/掩码/网关同网段 应用层:端口开放、从站地址、寄存器地址、功能码

实际配置示例:从串口到TCP的完整链路

假设现场有一台三相电表,RS-485接口,Modbus RTU协议,从站地址为3,波特率9600,8位数据,无校验,1位停止位。SCADA服务器IP为192.168.1.10,串口服务器IP为192.168.1.50,串口服务器TCP端口设为502,串口侧参数与电表一致。SCADA采集程序配置为Modbus TCP客户端,目标IP 192.168.1.50,端口502,从站地址3,读取保持寄存器40001~40010,采集周期5秒。

SCADA采集配置(示例):
协议类型:Modbus TCP
目标IP:192.168.1.50
目标端口:502
从站地址:3
功能码:03(读保持寄存器)
起始地址:40001
寄存器数量:10
采集周期:5000 ms
超时时间:3000 ms
重试次数:2

若通信正常,SCADA画面应能显示电表电压、电流、功率等实时值,且数值随负载变化而更新。若超时,先检查串口服务器与电表之间的RS-485接线,再确认串口服务器串口参数是否与电表一致,最后检查SCADA的从站地址和寄存器地址是否正确。注意:Modbus寄存器地址有“协议地址”和“PLC地址”两种表示法,40001对应协议地址0,配置时需确认软件采用哪种约定。

在能源管理项目中,建议为每条通信链路建立一张“链路参数卡”,记录物理接口、协议、地址、端口、波特率、采集周期、超时与重试参数。故障时按卡核对,比盲目试错效率高得多。

主从与客户端/服务器在能源管理中的典型组合

现场设备 物理接口 应用协议 SCADA角色 设备角色
三相电表 RS-485 Modbus RTU 主站 从站
串口服务器 RS-485 / RJ45 Modbus RTU转TCP TCP客户端 TCP服务器
保护装置 RJ45 IEC 60870-5-104 客户端 服务器
PLC RJ45 Modbus TCP 客户端 服务器
逆变器 RS-485 Modbus RTU 主站 从站

从表中可以看出,同一套SCADA系统可能同时扮演主站、从站、客户端、服务器多种角色。关键在于分清每一层协议中谁发起、谁响应。串行链路上,主站发起轮询;TCP连接上,客户端发起连接。两者可以叠加,也可以分离。例如IEC 104中,SCADA作为客户端主动连接保护装置的TCP服务器端口,同时在应用层作为控制站向保护装置发送总召唤、遥控等命令,保护装置作为受控站响应。此时“客户端/服务器”描述的是传输层连接方向,“控制站/受控站”描述的是应用层职责。

常见误区:把“主站”和“客户端”混为一谈。主站是应用层概念,指发起数据请求的一方;客户端是传输层概念,指发起连接的一方。在Modbus TCP中,SCADA既是TCP客户端,又是Modbus主站;在IEC 104中,SCADA是TCP客户端,但应用层称为控制站。配置时不要因为叫法不同而改错参数。

掌握这些基础后,后续配置通信驱动、设置采集点表、分析报文时就有了统一的参照系。遇到通信异常,先判断问题出在哪一层,再判断是主从关系错位还是客户端/服务器连接失败,排查路径会清晰很多。