2. 工业数据采集基础

在 AVEVA 工业数据采集与可视化平台中,数据采集是整个系统的“入口”。如果入口没有设计清楚,后面的可视化、报警、报表和趋势分析都会失去可靠基础。本节围绕四个核心概念展开:数据源类型、采集协议、实时数据库与历史数据库。理解它们之间的关系,是后续配置采集通道、建立数据模型和设计画面时的前提。

一、数据源类型:先分清“数据从哪里来”

工业现场的数据源并不只有一种形态。按照数据产生和暴露方式,常见的数据源可以分为以下几类:

  • PLC/DCS 控制器:如西门子 S7-1200/1500、罗克韦尔 ControlLogix、施耐德 M580、和利时/浙大中控 DCS。它们通过自身通信口或扩展模块对外提供过程变量,例如温度、压力、流量、阀门开度、电机状态。
  • RTU/远程终端单元:常用于油气管道、水务、电力配网等分布式场景,点位分散、通信距离远,通常支持 Modbus、DNP3、IEC 60870-5-104 等协议。
  • 智能仪表与传感器:如支持 HART、Profibus PA、Foundation Fieldbus 的变送器,除主变量外还可提供诊断、组态参数等多变量数据。
  • SCADA/第三方系统:通过 OPC UA、OPC DA、数据库接口或 API 提供数据,属于“系统对系统”的数据源。
  • 文件与消息类数据源:如 CSV 文件、MQTT 消息、Kafka 主题,常见于设备物联网、能源管理或边缘计算场景。

在 AVEVA 平台中,数据源通常以“通道(Channel)”或“设备(Device)”的形式组织。一个通道对应一种通信驱动,一个设备对应一台具体控制器或仪表。例如,用 Modbus TCP 驱动建立一个通道,再在该通道下建立多个设备,每个设备用 IP 地址和端口区分。这样组织的好处是:通信参数集中管理,点位按设备归属,排障时能快速定位是“通道不通”还是“某个设备不通”。

二、采集协议:决定“怎么把数据取回来”

采集协议是数据源与采集服务之间的“语言”。选错协议,轻则采集效率低,重则根本连不上。工业场景中常见的协议及其适用特点如下:

协议典型承载适用场景注意事项
Modbus RTU/TCP串口 / 以太网PLC、仪表、RTU 通用采集寄存器地址需区分 0/1/3/4 区,注意字节序
S7 通信以太网西门子 S7 系列需正确设置机架号、槽号与 TSAP
OPC UA以太网跨厂商、跨平台、带语义的数据交换需关注安全策略、证书与节点 ID 命名空间
OPC DAWindows COM/DCOM传统 Windows SCADA 环境DCOM 配置复杂,逐步被 OPC UA 替代
MQTTTCP/TLS边缘设备、物联网、低带宽场景需约定主题层级与 JSON 负载格式
IEC 60870-5-104TCP电力调度、配网自动化需理解遥测、遥信、遥调、遥控四类报文

选择协议时,优先看数据源原生支持什么,再看平台驱动是否覆盖。以一台支持 Modbus TCP 的流量计为例,采集服务中需要配置:IP 地址、端口 502、从站号、功能码、起始寄存器地址、寄存器数量、数据类型(如 32 位浮点)和字节序。若读回的值明显异常,例如流量显示为 1.2e-38,通常说明字节序或数据类型配置错误,而不是仪表故障。

采集协议配置完成后,建议先用驱动自带的“测试连接/读取单点”功能验证一个已知点位,再批量导入点表。这样能把通信问题和点表问题分开排查。

三、实时数据库:保存“当前这一刻”

实时数据库(RTDB)面向的是“当前值”。它保存每个测点的最新数值、时间戳和质量码,并支持高速读写、订阅和变化通知。在 AVEVA 平台中,实时数据库通常承担以下职责:

  • 维护每个点的当前值,供画面、报警、脚本快速读取;
  • 支持按变化上报(Deadband)和周期扫描两种更新方式;
  • 提供质量码,例如 Good、Bad、Uncertain,用于判断数据是否可信;
  • 作为历史归档的数据来源,按归档策略写入历史库。

实时数据库的关键参数包括:扫描周期、死区、超时时间、重试次数。例如,一个温度点扫描周期设为 1000 ms,死区设为 0.5 ℃,则温度变化小于 0.5 ℃ 时不产生新事件,变化超过 0.5 ℃ 才更新并触发订阅。这样既能反映真实变化,又能避免大量无意义的数据刷新。

四、历史数据库:保存“过去那一段时间”

历史数据库(Historian)面向的是“时间序列”。它按时间顺序存储测点值,支持趋势查询、报表统计、批次追溯和长期归档。与实时数据库相比,历史库更关注:

  • 压缩与存储效率:常用旋转门(Swinging Door)等有损压缩算法,在保证趋势形状的前提下减少存储量;
  • 查询能力:支持按时间范围、采样间隔、聚合方式(平均、最大、最小、累计)取数;
  • 数据保留策略:按天数、容量或分级归档管理,避免磁盘无限增长。

实时库与历史库的关系可以这样理解:实时库是“现在”,历史库是“过去”。采集服务把数据写入实时库,归档服务再按策略把实时库中的数据落到历史库。画面上的实时数值来自实时库,趋势曲线和日报表来自历史库。

工业数据采集链路:数据源 → 协议 → 实时库 → 历史库 数据源类型 PLC / DCS 控制器 S7-1500、ControlLogix RTU / 远程终端 管道、水务、配网 智能仪表 / 传感器 HART、Profibus PA SCADA / 第三方系统 OPC UA、API 文件 / 消息源 CSV、MQTT、Kafka 采集协议 Modbus RTU / TCP S7 通信 OPC UA / DA MQTT IEC 60870-5-104 DNP3 实时数据库 RTDB 当前值 + 时间戳 质量码 Good/Bad 扫描周期 1000 ms 死区 0.5 ℃ 订阅 / 变化通知 供画面与报警读取 超时 / 重试 通信状态监视 历史数据库 Historian 时间序列存储 旋转门压缩 趋势 / 报表查询 平均、最大、累计 保留策略 按天 / 容量归档 批次追溯 长期数据回放 驱动 写入 归档 实时库回答“现在是多少”,历史库回答“过去一段时间怎么变化”;采集协议决定数据能否被正确取回。

五、四个概念如何协同工作

把四个概念串起来看,一条完整的数据链路是:现场设备产生数据 → 采集服务按协议读取 → 写入实时数据库 → 归档服务按策略写入历史数据库 → 画面、趋势、报表分别从实时库和历史库取数。任何一个环节配置不当,都会在最终画面上表现为“没有数据”“数据不刷新”或“趋势断线”。

以一台 Modbus TCP 温度变送器为例,假设寄存器 40001 保存温度值,数据类型为 32 位浮点、大端字节序,扫描周期 1000 ms,死区 0.2 ℃,历史归档周期 60 s。配置完成后,可以在实时库中看到当前温度和质量码;等待几分钟后,在历史库中查询该点,应能看到每分钟一个归档值。如果实时值正常但历史趋势为空,应优先检查归档服务是否启动、归档组是否包含该点、归档周期是否设置过短或过长。

常见误区:把实时库当成历史库使用,或把历史库当成实时库查询。实时库适合高频读取当前值,历史库适合按时间范围查询。混用会导致性能下降或查询结果不符合预期。

掌握数据源类型、采集协议、实时数据库和历史数据库这四个基础概念后,后续配置采集通道、建立点表、设计画面和趋势时,就能清楚每一步在整条链路中的位置和作用,也能在出现问题时快速判断故障发生在哪一段。