2. 大型设备联锁与顺控需求分析

在大型设备联锁与顺控工程中,需求分析不是“把工艺描述抄一遍”,而是把分散在工艺流程图(P&ID)、因果图(Cause & Effect Matrix)、SIS 与 DCS 分工文件中的信息,翻译成 ControlLogix 可实现的联锁逻辑与顺控步序,并形成一条可追溯的需求链。需求链的起点是工艺危害与操作目标,终点是控制器中的具体标签、条件表达式和动作输出。中间任何一环缺失,都会导致后期编程、测试和验收时反复返工。

一、三类输入文件各自回答什么问题

P&ID 回答“有哪些设备、仪表、阀门和管线,它们如何连接”。因果图回答“哪个原因触发哪个结果,是联锁停车、报警还是联锁允许”。SIS 与 DCS 分工文件回答“哪些逻辑由安全仪表系统执行,哪些由过程控制系统执行,两者之间如何交接”。三者缺一不可:只看 P&ID 会漏掉动作优先级,只看因果图会不清楚现场仪表位号与信号类型,只看分工文件则无法还原工艺连接关系。

以一台大型压缩机组为例,P&ID 上可以看到入口分离器液位变送器 LT-1201、出口温度变送器 TE-1205、润滑油压力开关 PS-1301、机组运行信号、入口切断阀 XV-1201 和旁路阀 XV-1202。因果图则规定:LT-1201 高高(HH)触发机组停车并关闭 XV-1201;TE-1205 高高触发机组停车;PS-1301 低低触发机组停车并启动辅助油泵。分工文件进一步说明:机组停车联锁由 SIS 执行,辅助油泵启动由 DCS 执行,SIS 通过硬线或安全通信向 DCS 发送“机组停车”状态。

二、从因果图提取联锁逻辑

因果图通常以矩阵形式出现,行是原因,列是结果。提取时不能只抄“X”标记,而要明确四件事:触发条件、延时、复位方式和动作输出。例如 LT-1201 HH 的触发条件应写成“液位 ≥ 90% 且持续 2 s”,而不是“液位高”。延时用于抑制液位波动引起的误停车,复位方式要区分手动复位和自动复位:停车联锁一般要求手动复位,报警可以自动复位。

在 ControlLogix 中,联锁逻辑通常用 AOI 或安全任务中的梯形图/功能块实现。以 LT-1201 HH 为例,需求清单中应记录:输入标签 LT1201_PV、比较阈值 90.0、延时 TON_2s、输出标签 TRIP_GROUP1、复位按钮 HS1201_RESET。这样编程人员不需要再猜,测试人员也能直接按清单逐条验证。

三、从工艺流程图提取顺控步序

顺控步序描述设备从一种状态过渡到另一种状态的有序动作。P&ID 上的阀门、泵、风机和加热器是步序中的执行对象,管线上的流量、压力和温度是步序转换条件。以压缩机组启动顺控为例,典型步序为:确认润滑油压力正常 → 启动辅助油泵 → 打开入口阀 XV-1201 → 启动主电机 → 确认机组运行 → 关闭旁路阀 XV-1202。每一步都有进入条件、动作输出和完成条件,不能只写“启动机组”。

步序提取时要注意动作之间的互锁关系。例如“打开入口阀”之前必须确认润滑油压力正常,否则不允许开阀;“启动主电机”之前必须确认入口阀已全开。这些互锁条件在 P&ID 上表现为仪表信号,在因果图上可能表现为“允许”列,在顺控需求中则成为步转换条件。

联锁与顺控需求提取:从三类输入到可追溯清单 P&ID 工艺流程图 设备 / 仪表 / 阀门 / 管线 位号、信号类型、连接关系 LT-1201、TE-1205、XV-1201 因果图 C&E Matrix 原因 → 结果 / 延时 / 复位 停车、报警、允许、启动 HH 液位 → 停车 + 关阀 SIS / DCS 分工文件 安全逻辑 vs 过程控制 硬线 / 安全通信交接 SIS 停车 → DCS 油泵 提取:对象与信号 输入标签、量程、单位 输出标签、阀门类型 信号类型:4-20mA / DI 提取:联锁逻辑 触发条件 + 阈值 + 延时 动作输出 + 优先级 复位方式:手动 / 自动 提取:顺控步序 步号、进入条件、动作 完成条件、步超时 步间互锁与允许 可追溯需求清单(每条需求含唯一 ID) 需求 ID / 来源 触发条件 / 阈值 动作 / 输出标签 验证方法 / 测试用例 示例:IL-001 | 来源 C&E 第3行 | LT1201_PV ≥ 90% 且 2s | 停车 TRIP_GROUP1 + 关 XV-1201 | 强制 LT1201_PV=92% 观察 2s 后动作

四、SIS 与 DCS 分工对需求清单的影响

SIS 与 DCS 分工决定了同一条工艺联锁在控制器中的落点。安全联锁必须放在 SIS 安全任务中,满足 SIL 等级要求;过程联锁和顺控步序通常放在 DCS 或 ControlLogix 标准任务中。两者之间的交接信号必须明确:是硬线 DO/DI,还是安全通信(如 EtherNet/IP CIP Safety)。交接信号也要进入需求清单,标注方向、类型和失效安全状态。

例如“机组停车”由 SIS 输出到 DCS,DCS 收到后启动辅助油泵。需求清单中应记录:信号名 SIS_TRIP_TO_DCS、方向 SIS→DCS、类型硬线 DI、失效状态“断开即停车”、DCS 侧动作“启动辅助油泵并报警”。如果这条交接信号没有定义失效状态,现场断线时 DCS 可能误判为正常,导致油泵不启动。

五、形成可追溯需求清单的字段设计

可追溯需求清单不是简单的表格,而是每条需求都能反向追溯到来源文件、正向追溯到程序标签和测试用例。建议每条需求至少包含以下字段:需求 ID、来源文件及行号、需求类型(联锁/顺控/报警/允许)、触发条件、延时、动作输出、复位方式、SIS/DCS 归属、程序标签、测试用例编号、验证状态。字段不必多,但必须能支撑“设计—编程—测试—验收”闭环。

下面给出一份可直接参考的联锁需求清单示例,参数为教学假设值,实际工程应以因果图和工艺包为准:

需求 ID 来源 触发条件 延时 动作输出 复位 归属 程序标签
IL-001 C&E 第3行 LT1201_PV ≥ 90% 2 s TRIP_GROUP1=1,XV1201_CMD=0 手动 SIS LT1201_HH_TRIP
IL-002 C&E 第5行 TE1205_PV ≥ 135 ℃ 3 s TRIP_GROUP1=1 手动 SIS TE1205_HH_TRIP
IL-003 C&E 第7行 PS1301=0(油压低) 1 s TRIP_GROUP1=1,启动辅助油泵 手动 SIS→DCS PS1301_LL_TRIP
SQ-001 P&ID 启动顺控 润滑油压力正常 — 启动辅助油泵 自动 DCS SEQ_STEP1
SQ-002 P&ID 启动顺控 辅助油泵运行且油压正常 5 s 打开 XV-1201 自动 DCS SEQ_STEP2
提示:需求清单中的“来源”字段必须写到具体文件与行号或图号,例如“C&E 第3行”“P&ID 图号 P-1201”。这样当工艺变更时,可以快速定位哪些需求需要同步修改,避免遗漏。

六、常见遗漏与检查要点

需求分析阶段最容易遗漏的是“允许条件”和“步超时”。允许条件不触发停车,但会阻止顺控进入下一步,例如入口阀未全开时不允许启动主电机。步超时用于检测阀门卡涩或泵未启动,例如“打开 XV-1201 后 10 s 内未收到全开反馈,则顺控暂停并报警”。这两类需求在因果图上可能没有独立行,但在顺控步序中必须明确。

另一个常见问题是同一原因在不同文件中描述不一致。例如 P&ID 上 LT-1201 量程为 0~100%,因果图写“液位高”,分工文件写“液位高高”。需求分析时必须统一为可量化的阈值和单位,并在清单中记录量程和工程单位。只有把“高”变成“≥ 90%”,程序才能比较,测试才能复现。

最后,需求清单完成后应组织一次跨专业评审:工艺确认触发条件和阈值,安全确认 SIL 等级和复位方式,仪表确认信号类型和量程,控制确认标签命名和任务归属。评审通过后的清单作为编程和测试的基线,任何变更都要走变更记录,确保需求链始终可追溯。