📄 getpid.m
字号:
%=========================================================================
%Cohen-Coon PID整定算法
% Cohen-Coon整定参数表
% Kp Ti Td
% P
% PI
% PD
% PID
%输入参数; key:控制器选择(以上顺序依次为1 2 3 4)
% vars: [K LT N]输入参数数组
%输出参数:
% Gc: 控制器传递函数
% Kp: 比例参数
% Ti: 积分时间
% Td: 微分时间
%==========================================================================
function [Gc,Kp,Ti,Td] = getpid(key,vars)
K = vars(1);L = vars(2);T = vars(3); N = vars(4);
a = K*L/T; tau = L/(L+T);
switch key
case 1 % P控制器
Kp = (1 + 0.35*tau/(1 - tau))/a;
Ti = [];
Td = [];
Gc = tf(Kp,1);
case 2 % PI控制器
Kp = 0.9*(1 + 0.92*tau/(1 - tau))/a;
Ti = L*(3.3 - 3*tau)/(1 +1.2*tau);
Td = [];
Gc = tf( Kp*[Ti,1],[Ti,0]);
case 3; % PD控制器
Kp = 1.24*(1 + 0.13*tau/(1 - tau))/a;
Td = L*(0.27 - 0.36*tau)/(1 - 0.87*tau);
Ti = [];
Gc = tf( Kp*[ Td*(N+1)/N,1],[Td/N,1] );
case 4 % PID控制器
Kp = 1.35*(1 + 0.18*tau/(1 - tau))/a;
Ti = L*(2.5 - 2*tau)/(1 - 0.39*tau);
Td = L*(0.37 - 0.37*tau)/(1 - 0.81*tau);
nn = [ Kp*Ti*Td*(N+1)/N, Kp*(Ti + Td/N), Kp];
dd = Ti*[ Td/N, 1 , 0];
Gc = tf(nn,dd);
otherwise
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -