モデル予測制御においてむだ時間を考慮した設計を行いたい
5 views (last 30 days)
Show older comments
実機での温度制御をMPCで行いたく、下記のSimulinkをつくりました。
MPCで制御し信号を出し装置内の温度が変わり、それを温度計が測定するまでに時間がかかり、むだ時間があります。予測モデルを一次遅れ伝達関数で作成していますが、そのむだ時間を考慮してMPCを作成できません。
(予測モデルの作成において伝達関数にOutputDeleyを用いてみたのですが”MPC controllerのInitFcn コールバックの評価中にエラーが発生した”と出でしまいました)
MPCでむだ時間を考慮して設計を行う方法を教えていただきたいです
% Deterioration of PID Control Performance
clear
close all
ts = 0.001; % Sampling time
dSamplingPeriod = 20; % Sampling period of the MPC
t_sim = 90*10^-3*8000; % Simulation time
temp0 = 30; % Initial Temperature
SP = 40; % Temperature set-point (mokuhyouti)
% Nominal Plant
K0 = 0.503;
T0 = 58.62;
num_p = K0;
den_p = [ T0, 1 ];
% Desing of the MPC
plant = tf( num_p, den_p );
%plant = tf( num_p, den_p, 'OutputDeley', 7.7 );
p0 = 60;
m0 = 3;
mpcobj = mpc( plant, dSamplingPeriod, p0, m0 );
mpcobj.MV = struct( 'Min', 0, 'Max', 100);
%mpcobj.MV = struct( 'Min', -0.5, 'Max', 0.5 );
%mpcobj.MV.RateMin = -3;
%mpcobj.MV.RateMax = 3;
mpcobj.W.ManipulatedVariables = 0;
mpcobj.W.ManipulatedVariablesRate = 0; % Larger -> Reference trajectory slow down (?)
% = mpcobj.Weight.MVRate
%mpcobj.W.OutputVariables = [1 0];
mpcobj.W.OutputVariables = 1; % Smaller -> Reference trajectory slow down (?)
% = mpcobj.Weight.OV
review(mpcobj)
%return
Answers (0)
See Also
Categories
Find more on Controller Creation in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!