3. AVEVA数据源与生产数据接入

生产KPI看板的价值取决于数据接入的完整性与实时性。AVEVA体系中,PI Data Archive、AVEVA Historian、AVEVA Edge三类数据源承担着不同的角色:PI Data Archive是面向过程工业的高性能时序数据库,AVEVA Historian(原Wonderware Historian)是面向工厂级历史归档的关系型时序库,AVEVA Edge(原Wonderware Edge)则部署在边缘侧,负责现场设备协议转换与本地缓存。理解三者的连接方式、协议配置与采集回填方法,是构建稳定KPI数据底座的前提。

三类数据源的定位与连接方式

PI Data Archive通过PI Interface或PI Connector采集数据,对外提供PI Web API、PI SQL、AF SDK等访问接口。看板侧通常通过PI Web API以REST方式读取PI Point的当前值与历史插值,或通过AF SDK在.NET服务中批量读取。AVEVA Historian以SQL Server为存储引擎,对外暴露Historian Client、SQL查询接口与REST API,其数据组织以Tag为单位,支持存储过程与视图查询。AVEVA Edge运行在边缘网关或工控机上,通过内置驱动连接PLC、DCS、仪表,再以MQTT、OPC UA或REST方式向上汇聚。

连接方式的选择取决于网络分区与实时性要求。控制网与信息网之间通常有防火墙隔离,此时边缘侧用OPC UA或MQTT穿越单向网关,中心侧用PI Web API或Historian REST接口供看板调用。若看板与Historian同域部署,直接使用SQL查询延迟更低;若跨域,则优先走HTTPS封装的REST接口。

OPC UA/DA、Modbus与MQTT协议配置要点

OPC UA是当前主推的采集协议,配置时需关注端点URL、安全策略与用户身份。典型端点形如opc.tcp://10.20.30.11:4840,安全策略建议使用Basic256Sha256并启用签名与加密,匿名访问仅用于调试。节点ID需按命名空间索引定位,例如ns=3;s=Line1.Reactor.Temp。订阅时设置采样间隔(如1000ms)与死区(如0.5),死区过小会造成网络与存储压力,过大则丢失工艺波动细节。

OPC DA基于COM/DCOM,配置重点是DCOM权限与防火墙135端口。跨网段使用DA时,建议通过OPC UA隧道或Tunneler封装,避免直接暴露DCOM。Modbus TCP配置相对简单,需确认单元ID、寄存器地址与数据类型映射。例如读取保持寄存器40001起始的32位浮点数时,要明确字序(大端/小端)与寄存器合并方式,否则会出现数值错乱。Modbus本身无时间戳,采集端必须打上本地时间戳。

MQTT适合边缘到中心的异步汇聚。配置包括Broker地址、端口(8883为TLS)、ClientID、用户名密码、QoS等级与遗嘱消息。QoS 1保证至少一次送达,适合KPI数据;主题设计建议采用分层结构,如plant/line1/reactor/temp,便于看板按层级订阅。Payload推荐JSON,包含tag、value、ts、quality四个字段,其中quality用于标识数据有效性。

AVEVA生产数据接入链路与协议映射 现场设备层 PLC / DCS 控制器 智能仪表 / 变频器 称重 / 分析仪 AVEVA Edge 边缘层 协议驱动:OPC UA / DA Modbus TCP / RTU 本地缓存 + 断点续传 汇聚传输层 MQTT Broker OPC UA 隧道 REST / HTTPS 数据存储 PI Data Archive AVEVA Historian SQL / 时序库 采集 发布 写入 历史数据回填路径(CSV / PI Buffer / Historian 导入) KPI 看板查询层 PI Web API Historian REST SQL 视图查询 读取 数据质量标识 Good (192):正常采集 Uncertain (64):超时/可疑 Bad (0):断线/无效

实时数据采集的工程方法

实时采集的核心是“采集频率—死区—时间戳”三者的匹配。以反应釜温度KPI为例,工艺要求看板刷新周期为5秒,则采集侧采样间隔可设为1秒,死区设为0.2℃。若温度在0.2℃内波动,不产生新归档点,既保留趋势又降低存储量。时间戳必须由采集端统一生成,避免各设备时钟不一致导致趋势错位。建议边缘侧启用NTP同步,偏差控制在500ms以内。

采集链路需要处理异常。当OPC UA会话断开时,Edge应自动重连并缓存未发送数据;当MQTT Broker不可达时,本地队列应保留最近若干小时数据。质量码是判断数据可用性的关键:Good表示正常,Uncertain表示超时或可疑,Bad表示断线或无效。看板在计算KPI时应过滤Bad数据,对Uncertain数据按规则降权或标记。

历史数据回填的工程方法

历史回填用于补全停机期间缺失的数据,或导入离线化验、手工录入的批次数据。回填前必须明确时间戳格式(建议ISO 8601,如2024-06-15T08:30:00+08:00)、时区、数值精度与质量码。PI Data Archive可通过PI Buffer或PI Web API的批量写入接口回填;AVEVA Historian可通过SQL导入或Historian Import工具回填;Edge侧则通过本地CSV缓存重放。

回填的关键是幂等性。同一时间戳重复写入时,应覆盖而非追加,避免KPI重复计算。建议回填前先查询目标时间段已有数据,生成差异清单,再执行写入。回填完成后,用一段时间的趋势对比验证:回填段与前后正常段的斜率、量级应连续,若出现阶跃或断点,说明时间戳或质量码有误。

回填操作建议在低负荷时段执行,并限制单次写入量(如每批不超过5000点),避免对Historian或PI Archive造成写入压力。

接入配置检查清单

检查项示例值/要求判断依据
OPC UA端点与安全策略opc.tcp://10.20.30.11:4840,Basic256Sha256连接成功且证书受信
Modbus字序大端,32位浮点合并两寄存器读数与现场表一致
MQTT QoS与主题QoS 1,plant/line1/reactor/temp断线后消息不丢失
采样间隔与死区1000ms,死区0.2℃趋势平滑且存储量可控
时间戳同步NTP偏差≤500ms多源趋势对齐
质量码过滤Bad不参与KPI计算KPI无异常跳变
回填幂等性同时间戳覆盖写入无重复计数

完成上述配置后,可用一个最小验证:在Edge侧强制某测点变化,观察看板是否在5秒内刷新;断开Broker 30秒后恢复,检查缓存数据是否补传;对同一时间段执行一次回填,确认KPI数值不变。三项通过,说明数据接入链路基本可用。