4. 数据采集接口与连接

FactoryTalk Historian 本身并不直接“认识”ControlLogix 或 CompactLogix 控制器,它只认识数据源接口。控制器与 Historian 之间的数据连通,本质上是由一层采集接口把控制器标签值转换为 Historian 可消费的数据流。理解这一点,是配置所有接口的前提:Historian 侧关心的是“点位从哪里来、以什么频率来、值是否可信”,而接口侧关心的是“用什么协议、连到哪个设备、暴露哪些标签”。

在 FactoryTalk 体系中,常见的采集路径有三类。第一类是 FactoryTalk Live Data,它是 FactoryTalk 原生的实时数据访问层,通常与 RSLinx Enterprise 配合,把控制器标签以 FactoryTalk 标签的形式暴露出来,Historian 通过 Live Data 接口订阅这些标签。第二类是 OPC DA,这是传统但极其普遍的接口,Historian 作为 OPC DA 客户端连接 RSLinx Classic、KEPServer 等 OPC DA 服务器。第三类是 OPC UA,它具备更强的安全模型、支持订阅与浏览、跨平台能力更好,适合新建系统或需要加密与证书管理的场景。RSLinx Enterprise 则更多承担“设备通信 + 标签浏览”的角色,是 Live Data 路径中的关键组件。

选择接口时先问三个问题:控制器是什么型号、Historian 与采集端是否在同一域、是否需要加密与证书。答案基本决定了走 Live Data、OPC DA 还是 OPC UA。

下面这张图展示了三条采集路径在控制器与 Historian 之间的位置关系,以及每条路径上真正需要配置的对象。图中把“设备通信层”“数据访问层”“Historian 接口层”分开,便于定位问题出在哪一层。

控制器到 Historian 的三条采集路径 ControlLogix / CompactLogix 控制器标签 RSLinx Enterprise 设备通信 + 标签浏览 RSLinx Classic OPC DA 服务器 OPC UA 服务器 证书 / 端点 / 订阅 FactoryTalk Live Data 实时标签订阅 OPC DA 接口 Item ID / 刷新率 OPC UA 接口 NodeId / 订阅间隔 FactoryTalk Historian PI 点位 / 归档 设备通信层 数据访问层 存储层

先看 Live Data 路径。它的配置顺序通常是:在 RSLinx Enterprise 中建立通信路径(例如 EtherNet/IP 驱动指向 192.168.1.10 的 ControlLogix),确认能浏览到控制器标签;然后在 FactoryTalk Administration Console 中创建 Live Data 数据服务器,把 RSLinx Enterprise 作为其数据源;最后在 Historian 的 Interface Configuration 中新增一个 FactoryTalk Live Data 接口实例,指定该数据服务器,并导入或手动添加点位。点位映射时,Historian 的 Tag Name 与 Live Data 的 Item 名称需要一一对应,例如控制器标签 Line1_Speed 映射为 Historian 点位 LINE1_SPEED,采集周期可设为 1 秒。

再看 OPC DA 路径。以 RSLinx Classic 为例,先在 RSLinx 中配置好 Ethernet devices 驱动并确认 OPC 主题(Topic)可用,例如主题名 CLX_LINE1;然后在 Historian 的 OPC DA 接口中填写 OPC 服务器 ProgID(如 RSLinx OPC Server)和主题名,再通过浏览或手动方式添加 Item ID,例如 [CLX_LINE1]Line1_Speed。OPC DA 接口通常需要设置刷新率(如 1000 ms)和死区(如 0.5),死区决定值变化多少才上报,直接影响 Historian 的归档量。

OPC UA 路径的配置重点不同。它不依赖 DCOM,而是通过端点 URL(如 opc.tcp://192.168.1.10:4840)连接,需要处理证书信任:把 Historian 接口端的证书导入 OPC UA 服务器的信任列表,反之亦然。点位用 NodeId 标识,例如 ns=2;s=Line1_Speed。订阅间隔可设为 500 ms,并启用“数据变化触发”以减少无效流量。对于跨网段或需要加密的场景,OPC UA 明显优于 OPC DA。

OPC DA 依赖 DCOM 配置,跨域或跨防火墙时极易失败。若连接报“拒绝访问”或“服务器不可用”,优先检查 DCOM 权限、防火墙 135 端口与动态端口范围,而不是反复重建接口。

接口建好后,必须验证数据是否真正连通。推荐按以下顺序检查:第一,在接口日志中确认连接状态为 Connected;第二,在 Historian 的当前值(Current Value)中查看点位是否有实时值刷新;第三,用 PI SMT 或 PI Vision 查看该点位最近 10 分钟的趋势,确认没有长时间断线或恒定值;第四,检查归档事件计数是否随采集周期增长。若当前值有但归档无数据,通常是归档配置或点位未启用;若当前值一直为 Bad,通常是 Item ID 写错或设备通信中断。

下面给出一份可直接参考的接口配置检查表,字段按实际配置中最容易出错的项组织,可在实施时逐项核对。

检查项 Live Data OPC DA OPC UA
通信路径 RSLinx Enterprise 驱动 RSLinx Classic Topic 端点 URL + 端口
点位标识 FactoryTalk 标签名 Item ID NodeId
采集周期 1 s(示例) 1000 ms(示例) 500 ms(示例)
安全/权限 FactoryTalk 安全 DCOM 权限 证书信任
典型故障 标签未发布 DCOM 拒绝访问 证书不受信

最后需要强调接口与 Historian 点位的对应关系。无论走哪条路径,Historian 侧最终都表现为一个个 PI 点位,点位的采集来源由接口实例决定。因此,当出现“某个点位不更新”时,排查顺序应是:先确认该点位绑定的接口实例是否正确,再确认接口实例到数据源的连接是否正常,最后才检查控制器侧标签本身。把这三层分开,能避免在错误层级反复修改配置。

实际项目中,建议先只配置一个接口、一个点位,打通后再批量导入。批量导入时,点位命名、采集周期、死区应保持一致规则,否则后期维护成本会显著上升。接口配置完成后,保留一份接口实例清单(接口名、类型、数据源、采集周期、负责点位范围),这份清单在后续排障和扩容时比任何截图都更有价值。