quote:以下是引用Zane在2010-09-30 22:36:54的发言:哈,观察了这些天,大家的讨论都有些不对题啊,今天还是言归正传。
话题1:如何实现PID增量式算法最近论坛里有讨论增量式PID算法的实现,连接如下
http://www.ad.siemens.com.cn/club/bbs/post.asp?b_id=4&a_id=737326&s_id=0&num=11#anch位置式PID控制的输出与整个过去的状态有关,用到了误差的累加值;而增量式PID的输出只与当前拍和前两拍的误差有关,因此位置式PID控制的累积误差相对更大
增量式PID控制输出的是控制量增量,并无积分作用,因此该方法适用于执行机构带积分部件的对象,如步进电机等,而位置式PID适用于执行机构不带积分部件的对象,如电液伺服阀
由于增量式PID输出的是控制量增量,如果计算机出现故障,误动作影响较小,而执行机构本身有记忆功能,可仍保持原位,不会严重影响系统的工作,而位置式的输出直接对应对象的输出,因此对系统影响较大。
大家比较熟悉的FB41,FB58都是典型的位置型算法,然而大家有没有注意到FB42,FB59所谓的STEP CONTROLLER?只不过其输出是脉冲式开关量的。
而对于模拟式的执行机构,我们可以用一个递归式A=A+B来实现,其中A为闭环控制最终的累加输出值,而B则为PID的输出值,趋于稳定时,B的值应为0.