2、SCADA系统基础:SCADA架构、数据采集(PLC/传感器)、实时数据库与OPC UA等通信协议
SCADA(Supervisory Control And Data Acquisition,监控与数据采集)系统是智慧工厂的“神经系统”,它连接了现场设备层(PLC、传感器、仪表)与上层管理/展示层(AI看板、MES、云端分析平台)。在构建AI+SCADA看板之前,必须理解SCADA的分层架构、数据流转路径以及核心通信机制。本章将深入剖析SCADA的经典四层架构、数据采集的工程细节、实时数据库的选型要点,以及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 2 | PLC/RTU | Profinet, EtherNet/IP | 10-100ms | 设备状态/联锁 |
| Level 3 | SCADA服务器 | OPC UA, Modbus TCP | 100ms-1s | 告警/趋势/健康度 |
| Level 4 | 云端/AI平台 | MQTT, REST API | 秒级-分钟级 | 预测性维护/优化 |
2.2 数据采集实战:PLC与传感器的接入策略
操作流程:数据采集是SCADA系统的“血液”。一个典型的采集流程包括:设备发现 → 点位映射 → 轮询/订阅配置 → 数据质量标记 → 边缘缓存。以西门子S7-1500 PLC为例,采集步骤如下:
- 设备发现:在SCADA配置工具(如WinCC、Ignition)中扫描以太网,找到PLC的IP地址和槽号。
- 点位映射:将PLC程序中的DB块变量(如DB1.DBD0: 电机电流)映射为SCADA的Tag(标签)。建议Tag命名遵循
产线_设备_参数规范,例如Line1_Motor1_Current。 - 通信配置:选择Profinet或S7协议(S7-1500支持S7-Comm)。设置轮询周期(通常100ms~1s),或使用SIMATIC S7-1500的“Pull/Subscribe”功能实现变化触发上报。
- 数据质量标记:SCADA应识别PLC返回的“Bad”或“Uncertain”质量戳,并在看板上显示灰色或黄色,避免将无效数据用于AI分析。
- 边缘缓存:在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以内。
2.3 实时数据库:时序数据存储与查询的核心
核心原理:SCADA系统的实时数据库(Real-time Database, RTDB)与普通关系型数据库(如MySQL)有本质区别。RTDB针对时间戳写入和范围查询进行了深度优化,支持每秒数万甚至数十万点的并发写入,且数据压缩比高(通常10:1以上)。在智慧工厂看板中,RTDB负责存储设备健康指标(振动频谱、温度趋势)、告警事件和产线计数等时序数据。
选型对比:常见的RTDB包括OSIsoft PI Server、Aspen InfoPlus.21、InfluxDB(开源)、TDengine(国产开源)等。选择时需考虑以下维度:
| 维度 | PI Server | InfluxDB | TDengine |
|---|---|---|---|
| 写入性能 | 极高(>100万点/秒) | 高(~50万点/秒) | 极高(>100万点/秒) |
| 压缩比 | 15:1 | 3:1 | 10:1 |
| SQL支持 | 有限(专有接口) | 完整SQL | 标准SQL |
| 与SCADA集成 | 原生OPC UA | 需中间件 | 提供REST API |
| 许可成本 | 高 | 开源/商业 | 开源/商业 |
操作流程:在配置RTDB时,应遵循“先建模,后接入”的原则。首先定义资产模型(如产线→设备→测点),然后为每个测点设置采集死区、压缩算法和存储周期。例如,对于振动加速度信号,可设置死区为0.1g,存储周期为1秒;对于温度信号,死区为0.5℃,存储周期为10秒。这样可大幅减少存储占用,同时保留关键特征。
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证书)确保了数据传输的机密性和完整性。
2.5 总结复盘与实施要点
本章从架构、采集、存储和通信四个维度剖析了SCADA系统。在构建AI+SCADA看板时,请牢记以下要点:
- 架构先行:严格遵循ISA-95分层,避免PLC直连云端,确保控制层安全。
- 数据质量为王:在采集源头标记数据质量,利用死区压缩和边缘缓存保证数据连续性和有效性。
- RTDB是核心资产:选择适合的时序数据库,并做好资产建模和预聚合,为AI算法提供干净、高效的数据管道。
- OPC UA是集成利器:优先采用OPC UA作为SCADA与上层系统(云端、AI平台)的通信标准,利用其语义建模能力减少数据清洗工作量。