MAU预热盘管冻裂事故复盘:只因PLC程序少写了一句互锁

📑 本文目录

🚨 事故摘要: 2025年1月某北方电子厂,MAU-03新风机组预热盘管冻裂,热水大量泄漏,导致洁净室停产48小时,直接经济损失约35万元。根因竟是PLC程序中缺失一句关键互锁条件。

1. 事故背景与损失

1.1 系统配置

  • 设备型号:MAU-03 新风机组,风量 60,000 m³/h
  • 预热盘管:铜管铝翅片,热水供热,设计供水温度 60℃
  • 控制系统:西门子 S7-1200 PLC + 触摸屏
  • 运行模式:冬季工况,24小时连续运行

1.2 损失统计

损失项目金额(万元)说明
预热盘管更换8.5整组盘管报废,需定制更换
停产损失22.048小时产能损失
洁净室恢复3.0除湿、清洁、重新验证
其他维修1.5电气元件、保温材料等
合计35.0

2. 事故经过时间线

1月12日 02:15
室外气温骤降至 -18℃,热水循环泵因电气故障跳停
02:18
MAU-03 预热盘管出水温度开始快速下降
02:25
出水温度降至 3℃,但 MAU 风机仍在运行,新风阀全开
02:35
盘管内水温降至 0℃以下,开始结冰
02:50
运行人员发现盘管处有异响,手动停止风机
03:10
盘管多处破裂,热水喷涌而出,洁净室湿度报警

3. 根因分析:缺失的互锁逻辑

事故发生后,技术团队对 PLC 程序进行了全面审查,发现了致命缺陷:

🔍 根本原因

防冻保护逻辑中,缺少了"热水循环泵运行状态"与"新风阀/风机"的硬互锁。

原程序中,防冻保护仅依赖于温度传感器信号。当热水泵跳停时,PLC 虽然收到了泵故障信号,但并未触发任何保护动作。新风阀继续保持全开,-18℃的冷空气持续吹过盘管,导致管内静止的水在15分钟内完全冻结。

3.1 原程序逻辑缺陷分析

图1:原程序控制逻辑(错误版本)

原程序的防冻逻辑仅判断预热盘管出水温度,当温度低于 5℃ 时触发报警,但没有自动停机保护。更致命的是,热水泵的运行状态完全没有参与风机和新风阀的控制

3.2 为什么温度保护未能生效?

当热水泵跳停时,盘管内的水停止流动,但由于盘管热惯性,出水温度传感器处的温度下降存在延迟。在温度降到报警阈值之前,盘管进水侧已经结冰。这种"滞后效应"使得单纯的温度保护无法及时响应泵故障。

4. 正确的防冻保护逻辑设计

一个完善的 MAU 防冻保护逻辑,必须包含三重冗余保护

4.1 保护层级设计

保护层级触发条件保护动作响应时间
第一级:预报警 出水温度 < 10℃ 发出预警,提醒运行人员检查 实时
第二级:自动保护 出水温度 < 5℃ 或 热水泵停止 关闭新风阀、风机降频至最低 < 1秒
第三级:紧急停机 出水温度 < 3℃ 且 热水泵停止 完全停止风机、关闭新风阀、全开热水阀 < 0.5秒

4.2 关键互锁条件

✅ 必须实现的互锁逻辑:
  • 新风阀开允许条件:热水循环泵运行 ≥ 1 个
  • 风机启动允许条件:预热盘管出水温度 > 15℃ 或 热水阀开度 > 30%
  • 热水泵故障响应:立即关闭新风阀,风机降至最小频率
图2:正确的防冻保护控制逻辑图

5. PLC程序对比(错误 vs 正确)

5.1 原程序(错误版本)

// 原程序:防冻保护逻辑(不完整) IF "MAU_Preheat_Temp" < 5.0 THEN "Alarm_Freeze_Warning" := TRUE; // 仅报警,无自动动作 END_IF; // 新风阀控制(缺少互锁) "Valve_OA" := "HMI_OA_Setpoint"; // 直接按设定值开阀 // 风机启停(缺少互锁) IF "HMI_Fan_Start" THEN "Fan_Run" := TRUE; END_IF;

5.2 整改后程序(正确版本)

// 整改后:完善的防冻保护逻辑 // 1. 热水泵状态监测 #Pump_OK := ("Pump1_Run" OR "Pump2_Run"); // 2. 防冻保护触发条件 #Freeze_Trip := ("MAU_Preheat_Temp" < 3.0) OR (NOT #Pump_OK AND "MAU_OA_Temp" < 5.0); // 3. 新风阀互锁控制 IF #Freeze_Trip THEN "Valve_OA" := 0.0; // 强制关闭新风阀 "Alarm_Freeze_Critical" := TRUE; ELSIF NOT #Pump_OK THEN "Valve_OA" := 0.0; // 泵停则阀关 "Alarm_Pump_Fault" := TRUE; ELSE "Valve_OA" := "HMI_OA_Setpoint"; END_IF; // 4. 风机互锁控制 IF #Freeze_Trip THEN "Fan_Speed" := 0.0; // 紧急停机 ELSIF ("MAU_Preheat_Temp" < 10.0) OR (NOT #Pump_OK) THEN "Fan_Speed" := "Fan_Min_Speed"; // 最低频率运行 ELSE "Fan_Speed" := "HMI_Fan_Setpoint"; END_IF;

6. 整改措施与验证

6.1 硬件整改

  • 在预热盘管进水侧增加温度传感器,消除检测盲区
  • 热水泵增加冗余配置,一用一备自动切换
  • 新风阀改为弹簧复位型,失电自动关闭

6.2 软件整改

  • 按上述正确逻辑重写 PLC 程序
  • 增加防冻保护模拟测试功能,可在线验证逻辑
  • 防冻报警信息推送至值班手机

6.3 验证测试

整改完成后,进行了以下测试验证:

  • ✅ 模拟热水泵故障:新风阀 2 秒内关闭,风机降至最低频率
  • ✅ 模拟出水温度 < 3℃:风机停机,新风阀关闭,报警触发
  • ✅ 模拟恢复正常:系统自动恢复运行,无需人工干预

7. 经验教训与防冻Checklist

📌 核心教训: 自控程序的健壮性,不在于正常工况下的功能实现,而在于异常工况下的保护逻辑是否完备。一句缺失的互锁,可能造成数十万的损失。

7.1 冬季防冻检查清单

✅ 检查所有热水循环泵运行状态信号是否接入 PLC
✅ 验证泵故障时新风阀是否自动关闭
✅ 测试防冻温度保护阈值是否正确(建议 5℃)
✅ 检查新风阀失电时是否自动关闭(弹簧复位)
✅ 确认盘管最低点设有排水阀
✅ 验证防冻报警是否推送至值班人员
✅ 检查保温层是否完好,无破损
✅ 制定极端天气应急预案
💡 延伸建议: 对于北方严寒地区的 MAU,建议采用乙二醇溶液作为预热热媒,可从根本上杜绝冻裂风险。虽然初投资略高,但相比一次冻裂事故的损失,性价比极高。