3. FactoryTalk Batch系统架构与组件

FactoryTalk Batch 不是单一软件,而是一组协同工作的组件集合。理解这套系统的关键,不是记住每个模块的名字,而是搞清楚“谁负责什么、谁和谁通信、数据往哪里流”。本节围绕 Batch Server、Batch Client、Recipe Editor、Material Manager、eProcedure、Batch Historian 六个核心组件,说明它们的功能边界与典型部署拓扑。

一、组件功能定位

FactoryTalk Batch Server 是整个批次系统的运行时核心。它负责解析主配方、生成控制配方、驱动设备阶段(Equipment Phase)、管理批次状态机、处理物料与设备分配,并对外提供 OPC/API 接口。Server 通常部署在独立的应用服务器或虚拟机上,不直接承担人机交互。它维护着批次执行数据库,记录批次 ID、步骤状态、参数值和事件时间戳。

Batch Client 是操作员和工程师的日常入口。通过它,用户可以启动、暂停、恢复、中止批次,查看活动批次列表、步骤进度和报警。Batch Client 不直接控制设备,所有操作请求都提交给 Batch Server,由 Server 校验权限和状态后执行。典型部署中,Batch Client 安装在操作站或工程师站上,通过 FactoryTalk Directory 定位 Server。

Recipe Editor 用于创建和维护主配方(Master Recipe)。它提供图形化编辑环境,让工程师定义配方结构:单元过程、操作、阶段,以及每个阶段的参数、报告参数和转换条件。Recipe Editor 编辑的是“配方模板”,不涉及具体批次实例。编辑完成后,配方保存到 FactoryTalk Directory 或数据库中,供 Batch Server 在运行时读取。

Material Manager 管理物料与批次的关系。它维护物料数据库,包括物料名称、批次号、容器、库存状态和分配记录。当批次运行时,Material Manager 根据配方中的物料需求,执行物料分配、消耗和回写。它与 Batch Server 紧密集成,确保“配方要求什么物料”和“实际投入什么物料”之间可追溯。

eProcedure 是电子化操作程序组件,用于管理人工操作步骤。在批次过程中,有些步骤无法自动完成,例如人工投料、取样、确认阀门状态。eProcedure 把这些步骤以电子清单形式推送给操作员,操作员确认后,结果回传给 Batch Server,作为批次推进的条件。它解决了“自动化步骤”和“人工步骤”之间的衔接问题。

Batch Historian 负责批次数据的长期归档与分析。它从 Batch Server 采集批次事件、步骤状态、参数值和物料消耗记录,存储到时序数据库或关系数据库中。通过 Batch Historian,工程师可以回放批次执行过程、对比不同批次、生成批次报告,并为偏差调查提供数据依据。

二、部署拓扑与通信关系

典型部署采用“服务器—客户端”分层结构。Batch Server 部署在应用服务器层,Recipe Editor、Material Manager、eProcedure 和 Batch Historian 可以部署在同一台服务器或独立服务器上,取决于系统规模和性能要求。Batch Client 部署在操作站层,通过以太网与 Server 通信。控制器层由 PLC 或 DCS 组成,通过 OPC UA 或 FactoryTalk Linx 与 Batch Server 交换设备阶段命令和状态。

通信路径上,Batch Client 不直接访问控制器,所有控制请求经过 Batch Server。Recipe Editor 和 Material Manager 通过 FactoryTalk Directory 注册和发现服务。Batch Historian 以订阅方式从 Batch Server 获取数据,不干扰实时控制路径。eProcedure 与 Batch Client 配合,操作员在 Client 上看到人工步骤提示,确认结果写入 Server。

FactoryTalk Batch 典型部署拓扑与数据流 操作站 / 工程师站层 Batch Client 批次启停 / 状态监控 Recipe Editor 主配方编辑 Material Manager 物料分配 / 追溯 eProcedure 人工步骤电子化 应用服务器层 FactoryTalk Batch Server 配方解析 / 状态机 / 设备分配 / OPC接口 Batch Historian 批次归档 / 回放 / 报告 FactoryTalk Directory 服务注册与发现 控制器 / 设备层 PLC / DCS 控制器 设备阶段执行 现场设备 阀门 / 泵 / 称重 OPC UA / Linx 通信网关 订阅 阶段命令 / 状态 客户端请求 服务注册 / 数据订阅 控制命令 / 设备反馈

三、关键配置要点与示例

部署时,首先要在 FactoryTalk Directory 中注册 Batch Server。Server 的配置包括:批次数据库连接字符串、OPC 服务器地址、设备阶段映射表、配方存储路径。以下是一个简化的 Server 配置片段示例,用于说明关键参数:

[BatchServer]
ServerName = BATCH-SVR-01
DirectoryPath = \\FTDIR\Production\Batch
RecipePath = D:\FTBatch\Recipes
BatchDB = Server=BATCHSQL;Database=FTBatch;Trusted_Connection=Yes
OPCEndpoint = opc.tcp://192.168.10.50:4840
PhaseMapping = Unit01_Phase1 -> PLC1.Phase1
                Unit01_Phase2 -> PLC1.Phase2
                Unit02_Phase1 -> PLC2.Phase1

Recipe Editor 中创建主配方时,需要定义单元过程(Unit Procedure)、操作(Operation)和阶段(Phase)三级结构。例如一个“反应釜投料”配方,单元过程为“反应”,操作为“投料”,阶段包括“打开进料阀”“计量”“关闭进料阀”。每个阶段绑定设备阶段,并设置参数如目标重量 500 kg、允许偏差 ±2 kg、超时时间 120 s。

Material Manager 中需要预先建立物料主数据,包括物料编码、名称、单位、批次号规则。批次运行时,Server 向 Material Manager 请求物料分配,Material Manager 返回可用批次号,Server 将批次号写入控制配方,并在阶段完成时回写消耗量。这样,每个批次使用了哪些物料批次,都可以在 Historian 中追溯。

eProcedure 的配置重点在于人工步骤与自动步骤的衔接。例如,在“取样”步骤中,eProcedure 向 Batch Client 推送一条待办任务,操作员取样后输入样品编号和确认码,eProcedure 将结果回传 Server,Server 判断条件满足后继续执行后续自动阶段。如果操作员未在规定时间内确认,Server 根据配置触发报警或暂停批次。

四、部署规模与选型建议

对于小型系统(1~2 条产线、单服务器),Batch Server、Recipe Editor、Material Manager、eProcedure 和 Historian 可以部署在同一台服务器上,Batch Client 部署在操作站。对于中大型系统(多产线、多单元),建议将 Batch Server 独立部署,Historian 使用独立数据库服务器,Recipe Editor 和 Material Manager 可放在工程师站或应用服务器上。控制器层通过 OPC UA 与 Server 通信,网络应划分控制网和信息网,避免批次数据流量影响实时控制。

部署时优先确认 FactoryTalk Directory 的可用性。所有组件都依赖 Directory 进行服务定位,Directory 不可用会导致 Client 无法连接 Server、Recipe Editor 无法保存配方。建议 Directory 部署在独立服务器上,并配置冗余。
Batch Server 与控制器之间的 OPC 通信中断时,Server 会根据配置进入“通信故障”状态。此时活动批次可能暂停或中止,具体行为取决于阶段超时设置和故障恢复策略。调试阶段应模拟网络中断,验证批次状态转换是否符合预期。