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 能够建立的前提。六者关系可以用下图表示:

Templates 模板 定义 Attribute / 子结构 / 默认值 实例化 Elements 元素 资产树节点:企业/装置/设备/部件 子 Element 泵 / 电机 / 阀门 子 Element 传感器 / 执行器 Attributes 属性 PI Point / 公式 / 静态值 Categories 类别 跨层级标签:旋转设备/关键机组 Ports 端口 对外连接点:入口/出口/信号 Relationships 关系 通过 Port 连接:驱动/连接/上下游

二、方法流程:从模板到实例的建模步骤

在实际工程中,AF 建模通常遵循“先设计模板、再实例化元素、后补充关系”的流程。具体步骤如下:

  1. 定义 Template:根据设备类型(如离心泵、换热器)创建 Element Template,并在其中定义标准 Attribute,例如 Flow、Pressure、Temperature、RunningStatus。
  2. 配置 Attribute 数据引用:为每个 Attribute 指定数据源,可以是 PI Point、PI AF 公式、常量或子属性引用。
  3. 实例化 Element:基于 Template 创建具体 Element,并填入实际位号与描述信息。
  4. 建立层级:通过父子关系把 Element 组织成资产树,例如把泵挂到装置下。
  5. 添加 Category:为 Element 或 Attribute 打上分类标签,便于检索与批量分析。
  6. 定义 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 建模的“骨架”。后续无论是做模板继承、属性计算,还是构建资产拓扑分析,都建立在对这套对象模型的准确理解之上。