大家要想成為過(guò)程控制的高手,總少不了去學(xué)習(xí)控制理論,昌暉儀表網(wǎng)技術(shù)文庫(kù)欄目以大話(huà)形式推出一系列介紹控制理論的文章,分別介紹線(xiàn)性控制、最優(yōu)控制、離散控制模型與辨識(shí)、自適應(yīng)控制模型預(yù)估控制方面的內(nèi)容。
都說(shuō)瓦特的蒸汽機(jī)后,計(jì)算機(jī)是影響人類(lèi)進(jìn)程最大的發(fā)明,計(jì)算機(jī)當(dāng)然也對(duì)自動(dòng)控制帶來(lái)了深刻的影響。前面說(shuō)到,控制理論基本上都是圍繞著微分方程轉(zhuǎn)的,所以在“本質(zhì)”上是連續(xù)的。但是數(shù)字計(jì)算機(jī)是離散的,也就是說(shuō),數(shù)字控制系統(tǒng)的眼睛不是一直盯著被控對(duì)象看的,而是一眨一眨的,只是眨得飛快而已。數(shù)字控制系統(tǒng)的“手腳”也不是一刻不停地連續(xù)動(dòng)作的,而是一頓一頓的,這是數(shù)字計(jì)算機(jī)的天性使然。只是數(shù)字計(jì)算機(jī)的眨眼和頓挫非常短暫,在實(shí)際上和連續(xù)動(dòng)作無(wú)異。不過(guò)在數(shù)學(xué)上,這眨眼和頓挫帶來(lái)很多有趣、有用的性質(zhì)。
馮·諾依曼奠定現(xiàn)代計(jì)算機(jī)理論基礎(chǔ)時(shí),最關(guān)鍵的法寶就是二進(jìn)制。二進(jìn)制可以用0和1表述所有數(shù)值數(shù)據(jù),同時(shí)還可以表示“是”“非”或者“好”“壞”這樣的邏輯數(shù)據(jù),有機(jī)地把數(shù)值計(jì)算和邏輯判斷整合在同一個(gè)運(yùn)算框架下,這是現(xiàn)代計(jì)算機(jī)無(wú)限神通的理論基礎(chǔ)。0和1的計(jì)算還可以用邏輯電路(各種門(mén)電路,如與門(mén)、非門(mén)、或門(mén)等)實(shí)現(xiàn),這是現(xiàn)代數(shù)字計(jì)算機(jī)的物理基礎(chǔ)。但這也帶來(lái)了新的問(wèn)題:數(shù)字計(jì)算機(jī)在本質(zhì)上是斷續(xù)(數(shù)學(xué)上稱(chēng)為離散)的,盡管間隙非常短暫。這樣,傳統(tǒng)的控制理論需要全部“翻譯”到離散時(shí)間領(lǐng)域,微分方程變成了差分方程,所有方法、結(jié)論都有了連續(xù)、離散兩套,不盡相同,但是對(duì)線(xiàn)性系統(tǒng)來(lái)說(shuō)都大同小異。
要是數(shù)字控制就是簡(jiǎn)單的連續(xù)系統(tǒng)離散化,計(jì)算機(jī)控制也就沒(méi)有什么了不起了。但差分方程用清晰標(biāo)定的時(shí)刻之間的關(guān)系來(lái)描述動(dòng)態(tài)過(guò)程,這給離散控制帶來(lái)了一些連續(xù)控制所不可能具備的新特點(diǎn)?;氐较礋崴璧?/span>例子,如果熱水龍頭不在跟前,而是在村頭的小鍋爐房里,你不能霸著電話(huà)線(xiàn)煲電話(huà)粥,只能每分鐘用電話(huà)遙控一次,那水溫或許可以表示為
下一分鐘水溫=0.7×現(xiàn)在水溫+0.2×上一分鐘水溫+0.1×再上一分鐘水溫+0.4×(5min前鍋爐房水龍頭開(kāi)度-6min前鍋爐房水龍頭開(kāi)度)
顯然,下一分鐘的水溫受現(xiàn)在水溫的影響比上一分鐘水溫的影響要大,受上一分鐘的水溫影響比再上一分鐘水溫的影響更大。不考慮管路散熱的話(huà),鍋爐房水龍頭開(kāi)度要是不變,再過(guò)上幾分鐘,下一分鐘的水溫應(yīng)該和現(xiàn)在的水溫一樣了。事實(shí)上,上一分鐘和再上一分鐘的水溫也一樣了。為什么用5min前鍋爐房的水龍頭開(kāi)度呢?那是因?yàn)闊崴畯拇孱^的鍋爐房流到洗澡房需要5min時(shí)間,這個(gè)時(shí)間就是滯后。
在連續(xù)時(shí)間域里,滯后是一個(gè)很難處理的事情。反饋控制是根據(jù)當(dāng)前測(cè)量值做出反應(yīng)的。過(guò)程滯后意味著當(dāng)前的測(cè)量值實(shí)際上是滯后時(shí)間之前控制動(dòng)作的結(jié)果,如果盲目地用當(dāng)前的控制動(dòng)作試圖影響下一步的過(guò)程,就會(huì)出問(wèn)題。以村頭鍋爐房為例,現(xiàn)在感覺(jué)水涼了,這是5min前熱水不足的結(jié)果,要是現(xiàn)在加大熱水,至少要5min后才顯示出結(jié)果。要時(shí)刻記住這個(gè)時(shí)間差。要是不考慮這個(gè)滯后,性急地不斷加大熱水,5min后水就要太燙了。但連續(xù)控制律在設(shè)計(jì)和實(shí)施中都不容易考慮這5min的滯后問(wèn)題,在離散時(shí)間域里,這個(gè)問(wèn)題就好解決了。
還是用要是上述離散模型:
未來(lái)第6min水溫=0.7×未來(lái)第5min水溫+0.2×未來(lái)第4min水溫+0.1×未來(lái)第3min水溫+0.4×(當(dāng)前鍋爐房水龍頭開(kāi)度-1min 前鍋爐房水龍頭開(kāi)度)
未來(lái)第5min水溫=0.7×未來(lái)第4min水溫+0.2×未來(lái)第3min水溫+0.1×未來(lái)第2min水溫+0.4×(1min前鍋爐房水龍頭開(kāi)度-2min前鍋爐房水龍頭開(kāi)度)
未來(lái)第4min水溫=0.7×未來(lái)第3min水溫+0.2×未來(lái)第2min水溫+0.1×未來(lái)1min水溫+0.4×(2min前鍋爐房水龍頭開(kāi)度-3min前鍋爐房水龍頭開(kāi)度)
......
未來(lái)1min 水溫=0.7×當(dāng)前水溫+0.2×1min 前水溫+0.1×2min 前水溫+0.4×(5min前鍋爐房水龍頭開(kāi)度-6min前鍋爐房水龍頭開(kāi)度)
依次迭代進(jìn)去,就可以得出未來(lái)第6min水溫與當(dāng)前和過(guò)去的水溫及鍋爐房水龍頭開(kāi)度的關(guān)系。當(dāng)前與過(guò)去的水溫和過(guò)去的鍋爐房水龍頭開(kāi)度是已知的,把預(yù)估第6min的水溫定為要求的溫度,也就是設(shè)定值,就可以此為基礎(chǔ),解算當(dāng)前所需的鍋爐房水龍頭開(kāi)度,這就是以模型為基礎(chǔ)的預(yù)估控制器(Model Predictive Control)的基本設(shè)計(jì)思路。
離散模型的預(yù)估作用是非常重要的特質(zhì),所有預(yù)報(bào)模型都是建立在離散模型的這個(gè)預(yù)估能力上的,無(wú)論是天氣預(yù)報(bào),還是經(jīng)濟(jì)預(yù)測(cè),還是自動(dòng)控制里對(duì)有滯后過(guò)程的控制。
數(shù)字控制的另一特質(zhì)是可以實(shí)施一些不可能在連續(xù)時(shí)間實(shí)現(xiàn)的控制規(guī)律。航天飛機(jī)的末段速度控制很重要,在著陸進(jìn)近時(shí),速度變化超過(guò)預(yù)定要求達(dá)到 20km/h以上的話(huà),就可能會(huì)對(duì)著陸接地造成問(wèn)題,不是沖出跑道終點(diǎn),就是還沒(méi)有到達(dá)跑道起點(diǎn)就觸地。航天飛機(jī)是無(wú)動(dòng)力滑翔著陸,是一錘子買(mǎi)賣(mài),不能出差錯(cuò),必須精細(xì)控制。但在再入大氣層初期,速度控制也很重要,太快了要造成過(guò)度氣動(dòng)加熱,或者導(dǎo)致著陸速度太高造成危險(xiǎn);太慢了當(dāng)然也不行,飛不到著陸跑道就壞事了,航天飛機(jī)可不是什么地方都能著陸的。但是在速度高達(dá)25馬赫的再入大氣層初期,20km/h的速度差別根本可以忽略不計(jì),200km/h的速度差別才值得引起注意。換句話(huà)說(shuō),設(shè)定值與實(shí)際值之差為20km/h并不一定很重要,但設(shè)定值與實(shí)際值相差10%,那就需要強(qiáng)有力的控制校正。換句話(huà)說(shuō),控制誤差由通常的差值變?yōu)楸戎?,同樣,控制量也?yīng)該由從當(dāng)前值開(kāi)始的增量改變?yōu)榘俜?/span>比式的相對(duì)變化。這樣,控制律就可以表示為:
當(dāng)前的控制量=上一步的控制量×(設(shè)定值/當(dāng)前的測(cè)量值)
也就是說(shuō),在被控變量高于設(shè)定值10%的情況下,控制量也增加10%;測(cè)量值和設(shè)定值一樣時(shí),控制量不再變化。實(shí)際使用時(shí),誰(shuí)除以誰(shuí)要根據(jù)控制器的正反作用來(lái)決定,上面是正作用的情況,反作用的話(huà),控制律把分子分母顛倒一下。這個(gè)控制律還可以進(jìn)一步修改成為:
當(dāng)前的控制量=上一步的控制量×(當(dāng)前的測(cè)量值/設(shè)定值)k
k次方是用來(lái)調(diào)整控制律對(duì)“偏差”(這時(shí)已經(jīng)不是差值,而是比值了,嚴(yán)格地說(shuō),應(yīng)該叫作“偏比”)的靈敏度,相當(dāng)于控制增益。這個(gè)控制律實(shí)際上相當(dāng)于對(duì)數(shù)空間的純積分控制,對(duì)很多常見(jiàn)的非線(xiàn)性過(guò)程有不錯(cuò)的效果,實(shí)現(xiàn)也簡(jiǎn)單。要是有興趣,這還可以進(jìn)一步擴(kuò)展為對(duì)數(shù)空間的PID控制律。然而,這是一個(gè)本質(zhì)離散的控制律,在連續(xù)時(shí)間里無(wú)法實(shí)現(xiàn)。
另一個(gè)巧妙的“數(shù)字專(zhuān)用”控制律牽涉到系統(tǒng)平均停留時(shí)間。反應(yīng)器的容積是固定的,但通過(guò)反應(yīng)器的總流量隨產(chǎn)量甚至產(chǎn)品而變。有時(shí)工藝條件可以解放出一點(diǎn)增產(chǎn)空間,有時(shí)因?yàn)槭袌?chǎng)關(guān)系而需要限產(chǎn),這樣通過(guò)的流量就不固定了。這可以用自適應(yīng)增益來(lái)解決,但也可以換一個(gè)路子,用可變采樣頻率來(lái)解決。反應(yīng)器容積除以通過(guò)的體積流量(也就是L/h而不是kg/h)就是反應(yīng)器內(nèi)平均停留時(shí)間,這相當(dāng)于(但不一定等于)反應(yīng)器內(nèi)的時(shí)間常數(shù)。數(shù)字控制通常使用固定的采樣頻率,但如果針對(duì)某一通過(guò)流量(基準(zhǔn)通過(guò)流量)下某一采樣頻率(基準(zhǔn)采樣頻率)整定PID參數(shù),但采樣頻率與通過(guò)流量(或者平均停留時(shí)間)的比值保持固定,那按照基準(zhǔn)情況整定的PID參數(shù)就可以繼續(xù)使用了,而不必求助于自適應(yīng)增益。這也是一個(gè)本質(zhì)離散的控制律,在連續(xù)時(shí)間里無(wú)法實(shí)現(xiàn)。
離散控制“看一步、走一步”的特性,是連續(xù)控制很難模仿的,也是實(shí)際中極其有用的。
大話(huà)現(xiàn)代控制理論之離散控制篇的內(nèi)容到此就結(jié)束了,歡迎大家繼續(xù)關(guān)注《大話(huà)現(xiàn)代控制理論之模型與辨識(shí)》。