3. 联锁与顺控的工艺建模
在S7-1500联锁与顺控工程中,真正决定程序质量的往往不是梯形图写得多熟练,而是工艺需求是否被准确、完整地转化为可编程的控制规格。工艺流程图(P&ID)、因果矩阵(Cause & Effect Matrix)、状态图(State Diagram)和控制需求规格(Control Requirement Specification,CRS)是这条转化链上的四个关键载体。它们不是四份互相独立的文档,而是同一套工艺知识在不同抽象层级上的表达:P&ID回答“有哪些设备、怎么连接”,因果矩阵回答“什么条件触发什么动作”,状态图回答“顺序如何推进、何时允许切换”,控制需求规格则回答“PLC里到底要写哪些位、哪些定时器、哪些互锁和哪些报警”。
一、从P&ID提取可编程对象
拿到一张工艺流程图,第一步不是急着画程序,而是把图上的工艺对象翻译成PLC可寻址的变量。以典型的“反应釜进料—搅拌—加热—出料”单元为例,P&ID上会出现:进料切断阀XV101、搅拌电机M101、夹套加热蒸汽调节阀TV101、釜内温度TT101、釜内压力PT101、液位LT101、出料阀XV102。每个对象都要明确三件事:它的命令源(谁让它动作)、它的反馈源(它是否真的动作了)、它的参与联锁(哪些异常必须让它回到安全位)。例如XV101的命令位是Q0.0,开反馈是I0.0,关反馈是I0.1;M101的命令是Q0.1,运行反馈是I0.2,过载是I0.3。这一步的产出是一张“工艺对象—PLC变量—安全位”对照表,它是后续所有建模工作的基础。
二、因果矩阵:把联锁关系结构化
因果矩阵是联锁建模最有效的工具。它的行是“原因”(Cause),列是“结果”(Effect),交叉点填写动作类型:S表示置位、R表示复位、T表示延时动作、A表示报警。以反应釜为例,原因包括:TT101超温(≥85℃)、PT101超压(≥0.6MPa)、LT101超高(≥90%)、M101过载、急停按钮按下。结果包括:关闭XV101、停止M101、关闭TV101、打开XV102、触发声光报警。矩阵中TT101超温对应“关闭TV101(S)”“停止M101(T,3s)”“报警(A)”;PT101超压对应“关闭XV101(S)”“关闭TV101(S)”“打开XV102(S)”“报警(A)”。这张矩阵直接决定了程序中联锁网络的输入输出关系,也避免了“想到哪写到哪”的遗漏。
三、状态图:定义顺序推进的合法路径
因果矩阵解决的是“异常时怎么停”,状态图解决的是“正常时怎么走”。反应釜的顺控通常划分为空闲、进料、搅拌、加热、出料五个状态。每个状态需要明确四个要素:进入条件、执行动作、转移条件、异常退出。例如“进料”状态的进入条件是“空闲且无联锁报警”,执行动作是“打开XV101”,转移条件是“LT101≥70%”,异常退出是“PT101超压则立即关闭XV101并回到空闲”。状态图的价值在于把“什么时候允许进入下一步”变成可检查的条件表达式,而不是靠操作员凭经验判断。在S7-1500中,状态图可以直接映射为GRAPH顺控器,每个状态对应一个步,转移条件对应转换条件,异常退出对应监控条件。
四、控制需求规格:从图到程序的最后一公里
控制需求规格是前面三层建模的汇总输出,也是程序员直接使用的“施工图”。一份可执行的CRS至少应包含:变量表(变量名、绝对地址、数据类型、初值、安全位)、联锁逻辑表(原因、结果、动作类型、延时)、步序动作表(步号、状态名、动作输出、转移条件、超时监控)、定时器参数表(定时器编号、预设值、用途)、报警阈值表(报警位、触发条件、优先级、确认方式)。以反应釜为例,CRS中应明确写出:TT101高限报警值85℃、高高限联锁值90℃;PT101高限报警值0.5MPa、高高限联锁值0.6MPa;LT101进料停止值70%、高限报警值90%;M101过载后延时3s停止搅拌。这些数值不是凭空假设,而是来自工艺专业提供的设计条件,工程实施时必须逐条与工艺确认。
五、转化过程中的常见陷阱
第一,把P&ID上的仪表位号直接当变量名。TT101是仪表位号,但PLC中需要区分TT101_PV(过程值)、TT101_HiAlm(高限报警位)、TT101_HiHiTrip(高高限联锁位),三者地址和用途完全不同。第二,因果矩阵只写“停”不写“怎么停”。同样是停止搅拌电机,过载时应立即断电,液位超高时应先停进料再延时停搅拌,急停时应同时切断所有输出。动作类型和延时必须写清楚。第三,状态图缺少异常退出路径。正常步序只覆盖了“一切正常”的情况,但联锁触发时从哪个状态退出、退出后回到哪里、是否需要人工复位,必须在状态图中明确。第四,CRS中的定时器参数没有来源。例如“搅拌3s后停止”中的3s是工艺要求的缓冲时间,还是编程人员随意填的?CRS中应标注参数来源和可调范围。
六、一个可复用的CRS片段示例
以下以反应釜超温联锁为例,给出CRS中联锁逻辑表的填写方式。该表可直接作为编程输入,也可作为调试时的核对依据。
| 序号 | 原因(Cause) | 结果(Effect) | 动作类型 | 延时 | 复位方式 |
|---|---|---|---|---|---|
| IL-01 | TT101 ≥ 85℃ | TV101_Cmd = 0% | 置位关阀 | 0s | 自动(温度回落至80℃以下) |
| IL-02 | TT101 ≥ 90℃ | M101_Cmd = 0 | 延时停止 | 3s | 手动复位 |
| IL-03 | TT101 ≥ 90℃ | XV101_Cmd = 0 | 立即关闭 | 0s | 手动复位 |
| IL-04 | TT101 ≥ 90℃ | 报警位 TT101_HiHiAlm = 1 | 报警 | 0s | 手动确认 |
这张表在S7-1500中的实现路径是:TT101_PV经FC105缩放为0~100℃的实数,与85.0和90.0比较得到两个布尔位;IL-01直接驱动TV101的模拟量输出为0;IL-02启动TON定时器,3s后复位M101_Cmd;IL-03和IL-04直接置位对应位。调试时,用信号发生器在TT101通道注入85℃和90℃对应的电流信号(4~20mA对应0~100℃,85℃对应17.6mA,90℃对应18.4mA),观察TV101输出是否归零、M101是否在3s后停止、报警位是否置位。只有这三项都符合CRS描述,才说明从工艺图到程序的转化是完整的。
总结来说,P&ID提供对象,因果矩阵提供联锁关系,状态图提供顺序逻辑,CRS提供可编程的完整规格。四者层层递进,缺一不可。在实际项目中,建议把CRS作为编程和调试的共同基准:程序员按CRS写程序,调试人员按CRS逐条验证,工艺人员按CRS确认需求是否被完整覆盖。只有这样,联锁与顺控工程才能从“凭经验写程序”转变为“按规格实现控制”。