4. AF层级结构
PI AF(PI Asset Framework)之所以能成为工业数据建模的核心平台,关键在于它提供了一套层次清晰、语义明确的对象模型。理解这套对象模型,是后续做模板设计、元素实例化、数据引用与关系建模的基础。本节将围绕 AF 的六大核心对象——Elements(元素)、Attributes(属性)、Templates(模板)、Categories(类别)、Ports(端口)、Relationships(关系)——梳理它们的职责、层级与协作方式。
一、核心原理:AF 对象模型的分层结构
AF 的对象模型可以理解为“树形层级 + 横向关系”的双重结构。纵向看,Element 通过父子关系构成资产树,例如“企业 → 厂区 → 装置 → 设备 → 部件”;横向看,Element 之间通过 Relationship 建立非层级连接,例如“泵 A 由电机 B 驱动”“管线 C 连接到罐 D”。Attributes 则挂载在 Element 上,承载具体的过程数据、静态属性或计算值。
其中,Template 是“可复用的建模蓝图”,它定义了 Element 应该具备哪些 Attribute、子 Element 结构以及默认配置。Categories 是“横向标签系统”,用于跨层级分类检索,例如把所有“旋转设备”打上同一 Category。Ports 是 Element 对外暴露的连接点,是 Relationship 能够建立的前提。六者关系可以用下图表示:
二、方法流程:从模板到实例的建模步骤
在实际工程中,AF 建模通常遵循“先设计模板、再实例化元素、后补充关系”的流程。具体步骤如下:
- 定义 Template:根据设备类型(如离心泵、换热器)创建 Element Template,并在其中定义标准 Attribute,例如
Flow、Pressure、Temperature、RunningStatus。 - 配置 Attribute 数据引用:为每个 Attribute 指定数据源,可以是 PI Point、PI AF 公式、常量或子属性引用。
- 实例化 Element:基于 Template 创建具体 Element,并填入实际位号与描述信息。
- 建立层级:通过父子关系把 Element 组织成资产树,例如把泵挂到装置下。
- 添加 Category:为 Element 或 Attribute 打上分类标签,便于检索与批量分析。
- 定义 Port 与 Relationship:在需要横向连接的 Element 上创建 Port,再通过 Relationship 建立连接。
关键原则:Template 决定“结构一致性”,Element 决定“实例唯一性”,Attribute 决定“数据可读性”,Category 决定“检索灵活性”,Port 与 Relationship 决定“拓扑完整性”。
三、案例场景:泵与电机的建模
假设某炼化厂需要为“P-101 离心泵”和“M-101 电机”建模。首先创建 PumpTemplate,其中包含 Attribute:InletPressure、OutletPressure、FlowRate、Vibration。再创建 MotorTemplate,包含 Current、Speed、WindingTemp。
实例化后,P-101 与 M-101 分别成为两个 Element,并挂在“常减压装置”下。接着在 P-101 上创建 Port DrivePort,在 M-101 上创建 Port ShaftPort,通过 Relationship Drives 将两者连接。最后为两者打上 Category RotatingEquipment,便于后续做旋转设备健康分析。
Element: P-101 (PumpTemplate)
├─ Attribute: InletPressure → PI Point: P101.INLET.PV
├─ Attribute: OutletPressure → PI Point: P101.OUTLET.PV
├─ Attribute: FlowRate → PI Point: P101.FLOW.PV
├─ Attribute: Vibration → PI Point: P101.VIB.PV
├─ Category: RotatingEquipment
└─ Port: DrivePort
Element: M-101 (MotorTemplate)
├─ Attribute: Current → PI Point: M101.CURRENT.PV
├─ Attribute: Speed → PI Point: M101.SPEED.PV
├─ Attribute: WindingTemp → PI Point: M101.WIND.TEMP
├─ Category: RotatingEquipment
└─ Port: ShaftPort
Relationship: P-101.DrivePort --[Drives]--> M-101.ShaftPort
四、误区与复盘:常见建模陷阱
在 AF 建模实践中,初学者容易陷入以下误区:
| 误区 | 后果 | 正确做法 |
|---|---|---|
| 把所有属性直接建在 Element 上,不用 Template | 结构不一致,维护成本高 | 先设计 Template,再实例化 |
| 用 Category 代替层级结构 | 资产树混乱,无法表达从属关系 | 层级用父子 Element,分类用 Category |
| Relationship 直接连 Element,不建 Port | 连接语义模糊,复用性差 | 先定义 Port,再通过 Port 建立 Relationship |
| Attribute 数据引用写死位号 | 模板无法复用,换设备即失效 | 使用相对引用或 PI AF 公式 |
复盘建议:建模完成后,应检查三件事——Template 是否覆盖了同类设备的全部标准属性;Element 层级是否与 P&ID 或资产台账一致;Relationship 是否完整表达了工艺连接与驱动关系。只有三者对齐,AF 模型才能真正支撑后续的分析、报警与可视化应用。
掌握 Elements、Attributes、Templates、Categories、Ports、Relationships 这六类核心对象,就掌握了 PI AF 建模的“骨架”。后续无论是做模板继承、属性计算,还是构建资产拓扑分析,都建立在对这套对象模型的准确理解之上。