1. 食品灌装线启停联锁控制
联锁对象与安全状态定义
灌装线启停联锁的核心不是“让三个设备都能启动”,而是明确谁允许谁动作以及急停后各执行机构停在什么状态。本例采用一台小型PLC(以常见的西门子S7-1200为参照,逻辑通用)控制三段对象:进瓶输送带电机M1、灌装阀电磁阀YV1、急停按钮SB0(常闭触点接入)。
先约定安全状态:急停按下时,M1接触器KM1失电、YV1失电关闭、系统进入“已急停”锁定态,且必须人工复位后才能重新启动。启动顺序上,灌装阀不允许在输送带未运行、或无瓶到位信号时单独打开,这是本节的联锁重点。
I/O分配与梯形图逻辑
输入输出分配如下表,急停采用常闭触点串入,符合失效安全原则:正常未按下时I0.0为1,按下后变为0。
| 地址 | 对象 | 类型 | 说明 |
|---|---|---|---|
| I0.0 | SB0 急停 | 常闭输入 | 未按下=1,按下=0 |
| I0.1 | SB1 启动 | 常开按钮 | 上升沿启动 |
| I0.2 | SB2 停止 | 常闭按钮 | 按下=0停止 |
| I0.3 | B1 瓶到位光电 | 常开 | 有瓶=1 |
| Q0.0 | KM1 输送带 | 输出 | 1=运行 |
| Q0.1 | YV1 灌装阀 | 输出 | 1=打开灌装 |
| M0.0 | 系统运行标志 | 内部位 | 1=已启动 |
| M0.1 | 急停锁定标志 | 内部位 | 1=需复位 |
关键逻辑用梯形图思路表达为三段:第一段做启动自锁并受急停、停止约束;第二段做急停锁定置位;第三段做灌装阀的联锁输出。下面给出可直接对照的ST(结构化文本)实现,逻辑与梯形图等价:
// 段1:系统运行标志,急停未按下且未锁定才允许启动
IF "SB0急停" = 0 THEN
"急停锁定" := 1; // 急停按下,置锁定
END_IF;
IF "SB1启动" AND "SB0急停" AND NOT "急停锁定" THEN
"系统运行" := 1;
END_IF;
IF ("SB2停止" = 0) OR ("SB0急停" = 0) THEN
"系统运行" := 0;
END_IF;
// 段2:输送带随系统运行
"KM1输送带" := "系统运行";
// 段3:灌装阀联锁——输送带运行且有瓶到位才打开
"YV1灌装阀" := "系统运行" AND "KM1输送带" AND "B1瓶到位";
// 段4:急停复位(人工确认后按复位按钮,此处用停止按钮长按模拟复位)
IF "SB2停止" = 0 AND "SB0急停" = 1 THEN
"急停锁定" := 0;
END_IF;
注意:急停锁定标志必须在急停按钮释放后、经人工复位动作才能清零,不能仅靠“急停松开”自动恢复运行,否则失去安全联锁意义。上例用停止按钮兼作复位仅为教学简化,实际工程应设独立复位按钮并做确认。
联锁关系与状态判读
下图把三个执行对象的允许条件、急停的强制切断路径以及锁定状态的保持关系画在一起,便于对照程序检查“哪一路没满足导致阀不开”或“急停后为何不能自恢复”。
验证与判读要点
上电后按以下顺序验证,可覆盖联锁的主要分支:
- 未按启动时,Q0.0、Q0.1均为0,M0.0=0,M0.1=0。
- 按SB1启动,M0.0=1,Q0.0=1;此时若无瓶(I0.3=0),Q0.1应保持0,说明阀的联锁生效。
- 遮挡B1使I0.3=1,Q0.1应变为1,灌装阀打开。
- 运行中按下SB0急停,Q0.0、Q0.1应立即变0,M0.1=1;松开急停后系统不应自动恢复,Q0.0仍为0。
- 执行复位动作后M0.1=0,再按SB1才能重新启动,验证“锁定—复位—再启动”闭环。
若急停后Q0.1仍为1,优先检查程序中灌装阀输出是否直接引用了未受急停约束的中间位,或输出线圈被多处重复赋值导致最后一次赋值覆盖了安全逻辑。