📄 pidsim.asv
字号:
%==========================================================================
% 函数作用: 工业对象PID控制器选择及仿真
% 输入参数: key 控制类型, num 传递函数分子多项式 den 传函分母多项式
% 输出参数:
% 传递函数类:G0(原对象传函),Gc(控制器传函),G(单位负反馈总传函)
% 控制器参数:Kp(比例系数)Ti(积分时间) Td(微分时间)
% 广义对象参数:K(增益) T(惯性时间) L(滞后时间)G(s)=K*exp(-L*s)/(1+T*s)
% 阶跃仿真结果:t(仿真时间) y0(对象没有控制作用阶跃输出) yc(加入控制后阶跃输出)
% 函数原形 [G0,Gc,G,Kp,Ti,Td,K,T,L,t,y0,yc] = pidsim(key,num,den)
%==========================================================================
function [G0,Gc,G,Kp,Ti,Td,K,T,L,t,y0,yc,u]=pidsim(key,num,den,time,interval)
% 首先获取原系统
G0 = tf(num,den);
%调用getmod()得到广义对象参数
[K,L,T] = getfod(G0);
%调用getpid()得到pid自整定结果
vars(1) = K;
vars(2) = L;
vars(3) = T;
vars(4) = 10;
[Gc,Kp,Ti,Td] = getpid(key,vars);
%仿真结果参数
G = feedback(G0*Gc,1);
t = 0:interval:time;
y0 = step(G0,t);
yc = step(G,t);
u = step(Gc,t);
plot(t,y0,t,yc,t,u);
xlabel('仿真时间(sec)')
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -