?? inmin01.m
字號:
function [Gc,Kp,Ti,Td]= inmin01(PID,vars)
% 使用積分最小準則計算PID參數
% usage :[Gc,Kp,Ti,Td]= inmin01(PID,vars);
% 其中PID = 1 2 3 分別對應三種調節方式 vars為一階慣性環境
% 模型的K T \tau 參數
% Gc 返回矯正器傳函
K = vars(1); T = vars(2); tau = vars(3); iC = vars(4);
Kp = []; Ti = []; Td = [];
if PID ==1,
ABtab = [ 0.902,1.414,0.904;
-0.985,-0.917,-1.084];
elseif PID == 2,
ABtab =[0/984,1.305,0.859;
-0.986, -0.959,-0.977;
0.608,0.492,0.674;
-0.707,-0.739,-0.680];
elseif PID == 3,
ABtab =[ 1.435,1.495,1.375;
-0.921,-0.945,-0.947;
0.878,1.101,0.842;
-0.749,-0.771,-0.738;
0.482,0.560,0.381;
1.137,1.006,0.995];
end
ii = 0;
tt = tau /T;
if PID == 1,
a1 = ABtab(1,ii+iC);
b1 = ABtab(2,ii+iC);
Kp = (a1*(tt^b1))/K;
elseif PID ==2,
a1 = ABtab(1,ii+iC);b1 = ABtab(2,ii+iC);
a2 = ABtab(3,ii+iC);b2 = ABtab(4,ii+iC);
Kp = (a1*(tt^b1))/K;
Ti = T/(a2*(tt^b2));
elseif PID ==3,
a1 = ABtab(1,ii+iC);b1 = ABtab(2,ii+iC);
a2 = ABtab(3,ii+iC);b2 = ABtab(4,ii+iC);
a3 = ABtab(5,ii+iC);b3 = ABtab(6,ii+iC);
Kp = (a1*(tt^b1))/K;
Ti = T/(a2*(tt^b2));
Td = T*a3*(tt^b3);
end
if PID ==1
Gc = Kp;
elseif PID ==2
nn = [Kp*Ti Kp];
dd = [Ti 0];
Gc = tf(nn,dd);
elseif PID ==3
nn = [Kp*Ti*Td Kp*Ti Kp];
dd = [Ti 0];
Gc = tf(nn,dd);
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -