2. 批次控制标准与顺序逻辑定位
在讨论顺序逻辑之前,必须先回答一个更基础的问题:顺序逻辑在批次控制体系中究竟处于什么位置?ISA-88(国际标准,等同采用为 IEC 61512)给出的答案不是一句定义,而是一套分层模型。理解这套模型,是判断“哪些逻辑该写进顺序控制、哪些不该写”的前提。
一、物理模型:设备被逐层分解
ISA-88 物理模型自下而上分为:控制模块(Control Module)、设备模块(Equipment Module)、单元(Unit)、过程单元(Process Cell)、站点(Site)、企业(Enterprise)。其中与顺序逻辑关系最直接的是前三层。
控制模块是最小可控制单元,通常对应一个阀门、一台泵、一个调节回路或一个称重传感器。它只完成单一动作或单一测量,例如“打开进料阀 V-101”“读取称重罐 W-201 的净重”。设备模块把若干控制模块组织成一个能完成有限工艺功能的集合,例如“计量加料模块”由进料阀、称重罐、搅拌器和排料阀组成。单元则是能独立完成一批完整工艺过程的设备组合,例如一个反应釜单元,包含加料、升温、反应、冷却、出料等设备模块。
物理模型的关键含义是:设备能力是分层的,顺序逻辑必须按层调用。单元级顺序不应直接去操作某个阀门,而应调用设备模块提供的“加料”“升温”等能力;设备模块内部再去驱动具体控制模块。这种分层让逻辑可复用——同一个“计量加料模块”可以被多个配方、多个单元级顺序调用。
二、程序模型:从配方到指令的分级
ISA-88 程序模型自上而下为:配方(Recipe)→ 配方程序(Procedure)→ 单元程序(Unit Procedure)→ 操作(Operation)→ 阶段(Phase)。配方描述“生产什么、用多少、什么条件”,程序描述“怎么做”。
真正落到控制器里执行顺序动作的是阶段。阶段是最小的、可复用的程序单元,通常与一个设备模块的能力相对应,例如“加料至 500 kg”“升温至 80 ℃ 并保温 30 min”。阶段内部由状态机驱动:空闲(IDLE)→ 运行(RUNNING)→ 完成(COMPLETE),异常时进入暂停(PAUSED)、中止(ABORTED)等状态。单元程序把多个操作按顺序编排,操作再把多个阶段按顺序编排,最终形成一整批的生产流程。
三、顺序逻辑在两层模型中的位置
把两个模型叠在一起看,顺序逻辑的定位就清楚了:它位于程序模型的阶段/操作层,向下通过设备模块接口驱动物理模型的控制模块,向上接受配方与单元程序的编排。下图展示了这一对应关系及职责边界。
四、三条职责边界
顺序逻辑与连续控制的分界。顺序逻辑关心“事件与次序”,连续控制关心“量的稳定”。以升温阶段为例:顺序逻辑负责打开蒸汽阀、启动循环泵、判断“温度 ≥ 80 ℃ 且保温 30 min”后转入下一步;而把温度稳定在 80 ℃ 的 PID 回路属于连续控制,它持续运行,不推进任何步序。实践中常见的错误是把 PID 的投用与切除写成顺序步,导致回路频繁无扰切换;正确做法是顺序逻辑只发出“升温使能”信号,PID 在使能期间自主调节。
顺序逻辑与联锁保护的分界。联锁是独立的安全层,其触发条件(如反应釜压力 ≥ 0.6 MPa、温度 ≥ 120 ℃)一旦满足,直接切断进料、打开泄放,不等待顺序逻辑响应。顺序逻辑可以在正常范围内做“工艺联锁”,例如“搅拌未运行则禁止加料”,但涉及人身与设备安全的保护必须由独立联锁或 SIS 承担,且不应被顺序逻辑的暂停、中止状态屏蔽。
顺序逻辑与配方管理的分界。配方提供参数(加料量 500 kg、升温速率 2 ℃/min、保温时间 30 min),顺序逻辑提供执行框架。同一段阶段逻辑配不同参数即可生产不同牌号,这正是 ISA-88 分层的价值所在。
五、工程落地时的判断方法
面对一条具体控制需求,可用三个问题快速定位:第一,它是否推进批次进程?是则归入阶段/操作;否则考虑连续控制或监视。第二,它是否在危险工况下必须无条件动作?是则归入联锁保护,独立实现。第三,它是否随产品规格变化?是则做成配方参数,而非硬编码在顺序逻辑中。
以一个 5 m³ 反应釜单元为例:加料 500 kg、升温至 80 ℃、保温 30 min、冷却至 40 ℃、出料,这五个阶段构成一个操作;加料阶段的顺序逻辑为“开 V-101 → 启动 P-201 → 称重 W-201 达到 500 kg → 关阀停泵 → 阶段完成”。其中 500 kg 来自配方参数,温度 PID 属于连续控制,压力高联锁属于独立保护层。三者在同一台设备上并行工作,但代码归属、测试方法和变更审批流程完全不同——这正是厘清边界的实际意义。
综上,ISA-88/IEC 61512 的物理模型与程序模型为顺序逻辑划定了明确坐标:它站在程序模型的阶段层,向下调用设备模块能力,向上接受配方编排;它与连续控制分工于“次序”与“稳定”,与联锁保护分工于“正常流程”与“安全兜底”。把这三条边界在项目初期就写进控制架构说明,比事后在程序里打补丁要经济得多。