问题定义
工业物联网与数据采集解决的是"数据怎么从现场上来"的问题。上层的大模型、智能体、时序分析都依赖这一层:没有稳定、语义一致、时间戳可信的数据流,算法层的投入几乎无法转化为产线上的可用结果。
核心问题包括:异构协议适配(PLC、CNC、仪表、机器人各自为政)、点位语义治理、采样与带宽的权衡、断网与乱序下的数据完整性、OT 网络的安全边界、以及高频时序数据的存储成本。
核心技术
协议栈与适配层
现场层以 Modbus(RTU / TCP)、S7comm、EtherNet/IP、Profinet 等工业总线为主,多数为明文、无认证;车间层向上汇聚时普遍转为 OPC-UA 或 MQTT。工程上的常见做法是在边缘网关完成协议转换,而不是让上层应用直连设备。
原则:上层只面对统一的数据契约,设备差异下沉到网关
OPC-UA 信息模型
OPC-UA(IEC 62541)不只是通信协议,它提供了带语义的地址空间:节点通过 NodeId 标识,以引用关系组织成层次结构,可携带数据类型、工程单位与取值范围。订阅机制通过监控项(MonitoredItem)上报变化,支持设置采样间隔、发布间隔与死区。
收益:稳态工况下上报量可下降一个量级,同时不丢失关键变化
MQTT 与 Sparkplug B
MQTT 是轻量发布/订阅协议,适合跨网络、弱网环境。原生 MQTT 只传字节流,缺少主题结构与状态语义;Sparkplug B 在其上定义了主题命名空间、Payload 编码(含时间戳、数据类型、质量位)以及 Birth/Death 证书机制,使消费方能感知设备在线状态。
QoS 选择:QoS 0 高频遥测 / QoS 1 关键事件 / QoS 2 一般不用(四次握手代价高)
采样与数据完整性
采样率决定能观测到什么。按采样定理,要还原频率上限为 f_max 的信号,采样率需满足 f_s ≥ 2·f_max;实际工程中常取 5~10 倍。振动类故障诊断往往需要 kHz 级采样,而能耗、工单类数据秒级甚至分钟级即可。
断网补偿:边缘侧环形缓存 + 时间戳幂等写入,恢复后按 (tag, ts) 去重回填
时序存储与压缩
点位量 × 采样率的乘积决定了存储压力。时序库通过列式存储、专用编码与预聚合控制成本。选型时需同时考虑写入吞吐、压缩率、降采样查询与运维复杂度。
原始:5000 点 @1Hz × 8 字节 × 86400 ≈ 3.46 GB/天
压缩比 1:10 后 ≈ 0.35 GB/天(实际压缩比随信号平稳程度变化)
协议选型对比
| 协议 | 传输层 | 语义能力 | 安全性 | 典型用途 |
|---|---|---|---|---|
| Modbus TCP | TCP 502 | 仅寄存器地址,无自描述 | 无认证、无加密 | 仪表、变频器、老旧设备 |
| S7comm | TCP 102 | 西门子数据块寻址 | 明文,依赖网络隔离 | 西门子 S7 系列 PLC |
| OPC-UA | TCP 4840(可映射 HTTPS) | 完整信息模型、类型系统 | 支持证书、签名、加密 | 车间级汇聚、跨厂商集成 |
| MQTT | TCP 1883 / 8883(TLS) | 主题字符串,语义靠约定 | 支持 TLS 与鉴权 | 跨厂区、云边同步 |
| Sparkplug B | 基于 MQTT | 强约定主题 + Payload 编码 | 继承 MQTT 安全机制 | 需要状态感知的规模部署 |
工程实践指南
点位治理
- 统一命名:按"厂区 / 产线 / 设备 / 测点"分层命名,并绑定工程单位与量程,避免同一个温度在不同系统里有三种叫法
- 区分四类点:过程参数(连续采集入库)、下发参数(写回 PLC)、回环校验点(验证写入是否生效)、报警点(事件驱动)。四类点的采集策略与存储策略应分别配置
- 读写分离:写入通道单独限流与审计,禁止与分析型查询共用连接
采集配置
- 先清点再实施:实施前完成点位清单与寄存器地址核对,现场逐个验证可读性,比事后返工便宜得多
- 按用途定频率:控制闭环用高频、分析建模用中频、统计报表用低频,不要全网统一高频
- 边缘预处理:在网关完成死区判断、单位换算与简单聚合,只把有效变化往上传
稳定性
- 断点续传:边缘侧落盘缓存,网络恢复后按时间戳回填,并保证写入幂等
- 心跳与质量位:每个点位携带质量标记(Good / Bad / Uncertain),数据缺失与设备故障在分析层要能区分
- 连接数控制:PLC 的连接资源有限,采集连接数需在实施前与设备方确认,避免影响控制网络
安全边界
- 只出不进:优先采用边缘侧主动外连的方式穿越网络边界,避免在现场网络开放入站端口
- 只读优先:默认授予只读权限,写入能力按点审批并留审计日志
- 分区分域:采集网络与办公网隔离,跨网传输加密,禁止把 PLC 直接暴露在可被外网访问的网段
常见误区
- 先建平台后补数据:平台建成后才发现点位语义混乱、历史数据缺失,模型无米下锅
- 采集越全越好:无差别全采导致存储与运维成本失控,且噪声点位会稀释分析价值
- 忽略时钟:设备侧与服务端时钟不一致,多源数据无法对齐,是关联性分析失败的高频原因
开源项目
EdgeX Foundry
边缘物联网框架,提供设备服务、核心数据、规则引擎等微服务组件,适合作为统一的边缘接入底座。
EMQX
高吞吐 MQTT 消息服务器,支持海量连接与规则引擎数据桥接,适合作为跨厂区数据汇聚总线。
Node-RED
低代码流式集成工具,配合 S7、OPC-UA、Modbus 等节点可快速完成协议适配与边缘逻辑编排。
Apache IoTDB
面向工业物联网的时序数据库,支持边缘端与云端协同部署,压缩率高,适合大规模点位存储与降采样查询。
TDengine
国产高性能时序数据库,采用"一个设备一张表"模型,写入与聚合查询性能突出,配套缓存与流式计算组件。