4. PI接口类型与选型方法
在PI System的数据采集链路中,接口层决定了数据能否稳定、及时、完整地进入PI Data Archive或PI Asset Framework。很多采集故障并非来自网络或控制器,而是接口类型选型不当:用老式Interface去接云原生数据源,或用Connector去接只有串口输出的老设备,都会在后期付出高昂的运维代价。本节围绕四类主流接口——PI Interface、PI Connector、PI Adapter、自定义接口——从适用场景、可靠性特征和运维成本三个维度展开对比,并给出可操作的选型判断方法。
四类接口的本质差异
PI Interface是PI System最传统的采集组件,通常以Windows服务形式运行在采集节点上,通过PI API(如PIAPI、PI SDK)将数据写入PI Data Archive。它面向的是“点对点、协议固定”的场景,例如OPC DA、Modbus TCP、串口、关系型数据库轮询。Interface的配置以PI ICU(Interface Configuration Utility)和点映射文件(.bat/.ini)为核心,每个接口实例对应一个数据源,扩展靠增加实例或节点。
PI Connector是OSIsoft(现AVEVA)推出的新一代采集组件,强调“自动发现、自动配置、集中管理”。Connector通常以容器或Windows服务部署,内置对MQTT、Kafka、REST、OPC UA、关系型数据库等现代数据源的支持,数据可直接写入PI Data Archive或PI AF。它的典型特征是“配置即连接”,通过PI Connector Administration或PI Web API进行管理,适合数据源数量多、结构变化频繁的场景。
PI Adapter是PI System向边缘和云原生架构演进后的采集组件,基于PI Adaptor Framework,采用“适配器+端点”模型,支持OPC UA、Modbus、MQTT等协议,数据可写入PI Data Archive、PI AF或PI Data Store。Adapter更强调轻量化、跨平台(Linux/Windows/容器)和与PI Data Hub的协同,适合边缘计算、云边协同和Kubernetes环境。
自定义接口指基于PI API、PI Web API、AF SDK或PI Data Archive的写入接口自行开发的采集程序。它不受厂商预置协议限制,可以对接任意私有协议、特殊数据模型或业务系统。代价是开发、测试、版本升级和故障排查全部由用户承担,可靠性取决于代码质量和异常处理设计。
可靠性特征的关键差异
可靠性不是“能不能采到”,而是“断网、重启、数据源抖动、PI Data Archive维护时,数据会不会丢、会不会重复、恢复后能不能补上”。PI Interface依赖PI Buffer Subsystem实现本地缓冲,当PI Data Archive不可达时,数据先写入缓冲区,恢复后按顺序回补。它的可靠性经过长期验证,但缓冲文件损坏、磁盘写满、服务异常退出是常见故障点。
PI Connector和PI Adapter在设计上更强调“断点续传”和“健康状态可视化”。Connector通常内置重试队列和状态端点,可通过PI Web API或管理界面查看“已发送/待发送/失败”计数。Adapter在边缘侧支持本地缓存,配合PI Data Hub可实现跨网络的数据续传。需要注意的是,容器化部署时如果未配置持久化卷,容器重启可能导致缓存丢失,这是实际运维中容易忽略的可靠性风险。
自定义接口的可靠性完全由开发者决定。一个常见的错误是只实现“采集—写入”主流程,没有实现写入失败后的本地队列、幂等去重和断点续传。例如,用PI Web API批量写入时,若遇到HTTP 429限流或503不可用,程序若直接丢弃数据,就会造成永久性数据缺口。因此,自定义接口必须显式设计:本地持久化队列、失败重试与退避、写入幂等键、以及可观测的积压指标。
运维成本的构成与量化
运维成本不只是“有没有人管”,而是包括配置变更、版本升级、故障排查、人员技能和停机窗口。PI Interface的运维以“节点+实例”为单位,每增加一个数据源往往要新增实例或节点,配置分散,变更需逐台操作。PI Connector和PI Adapter以“集中管理+自动发现”降低配置漂移,但要求运维人员掌握容器、API和新的管理界面,技能门槛发生转移而非消失。
自定义接口的运维成本最高,因为所有异常路径都由自己实现。一个可参考的量化方式是:统计接口上线后12个月内,因接口层导致的非计划停机时长、数据缺口次数、平均修复时间(MTTR)和每次变更所需人天。若自定义接口的MTTR显著高于Connector/Adapter,且团队没有专职开发人员,就应重新评估是否用协议网关+标准接口替代。
选型判断的实操方法
选型不应从“哪个技术新”出发,而应从数据源、可靠性要求和团队能力三个约束出发。可以按以下顺序判断:
- 先看协议支持:数据源协议是否被PI Connector或PI Adapter原生支持?如果是MQTT、Kafka、REST、OPC UA,优先选Connector/Adapter,避免重复造轮子。
- 再看数据源稳定性:如果是传统OPC DA、Modbus TCP、串口,且点位长期稳定,PI Interface仍是成熟可靠的选择,尤其是已有大量Interface资产时。
- 再看部署环境:如果采集点位于边缘、需要跨平台或Kubernetes部署,PI Adapter更合适;如果是集中机房、Windows环境,Interface和Connector都可选。
- 最后看定制需求:只有当前三类都无法满足私有协议或特殊数据模型,且团队具备PI API开发和长期维护能力时,才选择自定义接口。
选型决策表示例
下表给出一个可直接参考的选型决策表,字段包括数据源协议、推荐接口、可靠性关注点和运维要点。实际使用时可根据现场情况调整权重。
| 数据源/场景 | 推荐接口 | 可靠性关注点 | 运维要点 |
|---|---|---|---|
| OPC DA / Modbus TCP,点位稳定 | PI Interface | PI Buffer Subsystem磁盘空间、服务自启 | ICU配置备份、点映射文件版本管理 |
| MQTT / Kafka / REST,多数据源 | PI Connector | 容器持久化卷、重试队列积压 | 集中管理、健康端点监控 |
| 边缘OPC UA,K8s部署 | PI Adapter | 边缘缓存、与PI Data Hub续传 | Adapter Framework配置、K8s资源限制 |
| 私有协议、特殊数据模型 | 自定义接口 | 本地队列、幂等写入、限流退避 | 代码版本、日志、积压指标、MTTR |
选型的最终判断标准不是“用了哪类接口”,而是“数据缺口是否可接受、故障是否可观测、恢复是否可预期、人员是否可维护”。在PI System采集链路中,接口层是数据质量的第一道关口,选型阶段多花一天评估,往往能省下后期数周的排障时间。