3. PI Data Archive核心机制
PI Data Archive 是 AVEVA PI System 的时序数据存储核心,它并不是一个普通的关系数据库,而是一套围绕“测点(PI Point)”和“时间戳—数值”对构建的专用历史库。理解它的数据模型、压缩机制和归档原理,是后续做接口、建点、调优和排障的基础。
一、时间序列数据模型:以 PI Point 为中心
PI Data Archive 中所有数据都归属于某个 PI Point。一个 PI Point 可以理解为一条独立的时间序列通道,它由唯一的 Tag 名称标识,并携带一组属性(Attributes)描述“这条序列是什么、来自哪里、如何存储”。每个数据记录由 时间戳(Timestamp)+ 数值(Value)+ 质量(Quality) 三要素构成,时间戳通常采用 UTC 存储、按客户端时区显示。
PI Point 的命名通常遵循层级化约定,例如 Plant1.Area2.Pump101.Speed,用点号分隔设备层级,便于批量检索和权限管理。数据来源可以是接口采集(Interface)、手动录入、计算点(PI AF Analytics 或 Performance Equation)或外部写入。
二、PI Point 类型与关键属性
PI Point 类型决定了数值的存储格式和取值范围,常见类型如下:
| Point Type | 含义 | 典型用途 |
|---|---|---|
| Float32 | 32 位浮点 | 一般模拟量,精度要求不高 |
| Float64 | 64 位浮点 | 高精度模拟量、累计量 |
| Int32 | 32 位整数 | 计数、状态码 |
| Digital | 枚举状态集 | 开关、报警状态 |
| String | 字符串 | 批次号、文本信息 |
| Timestamp | 时间值 | 事件发生时刻 |
除类型外,几个属性直接影响存储与查询行为:Zero 与 Span 定义量程,用于百分比和压缩判断;CompDev(压缩偏差)决定异常检测灵敏度;CompMin 与 CompMax 限制压缩时间间隔;ExcDev、ExcMin、ExcMax 控制异常报告;PointSource 标识数据来源接口;Location1~5 用于接口寻址。这些属性在建点时就要规划好,后期修改会影响历史数据的解释。
三、数据压缩与异常检测
PI Data Archive 的压缩不是“丢弃数据”,而是基于 旋转门压缩算法(Swinging Door) 判断新值是否偏离上一条已存储值超过 CompDev。若未超过,则不落库,仅更新快照;若超过,则写入归档。这样既保留趋势特征,又大幅减少存储量。
异常检测(Exception Reporting)发生在接口侧:接口按 ExcDev 判断采集值是否“异常”,只有异常值才发送给 PI Data Archive。压缩则发生在服务器侧,决定是否真正写入归档。两者配合,形成“接口过滤 + 服务器压缩”的双层机制。
四、快照与归档原理
每个 PI Point 都有一个 快照(Snapshot),保存当前最新值和时间戳,查询“当前值”时直接读快照,速度极快。快照之外的历史数据按 归档(Archive) 文件存储,归档文件是定长的二进制文件,写满后自动切换到下一个归档。归档文件有 Archive Shift 机制,可通过 Archive Configuration 查看各归档的起止时间和剩余空间。
当查询跨越多个归档时,PI Data Archive 会按时间范围定位到对应归档文件并合并结果。归档文件不可直接编辑,备份和迁移需使用 piarchss 等工具。若归档写满且未配置新归档,数据将无法写入,因此归档规划是运维重点。
五、建点与调优的实操要点
实际建点时,建议先明确量程和单位,再设置 CompDev。例如一个温度点,Span=200°C,CompDev 取 0.2°C,既能保留趋势又不会写入过多数据。若该点用于报警,ExcDev 应更小,确保异常及时上报。对于累计量(如电量),应使用 Float64 并关闭压缩(CompDev=0),避免累计误差。
# 示例:通过 PI SMT 或 AF SDK 创建 PI Point 的关键属性
Tag = Plant1.Boiler.Temp
PointType = Float32
Zero = 0
Span = 200
CompDev = 0.2
ExcDev = 0.1
PointSource = OPCInterface
Location1 = 1
归档规划方面,可通过 PI SMT 的 Archive Configuration 查看每个归档的起止时间、大小和剩余空间。若发现当前归档即将写满,应提前创建新归档并确认自动切换正常。定期检查 piarchss 状态和归档文件完整性,是保障历史数据可查的关键。
piarchss 或重新采集。总结来说,PI Data Archive 的核心机制可以概括为:PI Point 定义数据通道,快照提供实时值,压缩决定写入,归档承载历史。掌握这四者的关系,就能在建设与运维中做出合理决策。