工业数据采集架构方案
NiFi + 自定义适配器 · 纯软件优先
BMS · EMS · CCTV 数据统一采集
纯软件方案 → 条件校验 → 硬件补充
项目背景与采集范围
🏭 BMS 楼宇管理系统
- 平台:WinCC 4.x 本地部署(Siemens)
- 通信:Siemens PLC → OPC UA
- 设备:4台空压机、2套纯化水、1套注射用水
- 设备:~50台AHU、4台冷水机组、4台冷却塔
🌡️ EMS 环境监测系统
- 平台:WinCC 4.x 本地部署(Siemens)
- 通信:Siemens PLC → OPC UA
- 数据:温湿度、压差(车间级+设备级)
📹 CCTV 视频监控系统
- 平台:One-Systems
- 通信:RTSP / RTMP / API
- 设备:72台海康威视摄像头
🎯 设计原则:纯软件优先
- ✓ 先用纯软件方案打通全部链路
- ✓ 每步验证条件,不满足再补硬件
- ✓ 最小化硬件投入
整体架构(纯软件方案)
数据源
BMS · EMS · CCTV
→
协议层
OPC UA · RTSP/API
(已有,无需新增)
→
采集层(新增)
Apache NiFi
+ 自定义适配器
→
消费层
存储 · 平台 · 大屏
核心思路:WinCC 4.x 已内置 OPC UA Server,海康摄像头原生支持 RTSP/ISAPI。
纯软件方案 = NiFi 直接对接现有协议,零额外硬件。
Apache NiFi 角色
- 可视化数据流编排
- 内置 OPC UA Processor
- 集群部署,高可用
- 数据血缘 + 审计日志
自定义适配器角色
- 海康 ISAPI 私有协议解析
- RTSP → HLS/FLV 流转换
- 非标准接口适配
- 打包为 .nar 插件热部署
Phase 1 · 环境调查
Step 1:确认 OPC UA 可用性
前置条件(WinCC 4.x):
- WinCC 4.x 版本 ≥ V7.0(支持 OPC UA)
- OPC UA Server 已启用
- OPC UA 端口(默认 4840)可达
- 有 OPC UA 访问凭证(证书/用户名密码)
验证方法:
- 使用 UaExplorer 连接 WinCC OPC UA Server
- 能浏览到 BMS/EMS 的点位树
- 能读取实时数据值
❌ 如果不满足 → 需要采购硬件:
场景 A:WinCC 版本过旧(无 OPC UA)
- 采购 OPC UA 网关(如 Softing、Kepware)
- 将 S7/MPI/Profibus 转为 OPC UA
- 预算:¥5,000-20,000 / 套 × 2套
场景 B:网络不通(工控网与办公网隔离)
- 采购 工业网关(如 Moxa NPort、Siemens SCALANCE)
- 双网卡桥接两个网段
- 预算:¥3,000-8,000 / 台 × 2-3台
Phase 1 · 环境调查
Step 2:确认 CCTV 视频流可获取
前置条件(海康威视 + One-Systems):
- 摄像头 RTSP URL 格式已知
- NiFi 服务器能访问摄像头 IP
- One-Systems API 接口文档可获取
- 摄像头登录凭证(用户名/密码)
验证方法:
- VLC 播放 RTSP 流:
rtsp://ip:554/Streaming/Channels/101
- curl 调用 ISAPI 接口获取设备状态
- 确认码率、分辨率可接受
❌ 如果不满足 → 需要采购硬件:
场景 C:摄像头在独立视频专网,无法从 NiFi 访问
- 采购 视频网关 / 流媒体服务器
- 部署在视频网内,将 RTSP 转为 HLS 对外输出
- 预算:¥5,000-15,000
场景 D:72路视频需要集中存储
- 采购 NVR / 存储服务器
- 72路 × 30天 ≈ 40-80TB
- 预算:¥50,000-120,000
Phase 1 · 环境调查
Step 3:确认 NiFi 部署环境
前置条件:
- 3台服务器或虚拟机(4C8G 起步)
- Java 11+ 运行环境
- 服务器间网络互通
- ZooKeeper 3节点(NiFi 集群依赖)
- 能访问 WinCC OPC UA + 摄像头 IP
验证方法:
- 在服务器上安装 NiFi,启动单节点验证
- 确认能连接 OPC UA Server
- 确认能拉取 RTSP 流
❌ 如果不满足 → 需要采购:
场景 E:没有可用服务器
- 采购 3台工控机 / 服务器
- 或使用现有虚拟化平台分配 VM
- 预算:¥15,000-30,000(物理机)
- 云上 VM 约 ¥1,500-3,000/月
✅ Phase 1 通过标准
- OPC UA 可连接并读到数据
- RTSP 流可播放
- NiFi 单节点能跑通采集流程
Phase 2 · 全量接入
自定义适配器开发 + 全量数据接入
BMS 适配器
- OPC UA Processor 配置
- 点位映射(~1290点)
- 数据清洗 + 标准化
- 写入时序数据库
纯软件
EMS 适配器
- OPC UA Processor 配置
- GMP 合规数据标记
- 异常值过滤
- 环境监测看板输出
纯软件
CCTV 适配器
- 海康 ISAPI 协议解析
- RTSP → HLS 流转换
- 72路设备状态监控
- 录像计划管理
纯软件
Step 4 条件:NiFi 集群部署完成(3节点)+ ZooKeeper 就绪 → 开始全量接入
Step 5 条件:时序数据库就绪(InfluxDB/TDengine)→ 开始写入数据
⚠️ 如果采集性能不足(点位 > 5000 / 频率 < 100ms):
采购 边缘工控机,部署在工控网内做本地预处理,批量上报 NiFi。预算:¥8,000-15,000 / 台
Phase 3 · 按需增强
根据运行情况决定是否补充硬件
| 触发条件 | 问题现象 | 需要采购 | 预算 |
| 网络隔离 |
NiFi 无法访问 WinCC/PLC |
工业网关(Moxa/SCALANCE) |
¥6K-24K |
| WinCC 无 OPC UA |
只有 S7/MPI 协议 |
OPC UA 网关(Softing/Kepware) |
¥10K-40K |
| 视频网隔离 |
NiFi 无法访问摄像头 |
流媒体网关服务器 |
¥5K-15K |
| 采集性能瓶颈 |
CPU/网络打满,数据延迟 |
边缘工控机(预处理) |
¥8K-30K |
| 需要视频存储 |
72路 30天录像 |
NVR / 存储服务器(40-80TB) |
¥50K-120K |
| 无服务器 |
NiFi 无处部署 |
服务器 × 3 或云 VM |
¥15K-30K |
💡 关键原则
- ✓ 先验证再采购 — 不预判问题,实际测不通再买
- ✓ 最小化投入 — 很多场景纯软件就够了
- ✓ 优先复用现有 — WinCC/PLC/NVR 已有,能不买就不买
决策流程:纯软件 vs 硬件补充
开始:纯软件方案设计
↓
Step 1:WinCC OPC UA 能连上吗?
✗ 不能
↓
买 OPC UA 网关 或 工业网关
Step 2:摄像头 RTSP 能播放吗?
Step 3:有服务器部署 NiFi 吗?
✅ 全部通过 → 纯软件部署 NiFi + 适配器
BMS 采集详情
WinCC 4.x
BMS 服务器
→
Siemens PLC
S7-1200/1500
→
OPC UA
WinCC 内置
→
NiFi
GetOPCUA
→
时序数据库
InfluxDB
| 设备类型 | 数量 | 点位(估) | 采集频率 | 协议 |
| 空压机 | 4台 | ~80点 | 1s | OPC UA WinCC内置 |
| 纯化水系统 | 2套 | ~60点 | 1s |
| 注射用水 | 1套 | ~30点 | 1s |
| AHU 空调机组 | ~50台 | ~1000点 | 5s |
| 冷水机组 | 4台 | ~80点 | 1s |
| 冷却塔 | 4台 | ~40点 | 1s | OPC UA |
| 合计 | ~65台/套 | ~1290点 | - | - |
EMS + CCTV 采集详情
🌡️ EMS 环境监测
WinCC
OPC UA
→
NiFi
清洗+告警
→
监测看板
- 温度、湿度、压差
- 车间级 + 设备级
- ⚠ GMP 合规:连续无间断,≤ 30s 间隔
- 异常值过滤 + 阈值告警
📹 CCTV 视频监控
72路
海康摄像头
→
自定义适配器
ISAPI+RTSP
→
NiFi
路由分发
→
NVR
- RTSP 取流 → HLS/FLV 转码
- ISAPI 获取设备状态 + 告警
- 心跳检测(72路设备在线监控)
- ⚠ 30天存储需 NVR(40-80TB)
部署架构
NiFi 集群
- 3节点,4C8G 起步
- ZooKeeper 3节点协调
- SSL 加密 + 证书认证
- 自定义适配器 .nar 热部署
数据存储
| 类型 | 推荐 |
| 时序数据 | InfluxDB / TDengine |
| 关系数据 | PostgreSQL |
| 视频流 | NVR + 对象存储 |
| 消息缓冲 | Kafka(可选) |
监控告警
- NiFi 内置 UI(数据流监控)
- Prometheus + Grafana(指标采集)
- ELK(日志收集分析)
- 告警规则:采集延迟 / 断流 / 异常值
安全要求
- OPC UA 证书双向认证
- NiFi SSL + RBAC 权限
- 网络隔离(工控网 vs 办公网)
- 操作审计日志
方案总结
✅ 纯软件方案(优先执行)
- WinCC 4.x 内置 OPC UA → 无需网关
- 海康摄像头原生 RTSP/ISAPI → 无需额外设备
- NiFi + 自定义适配器 → 全量数据接入
- 额外硬件成本:¥0
⚠️ 硬件补充(验证不通过时再买)
- 网络不通 → 工业网关(¥6K-24K)
- 无 OPC UA → OPC UA 网关(¥10K-40K)
- 视频隔离 → 流媒体网关(¥5K-15K)
- 性能瓶颈 → 边缘工控机(¥8K-30K)
- 视频存储 → NVR(¥50K-120K)
- 无服务器 → 服务器 × 3(¥15K-30K)
📊 规模总览
- 设备:~137台/套 | 数据点:~1500+ | 视频通道:72路
- 实施周期:Phase 1(1-2周验证)→ Phase 2(3-4周全量)→ Phase 3(按需)