4. SCADA系统架构:数据采集、通信协议、数据库、人机界面

各位同事,今天我们来聊聊SCADA系统。说实话,很多刚入行的朋友一听到SCADA就觉得头大——又是协议又是数据库的,感觉特别复杂。其实没那么玄乎,咱们把它拆开来看,就四个核心部分:数据怎么采、怎么传、怎么存、怎么看。

我在风电场调试过不下30套SCADA系统,踩过的坑比你们想象的多。今天就把这些经验掰开揉碎了讲给你们听。

4.1 数据采集——SCADA的“眼睛”

数据采集是整个系统的基础。说白了,就是让计算机能“看到”现场设备的状态。

采集什么?

  • 模拟量:电压、电流、功率、温度、压力、风速等连续变化的物理量
  • 数字量:开关状态、断路器分合、保护动作信号等离散量
  • 累计量:发电量、有功电量、无功电量等

怎么采?

现场设备(比如智能电表、保护装置、测控装置)通过传感器采集原始信号,然后通过RTU(远程终端单元)或智能IED(智能电子设备)转换成数字信号。我习惯把RTU比作“翻译官”——它把现场的各种信号翻译成计算机能懂的语言。

关键点:采集周期要合理。电气量一般1秒采集一次,温度、压力等慢变量可以5-10秒一次。别盲目追求高频率,数据量太大反而拖慢系统。

我的经验:有一次在西北某风电场,现场温度传感器采集频率设成了100ms,结果一天下来数据库暴涨了3个G。后来我改成5秒一次,数据量降了50倍,关键信息一点没丢。

4.2 通信协议——SCADA的“神经”

数据采上来了,怎么传?这就得靠通信协议。升压站里最常用的两个协议:IEC 61850和IEC 104。

4.2.1 IEC 61850——新一代的“通用语言”

IEC 61850是智能变电站的标配。它最大的特点就是“面向对象”——每个设备、每个数据点都有唯一的路径名。

举个例子:

// 一个断路器的位置状态
路径:AA1E1Q01A1/XSWI1.Pos.stVal
含义:间隔AA1E1,断路器Q01A1,位置状态值

// 一个变压器的油温
路径:T1/MMXU1.PhV.phsAB.cVal.mag.f
含义:主变T1,测量单元,AB相电压幅值

我个人习惯用61850的另一个原因是它支持GOOSE(面向通用对象的变电站事件)——说白了就是设备之间可以直接“对话”,不需要经过后台。比如保护动作了,可以直接跳闸,延时只有几毫秒。

注意:61850的配置很繁琐。每个设备都要做SCL(变电站配置描述语言)文件,一个字段写错就可能通信不上。我曾经在项目里因为一个大小写错误,排查了整整两天。

4.2.2 IEC 104——远动通信的“老将”

IEC 104主要用于调度端和站端之间的通信。它基于TCP/IP协议,说白了就是通过网线传数据。

104报文结构:

启动字符 68H
长度字段
控制域(类型、序号等)
ASDU(应用服务数据单元)
  - 类型标识(如遥测、遥信、遥控)
  - 结构限定词
  - 传送原因
  - 公共地址
  - 信息对象地址
  - 信息元素(实际数据)

嗯,这里要注意:104协议虽然成熟,但有个坑——它默认不带时间同步。如果你不额外做NTP对时,站端和调度端的时间可能差好几秒,历史数据对不上。

避坑指南:我曾经在内蒙古一个风电场,调度端说我们上报的功率曲线不对。查了三天,最后发现是104通信的时钟偏差了8秒。从那以后,我每个项目都强制要求做NTP对时,而且每周校验一次。

4.3 数据库——SCADA的“记忆”

数据传上来了,总得存起来吧?这就是数据库的活。

升压站SCADA常用的数据库:

类型 代表产品 适用场景 我的评价
实时数据库 PI System、eDNA 高频数据存储(秒级) 快,但贵。适合大型场站
关系数据库 MySQL、SQL Server 历史数据、报表、配置 便宜,但写入慢。适合中小型
时序数据库 InfluxDB、TimescaleDB 海量时序数据 新兴方案,性价比高

数据库设计要点:

  • 分区存储:按时间分区,比如每天一个表。查询快,维护方便
  • 压缩策略:历史数据超过3个月的,可以压缩存储。我一般用旋转门压缩算法,压缩比能到10:1
  • 冗余备份:主库挂了,备库要能顶上。我见过太多因为硬盘坏了丢数据的惨案

核心原则:实时数据要快,历史数据要全,报表数据要准。三者不能混为一谈。

4.4 人机界面——SCADA的“脸面”

最后,数据存好了,总得让人看得懂吧?这就是HMI(人机界面)的活。

好的HMI长什么样?

  • 主接线图:一眼看清整个升压站的电气拓扑
  • 实时数据:关键参数(电压、电流、功率)在对应设备旁显示
  • 告警列表:按优先级排序,红色是紧急,黄色是警告,蓝色是提示
  • 趋势曲线:能查看任意参数的历史变化
  • 控制操作:分合断路器、调节变压器分接头等,必须有二次确认

我踩过的坑:

有一次,某厂家做的HMI把“断路器合位”和“分位”的颜色搞反了——红色表示分闸,绿色表示合闸。结果操作员差点误操作。从那以后,我要求所有HMI必须遵循国际标准:红色=危险/分闸,绿色=安全/合闸。

设计建议:HMI不是越花哨越好。我见过有人把背景做成3D效果,结果数据都看不清。记住:清晰、简洁、直观,才是王道。

4.5 整体架构图

说了这么多,咱们用一张图把整个SCADA系统串起来。你想想看,数据从现场设备出发,经过通信协议传输,存入数据库,最后在HMI上展示——这就是一个完整的闭环。

SCADA系统架构图 现场设备层 智能电表 保护装置 测控装置 变压器监测 通信协议层 IEC 61850(站内通信) IEC 104(远动通信) 数据存储层 实时数据库 关系数据库 时序数据库 人机界面层(HMI) 主接线图 告警列表 趋势曲线 控制操作

这张图我每次培训都会拿出来讲。你仔细看,数据从下往上流——现场设备采集原始信号,通过通信协议传输,存入数据库,最后在HMI上展示。反过来,操作员在HMI上发一个遥控指令,也是沿着这个路径反向传到现场设备。

好了,SCADA系统的四个核心部分就讲到这里。记住:数据采集是基础,通信协议是桥梁,数据库是仓库,人机界面是窗口。四者缺一不可,任何一个环节出问题,整个系统就玩不转。


公众号:蓝海资料掘金营,微信deep3321