1. 课程导入

在智能制造与工业互联网的落地过程中,数据采集是连接现场设备与上层业务系统的“第一公里”。无论是设备状态监控、能耗分析、预测性维护,还是 MES、SCADA、数字孪生,都依赖稳定、语义清晰、可追溯的现场数据。本课程围绕 OPC UA 与 MQTT 两条主流技术路线,带你从零构建一个可落地的工业数据采集平台。

一、学习目标:从“能连上”到“能管好”

本课程不是单纯讲解协议语法,而是以工程交付为目标,帮助学习者建立完整的数据采集能力体系。完成学习后,你应当能够:

  • 理解工业数据采集的层次结构:现场层、控制层、边缘层、平台层与应用层;
  • 掌握 OPC UA 的信息模型、地址空间、会话与订阅机制,能读取 PLC、CNC、机器人等设备数据;
  • 掌握 MQTT 的发布/订阅模型、QoS 等级、主题设计与保留消息,能构建轻量级数据上行通道;
  • 能够设计 OPC UA 与 MQTT 的协同架构,实现“南向采集、北向汇聚”;
  • 具备边缘网关配置、数据缓存、断线续传、时间戳对齐与数据质量标记的实操能力;
  • 能够对采集链路进行排障,定位网络、证书、点位、主题、QoS 等常见问题。
核心判断标准:一个合格的采集平台,不仅要“能读到数”,还要做到不丢数、不重数、可追溯、可扩展。

二、核心价值:为什么企业需要统一采集平台

传统产线中,设备品牌多、协议杂、数据孤岛严重。工程师常通过点对点脚本或私有协议采集,导致维护成本高、数据口径不一致。统一采集平台的价值体现在三个层面:

  1. 协议归一:将 Modbus、S7、OPC DA、OPC UA、MQTT 等异构协议统一为标准化数据模型,降低上层应用接入成本。
  2. 边缘自治:在网络波动或云端故障时,边缘网关可本地缓存并续传,保证数据完整性。
  3. 业务使能:为 OEE、能耗、报警、预测性维护等场景提供实时、可信的数据底座。

三、整体架构:南向采集、边缘处理、北向汇聚

下图展示了本课程贯穿始终的参考架构。南向通过 OPC UA 客户端或协议驱动连接现场设备;边缘层完成数据清洗、缓存与协议转换;北向通过 MQTT 将数据发布到消息 broker,再由平台层消费入库或转发。

工业数据采集平台参考架构 现场设备层 PLC / 变频器 CNC / 机器人 传感器 / 仪表 老设备 OPC DA Modbus RTU/TCP 边缘采集网关 OPC UA Client 会话 / 订阅 / 浏览 协议驱动与点位映射 Modbus / S7 / OPC DA 数据清洗与质量标记 时间戳 / 死区 / 异常值 本地缓存与断线续传 SQLite / 文件队列 MQTT Client 发布 平台与应用层 MQTT Broker EMQX / Mosquitto / HiveMQ 规则引擎与流处理 主题路由 / 告警 / 转发 时序数据库 / 数据湖 InfluxDB / TDengine / Kafka SCADA / MES / 数字孪生 看板 / 报表 / 预测性维护 统一命名空间与资产模型 南向 北向 MQTT 数据流:设备 → 协议驱动 → 边缘网关(清洗/缓存) → MQTT Broker → 平台消费 → 业务应用

四、课程路线图:六阶段递进

课程共 30 章,按“认知—协议—实操—集成—优化—排障”六阶段推进。下表给出阶段划分与关键产出,便于你建立学习节奏。

阶段 章节范围 核心内容 关键产出
认知导入 第 1–3 章 平台价值、架构、协议选型 架构图与选型清单
OPC UA 基础 第 4–10 章 信息模型、地址空间、会话、订阅 可读取 PLC 数据的 UA 客户端
MQTT 基础 第 11–16 章 发布订阅、QoS、主题、保留消息 可发布/订阅的 MQTT 通道
边缘集成 第 17–22 章 网关配置、点位映射、缓存续传 边缘采集网关原型
平台优化 第 23–27 章 时序存储、规则引擎、性能调优 可观测的采集链路
排障复盘 第 28–30 章 故障树、日志分析、项目复盘 排障手册与复盘报告

五、典型场景:一条产线的数据上行

以某汽车零部件产线为例:现场有 3 台 PLC、2 台机器人和 1 台能耗仪表。边缘网关通过 OPC UA 订阅 PLC 的节拍、状态、报警变量,通过 Modbus 读取能耗仪表,统一打上时间戳与质量码后,以 MQTT 主题 factory/line1/plc01/telemetry 发布到 EMQX。平台侧规则引擎将报警主题转发至企业微信,时序数据写入 TDengine,看板实时展示 OEE。

# 主题设计示例
factory/line1/plc01/telemetry   # 周期遥测
factory/line1/plc01/event       # 事件与报警
factory/line1/robot02/status    # 机器人状态
factory/line1/meter01/energy    # 能耗数据

# MQTT 发布参数示例
QoS = 1
Retain = false
Payload = {"ts":"2025-01-01T08:00:00Z","tag":"Speed","value":1200,"quality":"Good"}

六、常见误区与学习建议

误区一:认为“能 ping 通就能采集”。工业网络常存在 VLAN 隔离、防火墙端口限制、OPC UA 证书互信问题,连通性测试必须覆盖端口与安全策略。
误区二:忽视时间戳与质量码。没有统一时间基准的数据,在跨系统分析时几乎不可用。
误区三:QoS 越高越好。QoS 2 会带来额外握手开销,遥测数据通常 QoS 1 即可,关键报警再考虑更高保障。
学习建议:每学完一个协议模块,立即在本地用开源工具搭建最小闭环。例如用 Prosys OPC UA Simulation Server 模拟设备,用 Mosquitto 搭建 broker,用 MQTTX 观察消息。动手一次,胜过阅读十遍。

本课程将始终围绕“现场设备—边缘网关—MQTT Broker—平台应用”这条主线展开。你接下来要做的,是先把架构装进脑子,再逐层拆解每个环节的协议细节与工程细节。