3. FactoryTalk Batch系统架构与组件

FactoryTalk Batch 不是单一软件,而是一组协同工作的服务与客户端组件。理解它的架构,关键不是记住六个名字,而是弄清“谁负责什么、谁和谁通信、数据往哪里流”。本节围绕 Batch Server、Batch Client、eProcedure、Material Manager、Equipment Manager、Report Manager 六个组件,说明它们的部署位置与通信机制。

一、整体架构:服务端与客户端分离

FactoryTalk Batch 采用典型的 C/S(客户端/服务器)架构。核心是 Batch Server,它承载批次引擎(Batch Engine),负责配方解析、批次状态机推进、单元分配与步骤调度。所有批次运行状态、配方实例、设备模型都保存在 Server 侧,客户端只是“看”和“操作”的窗口。

围绕 Server 部署的组件可分为三类:

  • 操作类客户端:Batch Client(批次操作员界面)、eProcedure(电子化操作指导)。
  • 资源管理类服务:Material Manager(物料管理)、Equipment Manager(设备管理)。
  • 报表类服务:Report Manager(批次报表与追溯)。

它们通过 FactoryTalk 的目录服务(FactoryTalk Directory)互相发现,并借助 RSLinx Enterprise / FactoryTalk Linx 与底层 Logix 控制器通信。下图给出六个组件的部署位置与主要通信路径。

FactoryTalk Batch 组件部署与通信关系 客户端层(操作站 / 工程师站) Batch Client 批次操作 / 状态监控 eProcedure 电子操作指导 / 人工步骤 Report Manager 批次报表 / 追溯查询 服务层(Batch Server 主机) Batch Server 批次引擎 / 配方解析 / 状态机 单元分配 / 步骤调度 Material Manager 物料 / 配方绑定 Equipment Manager 设备模型 / 单元 控制层(Logix 控制器 / 现场设备) ControlLogix / CompactLogix 阀门 / 泵 / 称重 / 仪表 蓝线:客户端 ↔ Server 通信(DCOM / FactoryTalk 服务) 绿线:Server ↔ 资源管理服务(物料 / 设备模型) 橙线:Server ↔ 控制器(RSLinx Enterprise / FactoryTalk Linx)

二、Batch Server:批次运行的中枢

Batch Server 是唯一持有“批次运行态”的组件。它加载配方(Recipe)与设备模型(Equipment Model),把配方中的单元过程(Unit Procedure)映射到实际设备单元(Unit),再按顺序推进操作(Operation)与阶段(Phase)。

Server 与控制器之间通过 RSLinx Enterprise 或 FactoryTalk Linx 建立通信。配方中的 Phase 通常绑定到控制器里的 Add-On Instruction 或 Phase 逻辑,Server 下发命令、控制器回传状态。例如一个“加料”Phase,Server 向控制器写入目标重量 250.0 kg,控制器执行后回传“完成”与“实际值 249.8 kg”。

Server 的部署要点:

  • 通常部署在独立的 Windows 服务器上,不与其他高负载应用混装。
  • 需要 FactoryTalk Directory 指向正确的域或本地目录。
  • 与控制器通信依赖 RSLinx Enterprise 的通信路径配置。
  • 批次历史数据写入 Historian 或 SQL,供 Report Manager 查询。

三、Batch Client 与 eProcedure:操作与指导

Batch Client 是操作员日常使用的界面。它连接到 Batch Server,显示当前批次列表、批次状态(Running / Held / Complete)、当前步骤与报警。操作员可以启动、暂停、恢复、中止批次,也可以确认人工步骤。

eProcedure 面向需要人工介入的步骤。当配方执行到人工操作节点时,eProcedure 会弹出图文指导,操作员按提示完成操作并确认,Server 才继续推进。它把“纸质 SOP”变成可追溯的电子记录,确认时间、操作员账号、步骤结果都会写入批次历史。

两者的通信机制相同:通过 FactoryTalk Directory 找到 Batch Server,建立 DCOM 或 FactoryTalk 服务连接,读取/写入批次状态。区别在于 Batch Client 偏“控制”,eProcedure 偏“指导与确认”。

四、Material Manager 与 Equipment Manager:资源建模

Equipment Manager 负责建立设备模型。它把现场设备抽象为“单元(Unit)—设备模块(Equipment Module)—控制模块(Control Module)”的层级。例如一条反应线可建模为:反应釜单元 → 加料模块、温控模块、搅拌模块。Batch Server 调度时,就是按这个模型分配资源。

Material Manager 负责物料与配方的绑定。它维护物料名称、批次号、容器、数量等信息,并在批次运行时把物料消耗记录到批次历史。例如配方需要“原料 A 250 kg”,Material Manager 会校验物料是否可用、记录实际消耗量,并支持物料追溯。

这两个组件通常与 Batch Server 部署在同一主机或同一网络域内,通过 FactoryTalk 服务与 Server 交换模型数据和运行数据。它们不直接与控制器通信,而是把资源信息提供给 Server,由 Server 统一调度。

五、Report Manager:批次追溯的出口

Report Manager 从 Batch Server 的历史数据库(Historian / SQL)读取批次数据,生成批次报表、批次摘要、物料消耗报表、报警与事件报表。它支持按批次号、配方名、时间范围、物料等条件查询,是质量追踪与合规审计的主要工具。

它的通信路径是“读历史库”,而不是实时连接 Server。因此 Report Manager 可以部署在工程师站或独立报表服务器上,不影响批次运行。典型报表字段包括:批次 ID、配方版本、开始/结束时间、各步骤实际值、操作员确认记录、物料批次号。

六、部署与通信的关键检查点

检查项说明常见问题
FactoryTalk Directory所有组件必须指向同一 Directory客户端找不到 Server
DCOM 配置跨主机通信需配置 DCOM 权限连接被拒绝
RSLinx EnterpriseServer 与控制器通信路径Phase 无法下发
设备模型一致性Equipment Manager 模型与配方匹配单元分配失败
物料绑定Material Manager 物料与配方对应批次启动校验不通过
历史库连接Report Manager 能访问历史数据报表无数据
部署顺序建议:先装 FactoryTalk Directory,再装 Batch Server 与资源管理服务,最后装客户端与 Report Manager。每装完一层,先用 Batch Client 验证能否连上 Server,再继续下一层。

理解这套架构后,后续配置配方、建立设备模型、绑定物料、生成报表时,就能清楚每一步操作发生在哪个组件、数据流向哪里、出问题该查哪一段通信链路。