2. ISA-88物理模型与配方层次

ISA-88(IEC 61512)标准的核心贡献之一,是把"工厂里有什么"和"配方怎么写"这两件事分别用两套层次模型描述清楚,再用映射关系把它们连起来。物理模型回答"设备如何分层",配方模型回答"工艺知识如何逐级落地"。理解这两套模型及其映射,是FactoryTalk Batch等批次管理软件能够正确组态的前提。

一、物理模型:七层设备层次

ISA-88物理模型自顶向下分为七层,每一层都有明确的边界和职责:

  • Enterprise(企业):一个公司实体,可包含多个Site,关注的是跨工厂的生产策略与订单分配。
  • Site(工厂/场地):一个地理上独立的制造场所,拥有完整的公用工程、仓储与质量体系。Site是配方从"通用"走向"本地化"的关键分界点。
  • Area(区域):Site内的生产分区,通常按产品线或工艺相似性划分,例如"固体制剂区""无菌灌装区"。Area是生产调度与物料流转的常见边界。
  • Process Cell(过程单元/生产单元):完成一批次生产的设备集合,是批次(Batch)的最小完整执行单位。一个Process Cell通常对应一条产线或一个反应釜组,批次ID、批次记录、批次报表都以Process Cell为归属。
  • Unit(单元):Process Cell内能独立完成主要工艺步骤的设备集合,例如一个配液罐及其搅拌、温控、称重附件。Unit是主配方(Master Recipe)中"Unit Procedure"的绑定对象。
  • Equipment Module(设备模块):Unit内完成特定功能动作的功能组,例如"加料模块""CIP模块""温控模块"。它对应配方中的"Operation"。
  • Control Module(控制模块):最底层,直接对应一台执行机构或一个仪表回路,如一个气动阀、一台泵、一个PID温度回路。它对应配方中的"Phase"。

需要特别强调的是:物理模型的层级不是按"设备大小"划分的,而是按"能独立执行什么"划分的。同一个物理设备在不同工艺语境下可能被建模为不同层级。例如一个简单的缓冲罐,如果只做暂存,可能只是Equipment Module;如果它带搅拌、温控并能独立完成一个工艺步骤,就应建模为Unit。建模粒度的选择直接影响后续配方绑定的灵活性。

二、配方模型:四级配方层次

ISA-88定义了四级配方,逐级增加"本地化信息"、减少"通用性":

  • General Recipe(通用配方):企业级,与具体设备无关,只描述化学/生物反应的本质要求,如"在80±2°C下反应45分钟"。它可以在不同工厂之间共享。
  • Site Recipe(工厂配方):在General Recipe基础上,结合本厂原料规格、公用工程条件、法规要求进行本地化,但仍不绑定具体设备。
  • Master Recipe(主配方):绑定到具体Process Cell,明确每个Unit Procedure由哪个Unit执行、使用哪些设备能力。Master Recipe是可被批次引擎调度的配方。
  • Control Recipe(控制配方):Master Recipe的一个实例副本,在批次启动时生成,携带该批次的唯一批次ID、实际投料量、操作员信息等运行时数据。每个批次对应一份Control Recipe,批次结束后归档。
记忆要点:General→Site→Master→Control,通用性递减、设备绑定递增、运行时数据递增。Control Recipe是"一次性"的,Master Recipe是"可复用"的。

三、映射关系:配方层次如何落到物理模型

两套模型的映射是ISA-88最实用的部分,也是FactoryTalk Batch组态的核心逻辑:

配方层次对应物理层级FactoryTalk Batch中的体现
Procedure(过程)Process Cell批次整体流程
Unit Procedure(单元过程)Unit绑定到具体Unit
Operation(操作)Equipment Module功能组调用
Phase(阶段)Control ModulePhase Logic(相位逻辑)

这张映射表说明:配方不是凭空写的,每一层配方元素都必须能找到物理设备来执行。在FactoryTalk Batch中,Phase是最小可执行单元,通常用PhaseManager或Logix中的Add-On Instruction实现;Operation和Unit Procedure则是Phase的逻辑组合,由Batch引擎按配方顺序调度。

ISA-88 物理模型与配方层次映射 物理模型(设备层次) Enterprise 企业 Site 工厂 Area 区域 Process Cell 过程单元 Unit 单元 Equipment Module 设备模块 Control Module 控制模块 配方层次(工艺知识) General Recipe 通用配方 Site Recipe 工厂配方 Master Recipe 主配方 Control Recipe 控制配方 绑定Process Cell Unit Procedure → Unit Operation → Equipment Module Phase → Control Module 本地化 +设备绑定 批次启动时:Master Recipe → 实例化 → Control Recipe(携带批次ID、实际投料量、操作员) 每个批次对应一份Control Recipe,批次结束后归档;Master Recipe保持可复用

四、工程实践中的关键判断

在实际项目中,物理模型和配方模型的落地需要做几个关键判断:

第一,Unit的划分粒度。Unit是主配方绑定的对象,划分过粗会导致配方无法复用(例如把整条产线当一个Unit),划分过细会导致配方结构复杂、维护困难。经验做法是:以"能独立完成一个主要工艺步骤"为Unit的边界。例如配液系统中,配液罐(带搅拌、温控、称重)是一个Unit,而纯化水制备系统如果只提供公用工程,通常不建模为Unit,而是作为Equipment Module或直接作为资源。

第二,Phase的标准化。Phase对应Control Module,是配方的最小执行单元。在FactoryTalk Batch中,Phase通常实现为Logix的Add-On Instruction(AOI),具有统一的接口:输入参数(设定值、联锁条件)、输出参数(实际值、完成状态)、状态机(Idle/Running/Complete/Held/Aborted)。标准化的Phase库是配方可复用性的基础。例如一个"AddMaterial" Phase,输入是目标重量和物料编号,输出是实际投加量和完成信号,内部封装了阀门控制、称重判断、超时报警等逻辑。

第三,配方参数的传递路径。General Recipe中的工艺参数(如温度、时间、配比)在逐级向下传递时,部分参数会被本地化替换。例如General Recipe写"反应温度80°C",Site Recipe可能根据本厂设备能力改为"78°C",Master Recipe则明确"由Unit-101的温控回路执行,设定值78°C,偏差±1°C"。Control Recipe在批次启动时,把这些参数连同批次ID一起下发给Phase,Phase再驱动Control Module执行。

常见误区:把Master Recipe直接当作Control Recipe使用。Master Recipe是模板,不能直接执行;每次生产必须由Batch引擎实例化生成Control Recipe,否则批次记录无法追溯,批次ID也无法关联。

五、一个简化的映射示例

假设某制药厂有一个配液Process Cell,包含两个Unit:配液罐Unit-101(带搅拌、温控、称重)和缓冲罐Unit-102(带液位、输送泵)。Master Recipe中的Procedure如下:

Procedure: 配液生产
├─ Unit Procedure: 配液(绑定 Unit-101)
│   ├─ Operation: 加料(Equipment Module: 称重加料模块)
│   │   ├─ Phase: AddMaterial(Control Module: 进料阀+称重传感器)
│   │   └─ Phase: Stir(Control Module: 搅拌电机)
│   ├─ Operation: 温控(Equipment Module: 温控模块)
│   │   └─ Phase: HeatToSetpoint(Control Module: 蒸汽阀+PID回路)
│   └─ Operation: 转移(Equipment Module: 输送模块)
│       └─ Phase: TransferOut(Control Module: 出料阀+输送泵)
└─ Unit Procedure: 暂存(绑定 Unit-102)
    └─ Operation: 接收(Equipment Module: 接收模块)
        └─ Phase: ReceiveMaterial(Control Module: 进料阀+液位计)

这个结构清晰地展示了:Procedure对应Process Cell,Unit Procedure对应Unit,Operation对应Equipment Module,Phase对应Control Module。每一层都有明确的物理设备承接,配方不是悬空的文本,而是可执行的设备指令序列。

掌握这套映射关系后,在FactoryTalk Batch中组态时就能做到"心中有模型":先确认物理模型建到哪一层,再决定配方写到哪一级,最后检查Phase是否与Control Module一一对应。这是批次管理工程从概念走向可执行的第一步。