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传输层。两者叠加,不矛盾。
实际配置示例:从串口到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服务器端口,同时在应用层作为控制站向保护装置发送总召唤、遥控等命令,保护装置作为受控站响应。此时“客户端/服务器”描述的是传输层连接方向,“控制站/受控站”描述的是应用层职责。
掌握这些基础后,后续配置通信驱动、设置采集点表、分析报文时就有了统一的参照系。遇到通信异常,先判断问题出在哪一层,再判断是主从关系错位还是客户端/服务器连接失败,排查路径会清晰很多。