モデル予測制御においてむだ時間を考慮した設計を行いたい
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
実機での温度制御を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
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/491490/image.png)
Antworten (0)
Siehe auch
Kategorien
Mehr zu Controller Creation finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!