发布于 2009-10-30 07:14:45
0楼
其实能修改的地方就3个:输入值调节、偏差值和反馈值。
针对楼主的问题,应该在偏差处进行调节。即:对偏差值小于设定值进行逻辑判断,然后和偏差值做乘法。
楼主的问题解决方法不是在线调节PID参数,而是根据偏差调节PID是否有效。
有人可能会问,设定值是变化的,怎么能解决问题呢?那就与系统响应时间和设定值变化频率有关了。设定值应该没有ms级的系统响应快吧?所以不需要在线修改PID参数。
以上是理论分析,大家估计更关心的是如何实现,那么以下是实现过程:
由于FB41块的管脚没有体现出来偏差值,所以我们能够做的就是对设定值的处理,即:
如果用户的设定值与反馈的偏差大于给定值,那么FB41设定值等于当前用户设定值;
如果用户的设定值与反馈的偏差小于给定值,那么FB41设定值等于上次用户设定值。
这就要求PLC必须对设定值进行保存,记住上次的设定值。