📄 cstr_pid.m
字号:
% 本程序用来实现CSTR模型的PID控制仿真
%
% 完成日期:2007年6月13日
clear
% 仿真参数
N = 200;
h = 0.1;
% 控制变量初值
Q(1) = 100.0;
Qc(1) = 15.0;
% 状态变量初值
Ca(1) = 0.037;
T(1) = 402.35;
Tc(1) = 345.44;
H(1) = 6.0; % 单位是分米
% 被控变量设定值
Cas = 0.06;
Ts = 405.0;
Tcs = 350.0;
% PID调节参数
% 控制Ca
% Kp = 20.0;
% Ti = 0.1;
% Td = 0.0;
% 控制T
% Kp = 1.5;
% Ti = 1.0;
% Td = 0.0;
% 控制Tc
Kp = 0.5;
Ti = 0.2;
Td = 0.0;
q0 = Kp*(1+h/Ti+Td/h);
q1 = -1*Kp*(1+2*Td/h);
q2 = Kp*Td/h;
% 误差变量
ek = 0;
ek_1 = 0;
ek_2 = 0;
% 控制仿真
for i = 1:N
% % 控制生成物浓度Ca
% ek_2 = ek_1;
% ek_1 = ek;
% ek = Cas-Ca(i);
% e(i) = ek;
%
% dQ = q0*ek+q1*ek_1+q2*ek_2;
% Q(i+1) = Q(i)+dQ;
% [Ca(i+1), T(i+1), Tc(i+1), H(i+1)] = CSTR_RK4(Q(i+1), Qc, Ca(i), T(i), Tc(i), H(i));
% % 控制反应温度 T
% ek_2 = ek_1;
% ek_1 = ek;
% ek = Ts-T(i);
% e(i) = ek;
%
% dQc = q0*ek+q1*ek_1+q2*ek_2;
% Qc(i+1) = Qc(i)-dQc;
%
% [Ca(i+1), T(i+1), Tc(i+1), H(i+1)] = CSTR_RK4(Q, Qc(i+1), Ca(i), T(i), Tc(i), H(i));
% 控制冷却液温度 Tc
ek_2 = ek_1;
ek_1 = ek;
ek = Tcs-Tc(i);
e(i) = ek;
dQc = q0*ek+q1*ek_1+q2*ek_2;
Qc(i+1) = Qc(i)-dQc;
[Ca(i+1), T(i+1), Tc(i+1), H(i+1)] = CSTR_RK4(Q, Qc(i+1), Ca(i), T(i), Tc(i), H(i));
end
% figure(1)
% plot(Ca)
% grid on
% figure(2)
% plot(T)
% grid on
%
figure(3)
plot(Tc)
grid on
%
figure(4)
plot(Qc)
grid on
% figure(5)
% plot(Q)
% grid on
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -