去年给一个制药厂做配液罐恒温控制,客户要求水温波动不超过±0.5℃。我一开始用开关量加热,结果温度过冲到3℃才回稳,被车间主任骂了一顿。
后来换成S7-1200走模拟量PID,才把波动压到±0.3℃以内。今天就聊聊这套恒温控制怎么落地。
一、硬件怎么接
PLC用1214C DC/DC/DC,模拟量输入接PT100温度模块SM1231 AI4×RTD,输出给固态继电器调功模块。
PT100用三线制接线,量程设0-100℃,对应工程量0-27648。这一步接错线,后面PID再准也白搭。
二、PID_Compact怎么调
在OB1里拖一个PID_Compact功能块,Setpoint设55.0(单位℃),Input_PER接PIW64。
关键参数我最后定的是:比例Gain=2.5,积分Ti=8.0s,微分Td=0。工控恒温现场十有八九用不上微分,先关掉。
// PID_Compact 调用示例(S7-1200)
"PID_Compact_1"(
Setpoint := 55.0,
Input_PER := "PIW64",
Output => "AQW64"
);
Output给0-27648,再换算成0-10V控调功模块功率。调功比直接通断柔和,温度不会硬冲。
三、整定别死磕自动
先用PID_Compact的预调节(PreTuning),让它自己扫一遍出一组初值。扫的时候别去动设定值。
预调节出来Gain偏大,现场振荡。我手动把Gain从4.0降到2.5,Ti从5s放到8s,波动立刻小了。
四、实测数据
稳定运行后记录24小时:最高55.4℃,最低54.7℃,波动±0.35℃,满足客户±0.5℃要求。
升温段从常温到55℃用了约11分钟,没有明显过冲。这个指标在配液罐这种慢热系统里算合格。
五、适用条件和风险
适用:热惯性大的系统(水箱、油槽、反应釜),升温慢、波动要求严的场合,这类恒温控制上PID才划算。
不适用:纯开关加热的小功率设备,上PID反而增加成本和故障点,用滞环控制更省事。
风险:PT100断线会导致Input飘到上限,PID会全功率加热。一定要在程序里加断线检测,超温再触发急停。
你们做恒温项目踩过什么坑?欢迎在评论区交流。