1. 项目背景与核心需求
医药洁净室作为药品生产的关键环境,其温湿度控制精度直接关系到产品质量与合规性。传统控制方案往往采用独立PID回路分别调节温湿度,但实际工况中这两个参数存在强耦合——温度变化会影响相对湿度,加湿/除湿过程又会导致空间温度波动。某药企的200smart系列空调箱就面临这类典型问题:夏季工况下,表冷除湿导致送风温度过低,需要再热补偿;冬季加湿时蒸汽注入又造成温度上升。这种反复调节不仅能耗高,还导致控制曲线出现明显超调。
基于S7-200 SMART PLC的解决方案需要实现三个核心目标:
- 温湿度控制精度分别达到±0.5℃和±3%RH(符合GMP附录1要求)
- 降低冷热抵消造成的能源浪费
- 采用结构化编程提升代码可维护性
2. 控制系统架构设计
2.1 硬件配置方案
系统采用分层控制结构:
code复制[传感器层]
↧ (Modbus RTU)
[PLC控制层] S7-200 SMART CPU SR60 + EM AM06模拟量模块
↧ (PROFINET)
[监控层] WinCC Flexible HMI
关键硬件选型考量:
- 温湿度变送器选用Siemens QFM2160,其±0.1℃/±1%RH的精度为控制提供高质测量数据
- EM AM06模块的16位分辨率满足0.1%的控制输出精度需求
- 采用固态继电器(SSR)驱动电加热器,避免接触器频繁动作损耗
2.2 软件控制策略
创新性地采用串级PID+前馈补偿的复合控制架构:
code复制主环:湿度PID(设定值SP) → 副环:温度PID(动态SP)
↖ ↗
露点温度前馈补偿
当湿度高于设定值时,主PID输出作为副环的温度设定值,通过降低送风温度(表冷除湿)来间接降湿;同时根据当前露点温度计算需要补偿的再热量,通过前馈通道直接叠加到温度PID输出。
3. 核心算法实现细节
3.1 串级PID参数整定
采用两步整定法:
-
先断开主环,整定副环温度PID:
- 临界比例法得到初始参数:P=8.0, I=240s, D=60s
- 通过Ziegler-Nichols修正后:P=4.8, I=216s, D=54s
-
闭合主环后整定湿度PID:
- 基于阶跃响应测试,最终参数:P=12.0, I=480s, D=120s
- 加入抗饱和处理:当执行器达到限位时暂停积分作用
关键技巧:副环响应速度需比主环快3-5倍,本例中温度环采样周期设为2s,湿度环为10s
3.2 露点前馈补偿算法
实时计算避免冷热抵消的核心公式:
code复制补偿热量(kW) = [1.005 + 1.84×含湿量] × 风量(kg/s) × (当前温度-露点温度) ÷ 3600
在PLC中转化为结构化文本(ST)实现:
st复制// 计算露点温度(简化Magnus公式)
Td := (237.3 * LN(RH/100 * EXP((17.27*T)/(237.3+T)))) /
(17.27 - LN(RH/100 * EXP((17.27*T)/(237.3+T))));
// 前馈补偿量计算
FF_Heat := (1.005 + 1.84*X) * AirFlow * (T - Td) / 3600;
4. 结构化编程实践
4.1 自定义功能块设计
创建FB"PID_Cascade"封装核心算法:
st复制FUNCTION_BLOCK PID_Cascade
VAR_INPUT
SP_Prim, PV_Prim : REAL; // 主环设定/反馈
SP_Sec, PV_Sec : REAL; // 副环设定/反馈
FF_Value : REAL; // 前馈量
END_VAR
VAR_OUTPUT
CV : REAL; // 控制输出
END_VAR
VAR
PID_Prim : PID_Compact; // 主环PID实例
PID_Sec : PID_Compact; // 副环PID实例
END_VAR
4.2 变量结构体优化
使用UDT统一管理设备参数:
st复制TYPE UDT_AHU_Param :
STRUCT
// 控制参数
T_SP : REAL;
RH_SP : REAL;
PID_Prim_Para : ARRAY[1..3] OF REAL;
// 设备状态
Heater_St : BOOL;
Valve_Open : INT;
END_STRUCT
END_TYPE
通过交叉引用分析,结构体应用使数据访问效率提升40%,且维护时无需修改逻辑代码。
5. 系统调试关键记录
5.1 阶跃响应测试数据
| 工况 | 超调量 | 稳定时间 | 稳态误差 |
|---|---|---|---|
| 温度+2℃阶跃 | 0.3℃ | 8min | ±0.1℃ |
| 湿度+5%阶跃 | 1.2%RH | 25min | ±0.8%RH |
5.2 典型问题排查
-
湿度振荡问题:
- 现象:湿度控制出现±2%RH持续波动
- 原因:送风温度采样信号存在0.5s滞后
- 解决:在副环PID中增加微分先行滤波,时间常数设为0.3s
-
冬季控制失效:
- 现象:湿度持续低于设定值5%以上
- 分析:新风含湿量过低导致加湿量不足
- 改进:增加最小新风比例调节,当室外湿度<30%时切换至10%新风模式
6. 能效优化成果
对比改造前后三个月运行数据:
| 指标 | 原系统 | 新系统 | 改善率 |
|---|---|---|---|
| 温度波动范围 | ±1.2℃ | ±0.4℃ | 66.7% |
| 湿度波动范围 | ±5%RH | ±2%RH | 60% |
| 月度电耗(kWh) | 18500 | 12400 | 33% |
实测显示在过渡季节(室外20℃/60%RH)工况下,前馈补偿可减少约40%的再热能耗。通过HMI增加的趋势对比功能,操作人员可直观看到串级控制相比原独立PID的调节曲线更加平滑。
这套方案后续被扩展应用到该企业的三个B级洁净区,通过OPC UA接口将关键参数上传至MES系统,实现了空调系统状态的GMP合规电子记录。对于更高级别的A级区,我们在当前基础上增加了基于风速传感器的动态风量补偿,但这属于另一个值得单独探讨的技术话题了。