C++实现PID控制算法.doc
《C++实现PID控制算法.doc》由会员分享,可在线阅读,更多相关《C++实现PID控制算法.doc(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-作者xxxx-日期xxxxC+实现PID控制算法【精品文档】C+实现PID控制算法|C+/VC/MFC/PID算法2008-06-10 18:50第一步:控制系统的结构仿真我们要用C+实现对这个单输入单输出系统的PID控制算法,就需要先进行结构仿真,系统结构和对象的数学模型如上图所示,我们取定参数:K=2、T1=1、T2=2.5,tao=0.6(tao代表上面那个延时参数)。系统性能指标要求:超调=10%,调节时间Ts1为整数den、num参数的获取参看“C+实现PID控制算法 理论分析|C+/VC/MFC/PID算法”2、参数声明在算法中要用到很多参数,为了方便我们定义一个结构体。type
2、def struct tagPid double tao;/系统纯延时参数,一般为采样时间的整数倍double ts;/采样时间int n;/n=tao/tsdouble rin,yout,u;/系统输入、系统输出、PID控制器输出double kp,ki,kd;/PID控制器参数double error_1,error_2;/,前1、2次的误差,在增量PID算法中需要error_2double error,perror,ierror,derror;/用于计算PID输出u的参数double den_1,den_2,den_3;/Z传函分母的系数double num_1,num_2,num_3;
3、/Z传函的分子系数double yout_2; /系统输出过去时刻的值 CArray u_; /控制器过去时刻的输出值,就是上面公式中的u(k-2-n) 等int size_Yout;/Yout的大小,算法循环次数,每次的输出值计入数组Yout,用来绘制输出曲线 CArray Yout; /输出数据数组double maxYout,minYout; /输出值的最大值和最小值Pid;定义控制对象参数:double m_t1,m_t2,m_k,m_tao; /控制对象参数3、初始化参数void CICDoc:PidInit(Pid* pid)m_t1=1;m_t2=2.5;m_k=2;pid-ts
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 实现 PID 控制 算法
限制150内