想當(dāng)初,偶自學(xué)了計(jì)算機(jī)專業(yè),一心想找個(gè)軟件開(kāi)發(fā)的工作,記得那時(shí)最火的還是數(shù)據(jù)庫(kù)方面的軟件開(kāi)發(fā),有一次去計(jì)算機(jī)研究所面試,人家問(wèn)我會(huì)pb嗎?我說(shuō)只會(huì)vb,然后人家就給我講了一通想搞軟件需要有什么什么樣的基礎(chǔ)。。。。,再然后我就回家等著了。后來(lái),卻機(jī)緣巧合的走上了自動(dòng)化控制這條道路。
回想起這十多年的從業(yè)經(jīng)歷,由于不是學(xué)自動(dòng)化控制專業(yè)的,所以碰到了無(wú)數(shù)的難題(相對(duì)于當(dāng)時(shí)來(lái)講),好在沒(méi)有咱工程師解決不了的事,每次都在經(jīng)歷了挫折與成功的反復(fù)磨練后,最終實(shí)現(xiàn)了控制要求。下面就講講我在隨動(dòng)系統(tǒng)中的pid調(diào)節(jié)經(jīng)歷吧!
控制系統(tǒng)要求實(shí)現(xiàn)pid調(diào)節(jié)的功能,pid的設(shè)定值是一個(gè)實(shí)時(shí)變化的隨機(jī)量(來(lái)自于沖板流量計(jì)的瞬時(shí)值),要求輸出量(失重式給料機(jī)的給料量)能夠及時(shí)、準(zhǔn)確的跟隨設(shè)定值的變化,做出快速、準(zhǔn)確的響應(yīng)。
剛開(kāi)始接觸pid調(diào)節(jié),可謂是一頭霧水,只知道p 就是比例,就是輸入偏差乘以一個(gè)系數(shù);i 就是積分,就是對(duì)輸入偏差進(jìn)行積分運(yùn)算;d 就是微分,對(duì)輸入偏差進(jìn)行微分運(yùn)算。
具體該怎么用不知道,參數(shù)該如何整定不清楚,于是跑到了書(shū)店,翻開(kāi)了一本《自動(dòng)控制原理》,看著滿書(shū)的公式推導(dǎo),心里倍感壓力巨大,沒(méi)看懂就灰溜溜的回來(lái)了。
當(dāng)時(shí)手里有本s7-200的系統(tǒng)手冊(cè),里面有一段pid的程序和相關(guān)講解,仔細(xì)讀了好幾遍,有那么一點(diǎn)點(diǎn)明白了,又下載了s7-300的fb41功能塊的說(shuō)明,看得似懂非懂的,不管了,先寫(xiě)好程序再說(shuō)。很快設(shè)備就組裝好了,還不能發(fā)給客戶,因?yàn)槲业某绦蜻€沒(méi)調(diào)試,于是便主動(dòng)加班加點(diǎn)的開(kāi)始了調(diào)試工作。
系統(tǒng)震蕩--
為了方便調(diào)試,我先是將設(shè)定值給一個(gè)恒值進(jìn)行調(diào)試,沒(méi)想到一開(kāi)始就碰到了難題,設(shè)備運(yùn)轉(zhuǎn)起來(lái)后,只見(jiàn)變頻器面板在0-50hz之間來(lái)回變換著數(shù)字,電機(jī)也跟著嗡嗡的喘著,系統(tǒng)震蕩了,改了幾次參數(shù)都是如此,調(diào)試一開(kāi)始就陷入了僵局。(當(dāng)時(shí)還不清楚p值先要給小點(diǎn),積分時(shí)間先要給長(zhǎng)點(diǎn),開(kāi)始時(shí)p和i不要同時(shí)調(diào)整,p整定差不多了,再整定i,心里想到個(gè)參數(shù)就試一個(gè)參數(shù),結(jié)果折騰一天還是個(gè)老樣子)晚上躺在床上睡不著,腦子里不停地思考著,該從何下手呢,我顯然是沒(méi)找著竅門(mén)啊。
第二天一大早,坐在電腦前,一邊查著資料(當(dāng)時(shí)公司已經(jīng)可以通過(guò)adsl上網(wǎng)了,雖然速度有點(diǎn)慢)一邊梳理思路,如何才能不超調(diào)呢?既然是超調(diào)了,說(shuō)明調(diào)節(jié)量太大了,那如何才能每次一點(diǎn)一點(diǎn)的調(diào)呢?對(duì)了,先把p值改小點(diǎn),隨即降到了一半,有點(diǎn)效果了,再降一半試試,這時(shí)的p值整整縮小了10倍,設(shè)備啟動(dòng),頻率一點(diǎn)一點(diǎn)奔到了給定值附近,一點(diǎn)也不超調(diào)了,找著感覺(jué)了(我暗自欣喜),再稍稍將p值改大點(diǎn),經(jīng)過(guò)幾次調(diào)整,p值確定了,可感覺(jué)上p取值太小了,可再大些就又波動(dòng)了。
再調(diào)整一下積分試試,而積分有啥作用,它和時(shí)間又有啥關(guān)系呢?帶著疑問(wèn),我又開(kāi)始了i值的整定,根據(jù)p值調(diào)整的經(jīng)驗(yàn),我迫不及待的給i值縮小了10倍,結(jié)果系統(tǒng)又開(kāi)始了昨天的震蕩,咦?這是怎么回事,反復(fù)試了幾次,找出了點(diǎn)規(guī)律,原來(lái)i值越小,調(diào)節(jié)的越厲害。哈哈!終于發(fā)現(xiàn)了點(diǎn)小門(mén)道。再經(jīng)過(guò)多次調(diào)整,系統(tǒng)終于受我控制了,可每次都要20多秒才能調(diào)節(jié)好,我又開(kāi)始著急上火了。
調(diào)節(jié)周期--
還可以調(diào)整哪里呢?仔細(xì)想了幾天,依然沒(méi)有結(jié)果,偶然的將fb41放到了ob1里,奇跡發(fā)生了,很短時(shí)間就調(diào)到位了,又把fb41的說(shuō)明仔細(xì)讀了一遍,當(dāng)時(shí)看那些圖表和說(shuō)明簡(jiǎn)直就是煎熬,就參數(shù)表能看明白,還對(duì)有些參數(shù)不理解,經(jīng)過(guò)一個(gè)參數(shù)一個(gè)參數(shù)的梳理,只見(jiàn)采樣周期的參數(shù)后面寫(xiě)著,采樣時(shí)間的取值要與ob35的設(shè)定值保持一致,于是打開(kāi)cpu的屬性設(shè)置對(duì)話框,查看ob35的時(shí)間為100ms,這顯然比ob1的掃描時(shí)間要慢的多,將ob35時(shí)間調(diào)整到10ms,實(shí)驗(yàn)結(jié)果比原先好多了。
多參數(shù)調(diào)節(jié)--
解決了前幾天的問(wèn)題,系統(tǒng)調(diào)試開(kāi)始了重點(diǎn)環(huán)節(jié),模擬設(shè)定值的變化,看看階躍響應(yīng)的速度如何,再測(cè)量一下這時(shí)的給料量,看能否滿足設(shè)計(jì)要求,結(jié)果數(shù)據(jù)大都超出了精度要求的范圍,還是沒(méi)調(diào)好啊,可該調(diào)的地方都調(diào)了呀,我開(kāi)始有些郁悶了,難道就是這樣的效果了,我有些不甘心,改了不同的參數(shù),將實(shí)驗(yàn)數(shù)據(jù)都一一記錄了下來(lái),經(jīng)過(guò)認(rèn)真分析發(fā)現(xiàn):穩(wěn)態(tài)時(shí)小參數(shù)(p值小,i值一定)數(shù)據(jù)精度比較高,但動(dòng)態(tài)跟隨緩慢;隨動(dòng)時(shí)大參數(shù)(p值大,i值一定)階躍響應(yīng)很好,但數(shù)據(jù)誤差大;實(shí)時(shí)性和穩(wěn)定性是相互制約的,要如何做才能魚(yú)和熊掌兼得呢?我靈機(jī)一動(dòng),在調(diào)mm440變頻器時(shí)不是用了兩套參數(shù)組嗎,我何不也設(shè)計(jì)兩套參數(shù),根據(jù)設(shè)定值與反饋值的偏差,設(shè)定一個(gè)偏差帶,偏差較大時(shí),用調(diào)節(jié)作用比較強(qiáng)的一組參數(shù),一旦調(diào)到設(shè)定值附近(偏差帶以內(nèi)),就切換至調(diào)節(jié)作用比較弱的一組參數(shù),避免出現(xiàn)超調(diào),引起系統(tǒng)震蕩。經(jīng)過(guò)多組參數(shù)處理后,我實(shí)驗(yàn)的給料精度已經(jīng)可以滿足要求了,自動(dòng)跟隨的性能也控制在了3秒以內(nèi)。
無(wú)擾切換--
設(shè)備每過(guò)一段時(shí)間需要往料倉(cāng)里加一次料,由于是失重給料方式,在加料期間反饋隊(duì)列里的數(shù)據(jù)是不準(zhǔn)確的,這個(gè)時(shí)候不能用pid功能,需要切換為隨動(dòng)開(kāi)環(huán)方式,這很容易做到,man值始終是根據(jù)流量計(jì)計(jì)算出來(lái)的(與sp_int始終保持一致),直接將lmn_on設(shè)置為1,即可切為手動(dòng),可手動(dòng)切換回自動(dòng)可就要注意了,這要把握兩點(diǎn):1、pid的反饋值(pv_in)已經(jīng)檢測(cè)正常。2、先將此時(shí)的反饋值(pv_in)給sp_int,之后再恢復(fù)到正常的調(diào)節(jié)。其實(shí)隨動(dòng)系統(tǒng)的pid本身就有一定的抗擾動(dòng)能力。
小節(jié)--
通過(guò)這次隨動(dòng)系統(tǒng)的pid調(diào)節(jié),讓我感覺(jué)到做pid調(diào)節(jié)控制其實(shí)很有意思,它就像具備一定的智能一樣,隨時(shí)檢測(cè)著反饋信號(hào),一旦發(fā)現(xiàn)反饋值偏離了給定值,就給出相應(yīng)的控制力量,即使干擾隨時(shí)存在,都能夠排除干擾,因?yàn)榭刂破髟缫丫邆淞藨?yīng)對(duì)的策略。