quote:以下是引用likevc在2012-06-21 22:29:28的发言:quote:以下是引用emil128在2012-06-18 16:37:26的发言:
楼主你的PID很正常,问题出在你的理解。
楼主给出的增益是4,说明是个PID调节是正动作。设定值大于实际值,于是正动作QLMUP输出1,是楼主自己把正动作错接了“停止加热”,却觉得是PID有问题。把给定值和实际值反向的做法是不对的。
解决办法:把增益改为-4,或者把输出点反一下。
另外从7楼的图上看,feedback应该是指执行器的开度反馈,实际温度PV应该连Input。
经过实验,你的结论是错误的,既然设定值小于反馈值,按照PID——STEP的本意,是阀的开度不够,应该继续开阀,所以我设定继续加热。这个没错。
我再次声明,此算法在CFC下没问题,动作正常。
“设定值小于反馈值”时“应该继续开阀”,楼主到底要PID正动作还是反动作?
请楼主看清楚自己给出的图!
SP=80
PV=26
“设定值小于反馈值”的结论是怎么得到的?
从图上看明显是设定值大于反馈值,也就是实际温度不够,需要加热。
此时增益是4,因此正动作QLMUP输出1。
你既然需要正动作调节,那么QLMUP当然应该连接“继续加热”而不是“停止加热”!
对于正动作(增益大于0):
如果是设定值小于反馈值,说明温度过高了,应该关阀停止加热,反动作QLMDN输出1;
如果是设定值大于反馈值,说明温度过低了,应该开阀继续加热,正动作QLMUP输出1。
我只用过PCS7,用过的所有PID调节都是在CFC下完成的,控制原理完全一样。
楼主要好好看看PID的原理和FB42的帮助了。