2. PI系统基础

在开展PI数据分析与设备KPI工程之前,必须先建立对PI System整体架构的清晰认知。PI System并不是单一软件,而是一套由采集、存储、建模、可视化与开发接口共同组成的工业数据平台。只有理解各组件之间的职责边界与数据流向,才能在后续的KPI计算、设备状态分析和报表开发中做出正确的技术选型。

一、核心组件及其职责

PI System的核心组件可以按“数据从哪里来、存在哪里、如何被理解、如何被使用”四个层次来划分:

  • PI Interfaces(接口层):负责从DCS、PLC、SCADA、OPC服务器、关系数据库或手工录入源采集数据,并将数据写入PI Data Archive。常见接口包括OPC DA/UA接口、PI Modbus接口、PI UFL(通用文件接口)等。接口层解决的是“数据接入”问题。
  • PI Data Archive(数据归档层):是PI System的时间序列数据库核心,以压缩方式存储带时间戳的过程数据。它管理PI Point(位号)、时间戳、质量码和归档文件,是设备KPI计算所需原始数据的最终落点。
  • PI Asset Framework(AF,资产建模层):在Data Archive之上建立设备、工艺单元、管线等资产模型,将位号组织为具有层级关系的资产树,并支持属性、模板、计算分析和事件框架。AF解决的是“数据如何被业务理解”的问题。
  • PI Vision(可视化层):面向浏览器和移动端的可视化工具,基于AF模型和Data Archive数据构建趋势、仪表盘、KPI卡片和报警看板,供运行、设备和管理人员使用。
  • PI Web API / PI SDK / AF SDK(开发接口层):为外部系统、Python脚本、报表平台和自定义应用提供数据访问能力,是KPI工程自动化的关键通道。

二、数据流架构:从现场信号到KPI看板

PI System的数据流遵循“采集—归档—建模—计算—展示”的主线。现场仪表或控制系统产生的信号首先由PI Interface读取,写入PI Data Archive形成时间序列;随后AF通过数据引用(Data Reference)将位号映射为资产属性;AF分析或外部计算引擎基于这些属性计算设备KPI;最终PI Vision或报表工具读取结果并呈现给用户。

PI System 核心组件与数据流架构 现场数据源 DCS / PLC / SCADA OPC / 手工录入 PI Interfaces OPC DA/UA · Modbus UFL · RDBMS 接口 PI Data Archive PI Point · 时间戳 质量码 · 归档文件 压缩存储 PI Asset Framework 资产树 · 模板 属性 · 分析 · 事件 数据引用映射 KPI 计算引擎 AF Analytics · Python PI Web API · AF SDK PI Vision 趋势 · 仪表盘 KPI 卡片 · 报警看板 运行 / 设备 / 管理 浏览器 · 移动端 开发接口层 PI Web API · PI SDK AF SDK · OLEDB 数据流说明 主数据流:采集 → 归档 → 建模 → 计算 → 展示 开发访问流:外部程序通过接口层读写 DA / AF

三、关键机制:位号、属性与数据引用

理解PI System,必须区分三个容易混淆的概念:

概念 所在组件 作用 示例
PI Point(位号) PI Data Archive 存储单个时间序列的物理标签 FIC101.PV
Attribute(属性) PI Asset Framework 资产模型上的业务字段,可绑定位号或计算 泵A.出口压力
Data Reference(数据引用) PI Asset Framework 定义属性如何从DA或其他源取值 PI Point Data Reference

在设备KPI工程中,通常先在AF中建立“装置—设备—部件”的资产层级,再为每个设备模板定义KPI属性,例如运行时长、启停次数、平均负荷、能耗单耗等。这些属性通过数据引用绑定到Data Archive中的位号,或通过AF Analytics表达式计算得出。

四、典型场景:泵设备KPI的数据流

以“泵运行时长KPI”为例,完整数据流如下:

  1. 现场PLC中的泵运行状态信号(0/1)由OPC接口采集,写入PI Data Archive,位号为P101_RUN。
  2. 在AF中建立“P-101A泵”资产,模板为“离心泵模板”,属性“运行状态”通过PI Point Data Reference绑定到P101_RUN。
  3. 在AF Analytics中创建分析表达式,按小时统计运行状态为1的累计时长,输出到属性“日运行时长”。
  4. PI Vision读取AF属性,在设备KPI看板中展示当日运行时长、启停次数和负荷率。
  5. 外部Python脚本通过PI Web API定期拉取KPI结果,写入企业报表数据库。

关键点:KPI的准确性取决于“位号质量—数据引用—计算表达式—展示口径”四层一致性。任何一层出现偏差,最终看板上的KPI都会失真。

五、常见误区与复盘

误区一:把PI Data Archive当业务数据库用。Data Archive擅长时间序列存储,但不适合复杂关联查询。设备KPI的维度、层级和业务规则应放在AF中建模,而不是在DA中堆砌位号命名。

误区二:跳过AF直接在Vision中拼位号。短期看似快速,长期会导致KPI口径分散、复用困难、设备新增时重复劳动。正确做法是先建AF模板,再批量实例化。

误区三:忽视接口层的数据质量。如果接口采集频率、时间戳对齐或质量码处理不当,后续KPI计算会出现“假停机”“假运行”等问题。建议在接口层配置合理的扫描周期和异常值过滤。

掌握PI System各核心组件的职责与数据流架构,是后续进行设备KPI设计、计算和可视化的基础。在实际项目中,应坚持“接口保采集、归档保存储、AF保建模、Vision保展示、接口层保扩展”的分层原则,让每一类组件只做自己最擅长的事。