2、SCADA系统基础:SCADA架构、数据采集(PLC/传感器)、实时数据库与OPC UA等通信协议

SCADA(Supervisory Control And Data Acquisition,监控与数据采集)系统是智慧工厂的“神经系统”,它连接了现场设备层(PLC、传感器、仪表)与上层管理/展示层(AI看板、MES、云端分析平台)。在构建AI+SCADA看板之前,必须理解SCADA的分层架构、数据流转路径以及核心通信机制。本章将深入剖析SCADA的经典四层架构、数据采集的工程细节、实时数据库的选型要点,以及OPC UA等关键通信协议的技术特性,为后续告警与设备健康看板设计打下坚实基础。

管理层(Level 4) 监控层(Level 3) 控制层(Level 2) 现场设备层(Level 1) AI看板 / 大屏 告警/健康/产线状态 MES / ERP 生产计划/工单 云平台 / 大数据 历史趋势/机器学习 SCADA 服务器 实时数据库 / 告警引擎 HMI / 操作员站 趋势曲线 / 操作面板 OPC UA 网关 协议转换/安全 PLC (S7-1500) 逻辑控制/数据缓存 RTU / 边缘网关 数据汇聚/协议转换 变频器/仪表 Modbus RTU/TCP 传感器 (温度/压力) 4-20mA / IO-Link 电机/阀门 启停/开度反馈 RFID / 扫码枪 产品追溯/工位识别 Profinet Modbus TCP OPC UA

上图展示了智慧工厂SCADA系统的四层标准架构(ISA-95模型简化版)。数据从底层传感器/PLC向上逐级汇聚,最终到达AI看板与云端分析平台。理解每一层的职责与接口协议,是设计可靠数据采集链路的前提。

2.1 SCADA核心架构:从现场设备到云端看板的分层模型

核心原理:SCADA系统并非单一软件,而是一个集成了硬件、软件、网络和协议的分布式系统。在智慧工厂中,我们通常遵循ISA-95(国际自动化学会标准)的分层模型来组织系统。该模型将工厂信息化系统划分为5个层级(Level 0~Level 4),其中SCADA主要覆盖Level 1(现场设备)到Level 3(监控与管理)。每一层都有明确的功能边界和通信标准,这种分层设计使得系统具备高可用性、可扩展性和安全性。

在实际工程中,SCADA系统的核心组件包括:

  • 现场设备层(Level 1):包括传感器(温度、压力、振动、流量)、执行器(阀门、电机)、变频器、RFID读卡器等。它们通过硬接线(4-20mA、24V DC)或现场总线(IO-Link、AS-i)与控制器相连。
  • 控制层(Level 2):以PLC(可编程逻辑控制器)和RTU(远程终端单元)为核心。PLC负责执行实时逻辑控制(如联锁、顺序控制),同时缓存最近的数据点,供上层轮询或订阅。
  • 监控层(Level 3):包含SCADA服务器、HMI(人机界面)、历史数据库和告警管理系统。这一层是AI看板的数据源头,负责数据采集、报警触发、趋势记录和报表生成。
  • 管理层(Level 4):MES、ERP、云平台和AI分析引擎。SCADA通过OPC UA或REST API将实时数据上传至云端,供机器学习模型训练和可视化大屏展示。

判断方法:在设计看板数据链路时,首先要明确每个数据点的“归属层级”。例如,设备振动数据可能直接从传感器通过IO-Link进入PLC,再通过Profinet上传至SCADA;而电能质量数据可能由独立电表通过Modbus TCP直接接入SCADA网关。判断标准是:数据是否经过实时控制回路?如果数据仅用于监控而非控制,可以绕过PLC直接进入SCADA,以减少延迟和PLC负载。

层级典型设备通信方式数据实时性看板用途
Level 1传感器/执行器4-20mA, IO-Link毫秒级原始信号显示
Level 2PLC/RTUProfinet, EtherNet/IP10-100ms设备状态/联锁
Level 3SCADA服务器OPC UA, Modbus TCP100ms-1s告警/趋势/健康度
Level 4云端/AI平台MQTT, REST API秒级-分钟级预测性维护/优化
经验提醒:在智慧工厂项目中,不要试图让AI看板直接读取PLC内部DB块。应通过SCADA服务器统一采集和缓存,这样即使网络抖动或PLC重启,看板仍能显示历史数据,且不会增加PLC的通信负担。

2.2 数据采集实战:PLC与传感器的接入策略

操作流程:数据采集是SCADA系统的“血液”。一个典型的采集流程包括:设备发现 → 点位映射 → 轮询/订阅配置 → 数据质量标记 → 边缘缓存。以西门子S7-1500 PLC为例,采集步骤如下:

  1. 设备发现:在SCADA配置工具(如WinCC、Ignition)中扫描以太网,找到PLC的IP地址和槽号。
  2. 点位映射:将PLC程序中的DB块变量(如DB1.DBD0: 电机电流)映射为SCADA的Tag(标签)。建议Tag命名遵循产线_设备_参数规范,例如Line1_Motor1_Current。
  3. 通信配置:选择Profinet或S7协议(S7-1500支持S7-Comm)。设置轮询周期(通常100ms~1s),或使用SIMATIC S7-1500的“Pull/Subscribe”功能实现变化触发上报。
  4. 数据质量标记:SCADA应识别PLC返回的“Bad”或“Uncertain”质量戳,并在看板上显示灰色或黄色,避免将无效数据用于AI分析。
  5. 边缘缓存:在SCADA服务器本地磁盘或内存数据库中缓存至少7天的数据,防止网络中断导致数据丢失。

案例拆解:某汽车零部件工厂需要采集20台压铸机的合模压力、锁模力、模具温度(共120个模拟量点)和60个数字量状态(门开/关、润滑报警)。初始方案是让每台压铸机的PLC直接通过Modbus TCP向看板推送数据,结果导致看板刷新卡顿,且PLC扫描周期从5ms恶化到20ms。分析发现,PLC的通信负载过高,且看板频繁轮询导致网络冲突。

优化方案:引入一台边缘网关(如Kepware或Node-RED),网关通过Profinet与PLC通信,将数据转换为OPC UA Server,SCADA服务器作为OPC UA Client订阅数据。同时,网关内部设置死区阈值(如压力变化超过0.5MPa才上报),将网络流量降低70%。最终,PLC扫描周期恢复至5ms,看板数据刷新延迟稳定在200ms以内。

风险提示:传感器信号接入时,务必注意电气隔离和接地。在变频器附近使用屏蔽双绞线,且屏蔽层单端接地,否则会导致AI看板上的模拟量数据出现“毛刺”或漂移,影响设备健康诊断的准确性。

2.3 实时数据库:时序数据存储与查询的核心

核心原理:SCADA系统的实时数据库(Real-time Database, RTDB)与普通关系型数据库(如MySQL)有本质区别。RTDB针对时间戳写入和范围查询进行了深度优化,支持每秒数万甚至数十万点的并发写入,且数据压缩比高(通常10:1以上)。在智慧工厂看板中,RTDB负责存储设备健康指标(振动频谱、温度趋势)、告警事件和产线计数等时序数据。

选型对比:常见的RTDB包括OSIsoft PI Server、Aspen InfoPlus.21、InfluxDB(开源)、TDengine(国产开源)等。选择时需考虑以下维度:

维度PI ServerInfluxDBTDengine
写入性能极高(>100万点/秒)高(~50万点/秒)极高(>100万点/秒)
压缩比15:13:110:1
SQL支持有限(专有接口)完整SQL标准SQL
与SCADA集成原生OPC UA需中间件提供REST API
许可成本高开源/商业开源/商业

操作流程:在配置RTDB时,应遵循“先建模,后接入”的原则。首先定义资产模型(如产线→设备→测点),然后为每个测点设置采集死区、压缩算法和存储周期。例如,对于振动加速度信号,可设置死区为0.1g,存储周期为1秒;对于温度信号,死区为0.5℃,存储周期为10秒。这样可大幅减少存储占用,同时保留关键特征。

实战建议:对于AI看板中的“设备健康度”计算,建议在RTDB中预计算聚合值(如每小时的平均振动值、峰值、峰峰值),而不是让看板每次查询原始数据。这可以通过RTDB的“计算引擎”或定时批处理任务实现,将查询响应时间从秒级降至毫秒级。

2.4 OPC UA与通信协议:统一数据语义的关键

核心原理:OPC UA(Unified Architecture,统一架构)是SCADA系统中最关键的通信标准,它不仅是数据传输协议,更是一个信息建模框架。与传统的OPC DA(基于COM/DCOM)相比,OPC UA具备跨平台(Windows/Linux)、内置安全(证书加密)、语义建模(对象、方法、事件)等优势。在智慧工厂中,OPC UA解决了“数据孤岛”问题——不同厂商的PLC、传感器、仪表可以通过统一的地址空间(Address Space)向SCADA或云端暴露数据。

通信协议对比:

  • Modbus TCP:简单、广泛支持,但无内建安全,数据模型扁平(仅寄存器地址),适合设备级点对点通信。
  • Profinet:西门子主导的实时以太网协议,支持IRT(等时同步),适合运动控制和高速逻辑,但生态相对封闭。
  • EtherNet/IP:罗克韦尔主导,基于CIP协议,适合北美工厂,与Profinet竞争。
  • OPC UA:独立于厂商,支持复杂对象建模(如将“电机”建模为包含温度、振动、转速属性的对象),并支持发布/订阅(PubSub)模式,适合SCADA到云端的大规模数据传输。

案例拆解:某电子制造工厂需要将SCADA数据上传至AWS云平台进行AI训练。最初使用Modbus TCP将数据从PLC直接推送到云网关,但发现两个问题:一是PLC的IP地址和寄存器映射在云端难以维护;二是数据缺乏语义(云端不知道寄存器40001代表的是温度还是压力)。

解决方案:在SCADA服务器上部署OPC UA Server,将PLC的寄存器映射为具有语义的UA节点(如ns=2;s=Line1.Oven.Temperature)。云端通过MQTT插件订阅OPC UA的数据变化,并自动将UA节点ID转换为云端的资产属性。这样,云端AI模型可以直接读取“温度”和“压力”字段,无需关心底层PLC地址。同时,OPC UA的安全机制(X.509证书)确保了数据传输的机密性和完整性。

常见误区:不要认为OPC UA是“万能协议”。在实时性要求极高的场合(如伺服轴同步),仍需使用Profinet IRT或EtherCAT。OPC UA更适合监控层以上的数据采集和系统集成。此外,OPC UA的PubSub模式需要配置UADP或MQTT传输,若网络不稳定,需在SCADA侧增加消息重发和缓存机制。

2.5 总结复盘与实施要点

本章从架构、采集、存储和通信四个维度剖析了SCADA系统。在构建AI+SCADA看板时,请牢记以下要点:

  • 架构先行:严格遵循ISA-95分层,避免PLC直连云端,确保控制层安全。
  • 数据质量为王:在采集源头标记数据质量,利用死区压缩和边缘缓存保证数据连续性和有效性。
  • RTDB是核心资产:选择适合的时序数据库,并做好资产建模和预聚合,为AI算法提供干净、高效的数据管道。
  • OPC UA是集成利器:优先采用OPC UA作为SCADA与上层系统(云端、AI平台)的通信标准,利用其语义建模能力减少数据清洗工作量。
复盘经验:在项目初期,建议先绘制一张“数据流图”,标注每个数据点的来源设备、协议、采集频率、存储位置和消费方(看板/告警/AI)。这张图应作为设计文档的核心,并在实施过程中持续更新。很多看板项目失败的原因并非技术不先进,而是数据链路混乱,导致告警延迟或数据对不上。