对PLC的PID算法进行仿真1(Matlab)
标签:
pid仿真matlabsimulink |
好了,M函数的编写很简单,直接上代码:
function [ MV ] = PID_PosExpMFun1( t,SP,PV,Flag)
persistent
ek1;
%上一次偏差
persistent
integral; %积分量
persistent lastMV;
%上一次的输出
persistent lastUd;
%上一次的微分项值
persistent lastPV;
%上一次的PV值
IsHSPID=0; %是否使用不完全微分
IsDSpeed=0;
%是否使用变速积分(=1,使用)
IsDGama=0;
%是否使用微分先行算法(=1,采用)
MVH=100;
%输出上限
MVL=-100;
%输出下限
Deadband=0.001;
%死区
Ts=1;
%采样周期
Tf=0.01;
%不完全微分滤波系数(a=Tf/(Ts+Tf))

加载中…