用%ignore_a_1%向导生成一路PID,当过程变量等于给定值时,差值为0,我理解为输出也应该是0,但是测试的时候却不是,这是为什么呢?请老师指点(过程变量和给定值都是随机设置的)
问题补充:
在控温装置中,有输出会造成一直加热,温度值超过设定值时还继续增加,这怎么办呢?
原来用200的时候,PID参数中,设定I为9999,D为0.0,此时只有比例起作用,当过程值大于等于设定值时,输出为0,在200smart就不一样了,是我设置出问题了么?
图片说明:
最佳答案
按照你的理论,偏差为零(也就是你所的差值为零),输出就应该为零,那么偏差又变大了。那系统永远稳定不了,我们的控制就没有意义了。建议你好好学习控制理论。
由于有积分项的存在,尽管偏差为零,但累计求和的积分项并不为零,维持了控制作用,输出也就不为零,而是接近控制目标即设定值。(即使是被控过程或对象,本身也可能有积分项存在)。我们引入PID控制器的目的,是改善被控过程或被控对象的静态性能和动态性能指标。
加热是一个热交换过程,环境温度低于设定温度,会带走热量,可以起到冷却的作用。因此加热量与环境冷却量一致温度才会稳定下来。
至于你选择Td=9999分钟,Ti=0,而采样时间只有1s。积分项系数ki=kp*T/Td=1*1/(9999*60)基本为零。Ti=0则微分项也为零。这样控制作用成了比例控制。你整定中pv=sp,err=0,此时out=20.0%,应该是你设置了输出通道20%的偏差(4-20mA)造成的。
提问者对于答案的评价:
您分析的很好,我是用只是比例控制,也查看了一些资料,就像你说的输出是差值的一个比例,但是还是没理解为什么单是比例控制,err=0,还是有输出,组态时输出的范围是0-100,从图片中可以看出,输出值已经是输出范围的20%,即使是设置了输出通道的20%的偏差(4-20mA),我理解为,输出为4mA时对应0%,20mA对应100%,输出20%也是有输出的,不知道我说的对不对,或者我有没有说的明白
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc287951.html