MATLAB Answers

モデル予測制御におい​てむだ時間を考慮した​設計を行いたい

44 views (last 30 days)
sota kagawa
sota kagawa on 18 Jan 2021
Commented: sota kagawa on 20 Jan 2021
 実機での温度制御を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
  1 Comment
sota kagawa
sota kagawa on 20 Jan 2021
誤字が原因でした、すみません

Sign in to comment.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!