4. 反应温度前馈-反馈复合控制应对进料温度波动
为什么进料温度波动不能靠反馈单独解决
反应温度对进料温度扰动存在明显滞后:进料温度先变化,经过釜内混合、传热和测温元件响应后,反馈PID才看到偏差并开始动作。若扰动幅度较大,反馈回路往往在偏差已经形成后才“追着修”,温度最大偏差难以压住。进料温度本身可测但不可控(上游工况决定),因此适合引入静态前馈补偿:在扰动进入反应釜之前,按可测的进料温度偏差直接给冷却/加热量一个修正量,与反馈PID输出叠加,形成前馈-反馈复合控制。
复合控制结构与静态前馈补偿器设计
设进料温度测量值为 Tf,其设定基准为 Tf0,偏差 ΔTf = Tf − Tf0。静态前馈补偿器采用比例形式:
u_ff = K_ff · ΔTf
u = u_fb + u_ff (u_fb 为反馈PID输出,u 为冷却水阀开度指令)
其中 K_ff 的量纲为“阀开度百分比 / ℃”。工程上常用稳态物料与热量衡算估算初值:进料温度每升高 1 ℃,为维持反应温度不变,需要额外移走的热量约为 F·ρ·cp·1(F 为进料体积流量)。若冷却水阀开度每 1% 对应的移热能力为 Q1%,则
K_ff ≈ (F · ρ · cp) / Q1% (单位:%/℃)
本例取教学示例参数:进料流量 F = 2.0 m³/h,密度 ρ ≈ 900 kg/m³,比热 cp ≈ 2.0 kJ/(kg·℃),则每 1 ℃ 进料温升对应热负荷约 2.0×900×2.0/3600 ≈ 1.0 kW/℃。若冷却水阀 1% 开度对应移热约 0.25 kW,则 K_ff ≈ 1.0/0.25 = 4 %/℃。该值仅作初值,需在仿真中微调。
仿真验证:前馈对最大偏差的削减
用一阶加纯滞后近似反应温度对进料温度扰动的通道:G_d(s) = K_d·e^(−τs)/(T·s+1),取 K_d = 0.8 ℃/℃、T = 120 s、τ = 30 s;反馈PID取 Kp = 2.0、Ti = 180 s、Td = 20 s。扰动设为进料温度在 t = 100 s 时阶跃上升 5 ℃。下面给出可直接运行的离散仿真代码(Python,仅用标准库),对比“纯反馈”与“前馈+反馈”两种方案的温度最大偏差。
import math
dt = 1.0
T_end = 1200
n = int(T_end / dt)
# 被控对象:反应温度对冷却阀开度的通道(简化一阶)
Kp_obj, T_obj = -0.6, 150.0 # 阀开度+1% 使温度下降0.6℃
# 扰动通道:进料温度 -> 反应温度
Kd, Td, tau_d = 0.8, 120.0, 30.0
def simulate(use_ff, Kff):
y = 0.0 # 反应温度偏差(相对初值)
x_obj = 0.0 # 对象状态
x_d = 0.0 # 扰动通道状态
integ = 0.0
prev_e = 0.0
d_buf = [0.0] * int(tau_d / dt + 1)
max_dev = 0.0
Kp, Ti, Td_pid = 2.0, 180.0, 20.0
for k in range(n):
t = k * dt
dTf = 5.0 if t >= 100 else 0.0
# 扰动通道(纯滞后 + 一阶)
d_buf.append(dTf)
d_in = d_buf.pop(0)
x_d += (d_in - x_d) * dt / Td
dist = Kd * x_d
# 反馈PID(偏差 = 设定0 - 测量y)
e = 0.0 - y
integ += e * dt
deriv = (e - prev_e) / dt
u_fb = Kp * e + Kp / Ti * integ + Kp * Td_pid * deriv
prev_e = e
# 前馈
u_ff = Kff * dTf if use_ff else 0.0
u = u_fb + u_ff
u = max(-100.0, min(100.0, u))
# 对象
x_obj += (u - x_obj) * dt / T_obj
y = Kp_obj * x_obj + dist
max_dev = max(max_dev, abs(y))
return max_dev
dev_fb = simulate(False, 0.0)
dev_ff = simulate(True, 4.0)
print("纯反馈最大偏差: %.3f ℃" % dev_fb)
print("前馈+反馈最大偏差: %.3f ℃" % dev_ff)
print("偏差削减比例: %.1f%%" % ((dev_fb - dev_ff) / dev_fb * 100))
运行后可观察到:纯反馈方案在进料温度阶跃后温度最大偏差较大;加入 K_ff = 4 %/℃ 的静态前馈后,前馈在扰动到达前就提前给出阀位修正,最大偏差明显减小。若把 K_ff 继续增大到 6~8,可能出现反向偏差增大,说明前馈已过补偿,应回调。判断依据:最大偏差下降且反向偏差不超过原偏差的 20%~30% 时,认为前馈强度合适。
整定与验证要点
- 前馈符号:进料温度升高应增大冷却阀开度,故 K_ff 取正;若工艺为加热夹套,则符号相反,需在投运前用一次小阶跃确认方向。
- 前馈限幅:给 u_ff 加 ±20% 限幅,防止进料温度测量异常时阀位被拉飞。
- 验证指标:同一扰动下比较最大偏差、恢复时间与反向偏差;前馈有效时最大偏差应显著下降,且反馈PID输出波动减小。
- 静态前馈的局限:只补偿稳态增益,对扰动通道动态滞后无补偿作用;若进料温度频繁快速波动,可进一步考虑动态前馈(超前-滞后环节)。