4. PI Interface与PI Connector配置实战
在AVEVA PI System中,把现场数据接入PI Data Archive有两条主流技术路线:一条是传统的PI Interface,另一条是新一代的PI Connector。两者都能完成数据采集,但设计理念、部署方式和适用场景差异明显。本节以OPC DA/UA、Modbus、MQTT三类典型数据源为例,完整走通“模拟设备产生数据 → 采集组件读取 → 写入PI Data Archive → 验证数据质量”的闭环。
一、先分清Interface与Connector的定位
PI Interface是运行在Windows上的传统采集程序,通常由“接口实例 + PI API + 缓冲服务(PI Buffer Subsystem)”组成。它通过PI SDK/API把数据写入PI Data Archive,断网时由缓冲服务暂存,恢复后补传。PI Interface for OPC DA就是典型代表,它作为OPC客户端连接OPC DA Server,按扫描周期读取Item值。
PI Connector则是AVEVA推出的新一代采集组件,采用现代化架构,支持集中管理、自动发现和更灵活的数据模型映射。PI Connector for Modbus可直接通过TCP轮询Modbus从站寄存器;PI Connector for MQTT则订阅MQTT Broker上的主题,把JSON/Sparkplug B等负载解析为PI点。Connector通常通过PI Web API或直接写入方式把数据送入PI Data Archive,并可在PI System Explorer中统一配置。
二、模拟设备与数据源准备
为了在不依赖真实PLC的情况下完成实战,可以用软件模拟三类设备:
- OPC DA/UA模拟:使用KEPServerEX或Prosys OPC UA Simulation Server,建立标签如
Simulation.Device1.Temperature、Simulation.Device1.Pressure,数据类型Float,更新周期1000ms。 - Modbus模拟:使用Modbus Slave或ModbusPal,监听502端口,从站地址1,保持寄存器40001~40004分别模拟温度、压力、流量、转速,数值范围0~1000。
- MQTT模拟:使用Mosquitto Broker,主题为
factory/line1/sensor,负载为JSON:{"temp":25.6,"pressure":0.85,"ts":1710000000},发布周期2s。
模拟数据仅用于教学演示,实际工程中应替换为真实设备地址与协议参数。
三、PI Interface for OPC DA/UA配置要点
安装PI Interface for OPC DA后,通过PI Interface Configuration Utility(ICU)创建接口实例。关键参数包括:
[OPCDA]
InterfaceID = 1
OPCServer = KEPServerEX.V6
ScanClass = 1000
Location = 1
PIHost = PIDATA01
BufferHost = PIBUF01
在PI点属性中,为每个OPC Item建立对应的PI Tag,例如 SIM_DEV1_TEMP,PointSource设为OPCDA,Location1对应接口实例编号。启动接口后,在PI System Explorer的“Current Values”中应能看到数值随时间刷新。若数值不更新,依次检查OPC Server连接状态、Item路径、接口日志中的错误码。
OPC UA接口配置类似,但需填写Endpoint URL,如 opc.tcp://192.168.1.50:4840,并选择安全策略None或Basic256Sha256。UA接口支持订阅模式,可降低轮询压力。
四、PI Connector for Modbus与MQTT配置
PI Connector for Modbus通过Web管理界面配置数据源。新建DataSource时填写:
Name: ModbusLine1
Protocol: Modbus TCP
Host: 192.168.1.60
Port: 502
Unit ID: 1
Polling Interval: 2000 ms
Register Map:
40001 -> SIM_DEV1_TEMP (Float, Holding)
40002 -> SIM_DEV1_PRESS (Float, Holding)
40003 -> SIM_DEV1_FLOW (Float, Holding)
保存后Connector会自动创建PI点并开始采集。PI Connector for MQTT则需配置Broker地址、Topic过滤器和数据格式。以JSON为例,在“Data Format”中选择JSON,并设置JSONPath映射:$.temp → SIM_DEV1_TEMP,$.pressure → SIM_DEV1_PRESS。若使用Sparkplug B,则需指定Group ID、Edge Node ID和Metric名称。
五、数据采集与验证闭环
配置完成后,按以下顺序验证:
- 在PI System Explorer中打开目标PI点,查看Current Value是否在变化。
- 使用PI DataLink或PI Vision趋势图,观察最近10分钟曲线是否连续、无断点。
- 检查PI Buffer Subsystem状态,确认缓冲队列长度为0或正常补传。
- 对Modbus/MQTT Connector,查看Connector管理界面的“Statistics”,确认Read Count、Write Count持续增长,Error Count为0。
- 若数据异常,先核对寄存器地址、字节序、JSONPath,再检查网络与防火墙端口。
下面用一张信号链与验证关系图,把三类数据源到PI Data Archive的路径、关键组件和验证点集中呈现,便于对照排查。
六、常见问题与判断依据
实战中高频问题集中在三类。第一类是连接失败:OPC接口报“Server not found”,通常是ProgID写错或DCOM权限不足;Modbus Connector报“Connection refused”,检查IP、端口和从站是否在线。第二类是数据不更新:PI点Current Value长期不变,先看接口/Connector日志,再确认PI点是否被正确映射、PointSource与Location是否匹配。第三类是数值错误:温度显示为6553.5之类异常值,多为字节序或数据类型配置错误,Modbus需确认Float的AB/BA顺序,MQTT需确认JSONPath是否取到了正确字段。
验证是否真正闭环,最直接的依据是:在PI Vision中拉一条趋势,时间范围覆盖采集启动前后,曲线应从某个时刻开始连续出现,且数值范围与模拟源一致。若曲线有断点,结合Buffer状态和Connector统计判断是网络抖动还是写入失败。只有“源端变化—采集端读取—Archive落库—可视化呈现”四段都能对应上,才算完成一次可靠的数据采集配置。