随动系统中的PID调节
想当初,偶自学了计算机专业,一心想找个软件开发的工作,记得那时最火的还是数据库方面的软件开发,有一次去计算机研究所面试,人家问我会PB吗?我说只会VB,然后人家就给我讲了一通想搞软件需要有什么什么样的基础。。。。,再然后我就回家等着了。后来,却机缘巧合的走上了自动化控制这条道路。 回想起这十多年的从业经历,由于不是学自动化控制专业的,所以碰到了无数的难题(相对于当时来讲),好在没有咱工程师解决不了的事,每次都在经历了挫折与成功的反复磨练后,最终实现了控制要求。下面就讲讲我在随动系统中的PID调节经历吧! 控制系统要求实现PID调节的功能,PID的设定值是一个实时变化的随机量(来自于冲板流量计的瞬时值),要求输出量(失重式给料机的给料量)能够及时、准确的跟随设定值的变化,做出快速、准确的响应。 刚开始接触PID调节,可谓是一头雾水,只知道P 就是比例,就是输入偏差乘以一个系数;I 就是积分,就是对输入偏差进行积分运算;D 就是微分,对输入偏差进行微分运算。 具体该怎么用不知道,参数该如何整定不清楚,于是跑到了书店,翻开了一本《自动控制原理》,看着满书的公式推导,心里倍感压力巨大,没看懂就灰溜溜的回来了。 当时手里有本S7-200的系统手册,里面有一段PID的程序和相关讲解,仔细读了好几遍,有那么一点点明白了,又下载了S7-300的FB41功能块的说明,看得似懂非懂的,不管了,先写好程序再说。很快设备就组装好了,还不能发给客户,因为我的程序还没调试,于是便主动加班加点的开始了调试工作。 系统震荡-- 为了方便调试,我先是将设定值给一个恒值进行调试,没想到一开始就碰到了难题,设备运转起来后,只见变频器面板在0-50HZ之间来回变换着数字,电机也跟着嗡嗡的喘着,系统震荡了,改了几次参数都是如此,调试一开始就陷入了僵局。(当时还不清楚P值先要给小点,积分时间先要给长点,开始时P和I不要同时调整,P整定差不多了,再整定I,心里想到个参数就试一个参数,结果折腾一天还是个老样子)晚上躺在床上睡不着,脑子里不停地思考着,该从何下手呢,我显然是没找着窍门啊。 第二天一大早,坐在电脑前,一边查着资料(当时公司已经可以通过ADSL上网了,虽然速度有点慢)一边梳理思路,如何才能不超调呢?既然是超调了,说明调节量太大了,那如何才能每次一点一点的调呢?对了,先把P值改小点,随即降到了一半,有点效果了,再降一半试试,这时的P值整整缩小了10倍,设备启动,频率一点一点奔到了给定值附近,一点也不超调了,找着感觉了(我暗自欣喜),再稍稍将P值改大点,经过几次调整,P值确定了,可感觉上P取值太小了,可再大些就又波动了。 再调整一下积分试试,而积分有啥作用,它和时间又有啥关系呢?带着疑问,我又开始了I值的整定,根据P值调整的经验,我迫不及待的给I值缩小了10倍,结果系统又开始了昨天的震荡,咦?这是怎么回事,反复试了几次,找出了点规律,原来I值越小,调节的越厉害。哈哈!终于发现了点小门道。再经过多次调整,系统终于受我控制了,可每次都要20多秒才能调节好,我又开始着急上火了。 调节周期-- 还可以调整哪里呢?仔细想了几天,依然没有结果,偶然的将FB41放到了OB1里,奇迹发生了,很短时间就调到位了,又把FB41的说明仔细读了一遍,当时看那些图表和说明简直就是煎熬,就参数表能看明白,还对有些参数不理解,经过一个参数一个参数的梳理,只见采样周期的参数后面写着,采样时间的取值要与OB35的设定值保持一致,于是打开CPU的属性设置对话框,查看OB35的时间为100MS,这显然比OB1的扫描时间要慢的多,将OB35时间调整到10MS,实验结果比原先好多了。 多参数调节-- 解决了前几天的问题,系统调试开始了重点环节,模拟设定值的变化,看看阶跃响应的速度如何,再测量一下这时的给料量,看能否满足设计要求,结果数据大都超出了精度要求的范围,还是没调好啊,可该调的地方都调了呀,我开始有些郁闷了,难道就是这样的效果了,我有些不甘心,改了不同的参数,将实验数据都一一记录了下来,经过认真分析发现:稳态时小参数(P值小,I值一定)数据精度比较高,但动态跟随缓慢;随动时大参数(P值大,I值一定)阶跃响应很好,但数据误差大;实时性和稳定性是相互制约的,要如何做才能鱼和熊掌兼得呢?我灵机一动,在调MM440变频器时不是用了两套参数组吗,我何不也设计两套参数,根据设定值与反馈值的偏差,设定一个偏差带,偏差较大时,用调节作用比较强的一组参数,一旦调到设定值附近(偏差带以内),就切换至调节作用比较弱的一组参数,避免出现超调,引起系统震荡。经过多组参数处理后,我实验的给料精度已经可以满足要求了,自动跟随的性能也控制在了3秒以内。 无扰切换-- 设备每过一段时间需要往料仓里加一次料,由于是失重给料方式,在加料期间反馈队列里的数据是不准确的,这个时候不能用PID功能,需要切换为随动开环方式,这很容易做到,MAN值始终是根据流量计计算出来的(与SP_INT始终保持一致),直接将LMN_ON设置为1,即可切为手动,可手动切换回自动可就要注意了,这要把握两点:1、PID的反馈值(PV_IN)已经检测正常。2、先将此时的反馈值(PV_IN)给SP_INT,之后再恢复到正常的调节。其实随动系统的PID本身就有一定的抗扰动能力。 小节-- 通过这次随动系统的PID调节,让我感觉到做PID调节控制其实很有意思,它就像具备一定的智能一样,随时检测着反馈信号,一旦发现反馈值偏离了给定值,就给出相应的控制力量,即使干扰随时存在,都能够排除干扰,因为控制器早已具备了应对的策略。 |