4. 工业数据采集

工业AI的数据闭环,起点不是模型,而是数据采集。如果采集层拿不到稳定、准确、时序对齐的现场数据,后续的特征工程、模型训练和闭环控制都会变成“垃圾进、垃圾出”。工业现场的数据源高度异构:底层是传感器和执行器,中间是PLC与DCS,上层是SCADA与MES,再往外是IoT网关和云平台。理解这些数据源的角色、接口和采集方法,是构建工业AI数据管道的第一个关键动作。

一、核心原理:从物理量到可计算数据

工业数据采集的本质,是把物理世界的连续量(温度、压力、振动、流量、位置)和离散状态(开关、报警、批次、工单)转换为计算机可存储、可计算的数据流。这个过程通常经过四层:

  • 感知层:传感器将物理量转换为电信号(4-20mA、0-10V、RTD、热电偶、IEPE等)。
  • 控制层:PLC/DCS按扫描周期读取I/O,执行逻辑控制,并维护寄存器、线圈、数据块等内部变量。
  • 监控层:SCADA/HMI通过OPC、Modbus、Profinet等协议从PLC采集数据,实现画面监控、报警和趋势记录。
  • 互联层:IoT网关或边缘计算节点通过MQTT、OPC UA、HTTP等协议,将数据汇聚到数据库或云平台。

关键点在于:采集频率、时间戳精度、数据质量三者必须同时满足AI应用要求。例如振动诊断需要kHz级采样,而能耗分析可能只需分钟级;PLC扫描周期可能是10ms,但SCADA历史库可能只存1s或1min的归档值。如果AI模型直接使用SCADA归档数据做高频故障诊断,就会因采样率不足而丢失关键特征。

工业数据采集四层架构与数据流 感知层 · 传感器/执行器 温度/压力 振动/加速度 流量/液位 位置/编码器 视觉/相机 RFID/扫码 4-20mA / 0-10V / IO-Link / 脉冲 控制层 · PLC / DCS / 运动控制器 I/O 扫描与逻辑 寄存器/数据块 报警与联锁 批次/配方 时间戳 Modbus / Profinet / EtherNet/IP / OPC DA 监控层 · SCADA / HMI / 历史数据库 实时画面与报警 趋势与归档 OPC UA 服务 关系/时序库 MES 接口 MQTT / OPC UA / HTTP / Kafka 互联层 · IoT 网关 / 边缘计算 / 云平台 协议转换 边缘缓存 数据清洗 时序入库 AI 训练/推理

二、方法流程:从现场到数据湖的采集链路

一个可落地的工业数据采集流程,通常按以下步骤推进:

  1. 需求定义:明确AI应用需要哪些测点、采样率、精度、时间窗口和标签。例如设备预测性维护需要振动原始波形、转速、负载和故障标签。
  2. 数据源盘点:列出传感器型号、PLC品牌与型号、SCADA版本、现有网络拓扑和协议支持情况。
  3. 接口选择:根据实时性要求选择采集方式。高频数据走边缘直采,低频管理数据走SCADA/OPC UA。
  4. 时间同步:部署NTP或PTP,确保PLC、网关、服务器时间偏差在毫秒级以内。
  5. 数据建模:定义测点命名规范、单位、量程、数据类型和标签体系,避免“一测多名”。
  6. 采集与缓存:边缘网关断网时本地缓存,恢复后补传,保证数据不丢。
  7. 质量校验:对缺失值、跳变、超量程、时间戳重复进行规则校验和告警。

典型采集参数配置示例(边缘网关):

{
  "device": "CNC-01",
  "protocol": "OPC UA",
  "endpoint": "opc.tcp://192.168.1.10:4840",
  "sampling": {
    "vibration": { "rate": "10kHz", "mode": "raw" },
    "temperature": { "rate": "1Hz", "mode": "deadband", "deadband": 0.5 },
    "status": { "rate": "10Hz", "mode": "on-change" }
  },
  "buffer": { "type": "local", "max_hours": 72 },
  "upload": { "protocol": "MQTT", "topic": "factory/cnc01/data" }
}

三、案例场景:三类典型数据源与采集方法

数据源 典型对象 常用协议/接口 采集频率 AI应用
传感器 振动、温度、压力、电流 4-20mA、IEPE、RS-485、IO-Link 1Hz~50kHz 故障诊断、异常检测
PLC/DCS 寄存器、线圈、数据块、报警字 Modbus TCP、Profinet、EtherNet/IP、OPC DA/UA 10ms~1s 工艺优化、质量预测
SCADA/历史库 归档值、报警记录、操作日志 OPC UA、SQL、REST API 1s~1min 能耗分析、OEE、趋势建模
IoT网关/云 多设备汇聚、边缘计算结果 MQTT、Kafka、HTTP、OPC UA Pub/Sub 事件驱动/秒级 跨厂区协同、联邦学习

以某汽车零部件工厂为例:冲压机振动数据通过IEPE传感器接入边缘采集卡,以20kHz采样;PLC通过Profinet将压力、速度、模具编号写入网关;SCADA历史库提供批次和报警信息。三类数据在边缘侧按统一时间戳对齐后,上传到时序数据库,用于训练冲压件裂纹预测模型。这里的关键不是“采到”,而是“采准、采齐、采同步”。

四、误区与复盘

常见误区:

  • 只采SCADA归档值:归档周期通常为秒级甚至分钟级,无法支撑高频故障诊断。
  • 忽略时间同步:PLC、网关、服务器各自为政,多源数据无法对齐,模型输入错位。
  • 测点命名混乱:同一温度在PLC叫T1、SCADA叫Temp_01、MES叫炉温,导致数据融合困难。
  • 无断点续传:网络抖动导致数据丢失,训练集出现大量空洞。
  • 只采不校验:传感器漂移、量程错误、重复时间戳直接进入模型,造成误报。

复盘建议:在采集层建立“数据契约”——每个测点必须明确单位、量程、采样率、时间戳来源、质量码和责任人。上线前用一周时间做数据质量基线,统计缺失率、跳变率、时间偏差和重复率。只有采集层稳定可信,工业AI的数据闭环才有坚实的地基。

总结来看,传感器、PLC、SCADA和IoT网关分别承担了“感知、控制、监控、互联”的角色。采集方法的选择取决于AI应用对频率、精度和实时性的要求。把采集链路当作一个工程系统来设计,而不是简单拉一根网线读几个寄存器,才能真正支撑后续的数据闭环。