数据采集层架构

引言

数据采集层是工厂数据平台总体架构的基石,直接决定了数据平台”能看见什么、能分析什么”。工厂环境中的数据源种类繁多、协议各异、环境复杂,如何将这些分散的数据源可靠地接入平台,是智能制造落地的首要技术挑战。本文系统阐述数据采集层的设计方法与关键技术。

三大数据源分类

设备数据(OT域)

设备数据是工厂最核心的数据源,来源于各类生产设备和自动化系统:

  • PLC/DCS数据:设备运行状态(运行/停机/故障)、工艺参数(温度/压力/转速/位移)、产量计数
  • 传感器数据:振动传感器、温度传感器、视觉检测器等IoT设备的高频采样数据
  • SCADA-数据采集与监视数据:经过SCADA系统汇聚后的产线级监控数据

设备数据的特点是高频率、大体量、强时序性,单台设备的采集频率可从100ms到1ms不等。

业务数据(IT域)

业务数据来源于工厂各类管理系统:

业务数据的特点是结构化强、关联复杂、事务性要求高

外部数据

外部数据虽然不是工厂内生数据,但对生产决策有重要参考价值:

  • 环境数据:温湿度、空气质量(影响工艺质量)
  • 能源数据:电力负荷、天然气消耗、水务数据
  • 市场数据:订单预测、原材料价格波动
  • 供应链数据:供应商交付状态、物流追踪

设备数据采集链路

典型的设备数据采集链路如下:

PLC/传感器 → 协议网关 → MQTT Broker → Kafka → 时序数据库
                                        → Flink(实时计算)

采集层组件设计

协议网关是采集链路的核心组件,负责将各种工业协议转换为标准化的数据格式:

  1. 数据读取:通过OPC-UA或Modbus协议从PLC读取原始寄存器数据
  2. 协议转换:将寄存器数据映射为有工程意义的物理量(温度、压力等)
  3. 数据封装:按照统一的JSON/Protobuf格式封装数据,附上时间戳和元数据
  4. 可靠传输:通过MQTT协议发送至消息代理,支持QoS保障

EdgeX Foundry边缘框架

EdgeX Foundry是Linux基金会下的开源边缘计算框架,在工厂场景中被广泛采用:

  • 设备服务层:支持多种工业协议的设备驱动(Modbus、OPC-UA、BACnet等)
  • 核心数据层:数据的标准化、验证和持久化
  • 规则引擎层:基于eKuiper的边缘流处理
  • 导出服务层:将处理后的数据发送至云端或中心平台

工业协议详解

OPC-UA(统一架构)

OPC-UA是新一代工业通信标准,具有以下核心优势:

  • 平台无关性:基于HTTP/TCP,跨平台、跨语言
  • 信息模型:内置地址空间和数据模型,设备自描述能力
  • 安全机制:内置加密、认证、授权
  • 订阅机制:支持数据变化订阅,减少轮询开销

在工厂实践中,OPC-UA适用于新设备接入跨系统数据交换场景,是ISA-95 Level 2-3层数据交互的首选协议。

Modbus(传统PLC协议)

Modbus是最经典的工业通信协议,在存量设备中占比极高:

  • Modbus RTU:基于串口(RS-485),传输距离远、抗干扰强,但速率较低
  • Modbus TCP:基于以太网,配置简单,但缺乏安全机制
  • 数据模型:线圈(Coil)、离散输入(Discrete Input)、保持寄存器(Holding Register)、输入寄存器(Input Register)

Modbus的主要挑战是寄存器地址映射——每个PLC厂商的寄存器地址分配不同,需要逐个配置点位映射表。

MQTT(物联网标准协议)

MQTT是轻量级的发布/订阅消息协议,在工厂IoT场景中广泛使用:

  • 轻量高效:最小的报文开销(2字节),适合带宽受限环境
  • QoS保障:三级服务质量(0-至多一次、1-至少一次、2-恰好一次)
  • 遗嘱机制:设备异常断线时自动通知
  • 保留消息:最新状态自动保留,新订阅者立即可获取

MQTT的Topic设计是关键实践点,推荐按工厂/车间/产线/设备/数据类型的层级设计,例如:

factory/workshop-a/line-1/cnc-01/temperature

EtherNet/IP

EtherNet/IP是基于以太网的工业协议,在罗克韦尔(Rockwell)生态中广泛使用:

  • CIP协议:通用工业协议(Common Industrial Protocol)
  • 隐式消息:用于实时I/O数据交换
  • 显式消息:用于配置和诊断

在工厂中,EtherNet/IP主要用于PLC之间的高速数据交换,采集层通常通过协议网关转换后接入。

边缘计算设计

边缘计算在数据采集层扮演越来越重要的角色,其核心价值在于:

数据清洗

在边缘侧完成原始数据的初步清洗:

  • 异常值过滤:基于物理量程的合理性检查
  • 去重处理:消除重复数据包
  • 时间戳校准:修正网络延迟导致的时间偏差

协议转换

将多种工业协议统一转换为标准格式:

OPC-UA/Modbus/EtherNet/IP → 统一JSON格式 → MQTT/Kafka

边缘推理

将部分AI推理下沉到边缘侧:

  • 设备异常检测:基于振动数据的实时异常判断
  • 质量预判:基于工艺参数的实时质量预估
  • 安全监控:基于视觉的人员安全检测

边缘推理大幅降低了云端通信带宽需求和响应延迟。

数据采集的核心挑战

网络不稳定

工厂网络环境复杂,无线信号受金属设备干扰,有线网络受设备改造影响:

  • 断点续传:网关本地缓存(通常配置24-72小时),网络恢复后自动补传
  • 数据压缩:边缘侧对采集数据进行压缩,降低带宽需求
  • 多路径传输:有线+无线双通道冗余

协议异构

一个典型工厂可能同时存在5种以上工业协议,协议转换和维护成本极高:

  • 统一接入框架:采用EdgeX等框架,插件式管理协议驱动
  • 设备模板库:预置常见设备型号的协议模板,减少配置工作量
  • 自动发现:通过mDNS或SSDP实现设备自动发现和注册

时钟同步

多设备数据关联分析依赖于精确的时间同步:

  • NTP同步:精度毫秒级,满足大多数工厂场景
  • PTP同步:精度微秒级,用于高频振动等精密分析场景
  • 网关打戳:在网关侧统一打时间戳,避免设备时钟偏差

采集点位管理

大型工厂可能有数万至数十万采集点位,管理复杂度极高:

  • 点位管理平台:统一的点位注册、配置、监控平台
  • 动态发现:支持设备上线后自动注册采集点位
  • 版本管理:采集配置的变更追踪和回滚能力

与数据平台的衔接

数据采集层的输出通过消息总线(Kafka)传递给上层:

  • 实时通道:Kafka → Flink → 实时数据流水线 → Doris/实时看板
  • 离线通道:Kafka → Spark → 时序数据库/数据湖
  • 告警通道:Kafka → Flink CEP → 告警引擎 → 通知系统

这种基于消息总线的架构解耦了采集层与计算层,使得新数据源的接入不需要修改下游系统。

总结

数据采集层是工厂数据平台总体架构的”第一公里”,其设计质量直接影响整个平台的数据完整性和时效性。通过标准化的协议转换、可靠的传输机制、智能的边缘计算,以及系统化的点位管理,可以构建一个健壮、灵活、可扩展的数据采集体系。