⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inmin01.m

📁 使用最小积分整定计算PID系数的例程
💻 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 + -