モデル予測制御においてむだ時間を考慮した設計を行いたい
5 ビュー (過去 30 日間)
古いコメントを表示
実機での温度制御を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
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Controller Creation についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!