pid_og_tune.m

来自「控制系统计算机辅助设计——MATLAB语言与应用(源代码)」· M 代码 · 共 56 行

M
56
字号
function [Kp,Ti,Td,key,lb]=pid_og_tune(key1,key2,vars)  
key=0; Kp=[]; Ti=[]; Td=[]; lb=[];
K=vars(1); L=vars(2); T=vars(3);id=vars(4);
switch key1
    case 1
        switch key2
            case 5
                switch id
                    case 1
                        if  L/T<0.5
                            Kp=0.6*T/K;Ti=T+0.5*L;
                            key=3;lb=0.5;
                        elseif  0.5<=L/T&L/T<=1
                            Kp=0.6*T/K;Ti=T+0.5*L;
                            key=1;
                        elseif  1<L/T&L/T<=5
                            Kp=0.4*T/K;Ti=T+0.5*L;
                            key=1;
                        elseif  5<L/T&L/T<=10
                            Kp=0.3*T/K;Ti=0.5*L+T;
                            key=1;
                        else
                            Kp=0.3*T/K;Ti=0.5*L+T;
                            key=2;lb=10;
                        end
                    case 2
                        if L/T<0.5
                            Kp=0.4*T/K;Ti=T+0.5*L;
                            key=3;lb=0.5;
                        elseif  0.5<=L/T&L/T<=2
                            Kp=0.4*T/K;Ti=T+0.5*L;
                            key=1;
                        elseif  2<L/T&L/T<=10
                            Kp=0.3*T/K;Ti=0.5*L+T;
                            key=1;
                        else
                            Kp=0.3*T/K;Ti=0.5*L+T;
                            key=2;lb=10;
                        end
                    case 3
                        if L/T<0.5
                            Kp=0.4*T/K;Ti=T+0.5*L;
                            key=3;lb=0.5;
                        elseif  0.5<=L/T&L/T<=0.8
                            Kp=0.4*T/K;Ti=T+0.5*L;
                            key=1;
                        elseif  0.8<L/T&L/T<=10
                            Kp=0.3*T/K;Ti=0.5*L+T;
                            key=1;
                        else
                            Kp=0.3*T/K;Ti=0.5*L+T;
                            key=2;lb=10;
                        end
                end
        end
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?