郭肖楠,徐兆蓮,張龍琴,曹玉波*
(1.吉林化工學(xué)院 信息與控制工程學(xué)院,吉林 吉林132022;2.遼寧中集哈深冷氣體液化設(shè)備有限公司 技術(shù)中心,遼寧 開原 112300)
液位是工業(yè)生產(chǎn)過程中的四大熱工參數(shù)之一,因此液位控制已成為工業(yè)生產(chǎn)中研究的重要課題[1],而預(yù)測控制是近年來被提出的適應(yīng)于過程控制的一種先進(jìn)算法,可適用于復(fù)雜非線性化的工業(yè)過程,它具有更好的處理非線性系統(tǒng)的能力,特別是動(dòng)態(tài)矩陣預(yù)測控制算法在復(fù)雜遲延對象上也具有比較明顯的優(yōu)勢[2].
文獻(xiàn)[3]針對CS400裝置的單容水箱實(shí)驗(yàn)對象,在DCS平臺(tái)上引入DMC先進(jìn)控制算法,組成一個(gè)集散控制系統(tǒng),該文獻(xiàn)只是具體說明了可行性實(shí)施方案[3],但并未對方案進(jìn)行實(shí)際操作.文獻(xiàn)[4]借助物理公式和設(shè)備參數(shù)從機(jī)理上對單容水罐建立數(shù)學(xué)模型,并在靜態(tài)點(diǎn)附近線性化.再利用Matlab中的Simulink平臺(tái)搭建DMC對單容水罐的控制模塊并實(shí)現(xiàn)仿真,并與PI加前饋控制器控制單容水罐的仿真結(jié)果做了比較,得出DMC控制效果更穩(wěn)定、無震蕩的結(jié)論[4].
以上文獻(xiàn)并未寫出具體的DMC控制算法程序,針對DMC控制器控制單容水箱線性模型,使用Matlab編寫腳本程序?qū)崿F(xiàn)DMC算法對單位水箱的控制仿真.動(dòng)態(tài)矩陣控制是采用被控對象的單位階躍響應(yīng)序列作為預(yù)測和控制的模型,而水箱的數(shù)學(xué)模型建立較簡單且易構(gòu)造出它的狀態(tài)方程,因此將水箱模型的離散狀態(tài)方程作為DMC的預(yù)測和控制模型,能夠更好地理解與運(yùn)用DMC控制算法原理,深刻體會(huì)DMC控制器對對象的控制過程,對進(jìn)一步研究動(dòng)態(tài)矩陣預(yù)測控制有很大的幫助.
單容水箱是一個(gè)自衡系統(tǒng),其流量特性如圖1所示,被控量為水箱的液位,控制量為進(jìn)水閥開度μ,調(diào)節(jié)閥門開度可以改變進(jìn)水流量.出水口的閥門開度保持不變,出水流量與水壓有關(guān),水壓與水位高度近乎成正比關(guān)系,這樣出水流量會(huì)隨著液位高度的變化而改變[5].當(dāng)流入量等于流出量時(shí),水箱液位達(dá)到某液位點(diǎn)不再改變[6],系統(tǒng)達(dá)到穩(wěn)定狀態(tài),然后改變進(jìn)水口閥門開度,液位會(huì)發(fā)生變化,在該平衡點(diǎn)處分析水箱液位在進(jìn)水口閥門開度μ下的動(dòng)態(tài)特性.
設(shè)液位為h,水箱底面積為F,流入量為Q1,流出量為Q2.則物料動(dòng)態(tài)平衡關(guān)系為:
(1)
將(1)表示為增量形式:
(2)
式中ΔQ1、ΔQ2、Δh是偏離某一平衡狀態(tài)Q10、Q20、h0的增量.
ΔQ1=kμ·Δμ,
(3)
假設(shè)進(jìn)水閥前后壓差不變,kμ為常數(shù).考慮水位只在其穩(wěn)定值附近小范圍變化可得:
(4)
其中Rs為出口閥門流體阻力.整理(2)~(4)式可得:
(5)
在零初始條件下對式(5)拉式變換得到:
Rs·kμ·Δμ(s)=Rs·F·s·ΔH(s)+ΔH(s),
(6)
以進(jìn)水閥開度μ為輸入,水箱液位高度h為輸出的水箱系統(tǒng)模型傳遞函數(shù)可描述為[3]:
(7)
將式(1)表示為狀態(tài)方程形式,為了便于理解,可以將增量形式寫為函數(shù)形式:
(8)
一般DMC動(dòng)態(tài)矩陣控制是以被控對象的階躍響應(yīng)特性來作為預(yù)測模型,而該動(dòng)態(tài)矩陣控制算法是用對象的狀態(tài)方程為預(yù)測模型的控制算法,通過反饋校正和滾動(dòng)優(yōu)化當(dāng)前和未來時(shí)刻的控制量,使得輸出響應(yīng)符合預(yù)先設(shè)定的軌跡[3],圖2是預(yù)測控制的原理結(jié)構(gòu)圖.
如圖2所示,DMC動(dòng)態(tài)矩陣控制由參考軌跡、優(yōu)化計(jì)算、預(yù)測模型、被控對象、預(yù)測輸出5部分組成[7].其中被控對象輸出值與預(yù)測模型輸出值的偏差再與預(yù)測模型重新構(gòu)造預(yù)測輸出,參考軌跡與預(yù)測輸出之差經(jīng)過優(yōu)化算法得出最優(yōu)控制量再作用于被控對象和預(yù)測模型[8],從而實(shí)現(xiàn)滾動(dòng)優(yōu)化和誤差反饋校正.
在一個(gè)采樣周期T內(nèi),根據(jù)歐拉公式可以近似得到液位的微分形式[9]:
(9)
結(jié)合式(8)、(9),k+1時(shí)刻的液位值可以從k時(shí)刻獲得:
(10)
假設(shè)在預(yù)測范圍之內(nèi)控制量保持不變,可以得到液位從k時(shí)刻起的未來P個(gè)預(yù)測值在滾動(dòng)時(shí)域下的向量形式:
(11)
將未來P個(gè)預(yù)測值寫為狀態(tài)方程形式可以得到:
HP(k)=Ah(k)+B(μ(k-1)+Δμ(k)),
(12)
由上可知,預(yù)測模型部分需要一個(gè)控制增量,這個(gè)控制增量采用最優(yōu)控制的求解方法得到.
計(jì)算最優(yōu)控制增量的基本思想在于:確定目標(biāo)函數(shù),并根據(jù)約束條件進(jìn)行求解,在DMC的簡單應(yīng)用中一般是在無約束的條件下求解,所以目標(biāo)函數(shù)可以設(shè)計(jì)為:
minJ=[yr(k)-(Ah(k)+Bμ(k-1)+BΔμ(k))]TQ[yr(k)-(Ah(k)+Bμ(k-1)+BΔμ(k))]+μT(k)Rμ(k),
(13)
目標(biāo)函數(shù)可以解釋為:第1項(xiàng)希望計(jì)算出的控制增量Δμ(k)使系統(tǒng)的輸出值盡可能地接近參考值,并且希望當(dāng)系統(tǒng)達(dá)到穩(wěn)定后控制增量趨近于0,避免對執(zhí)行機(jī)構(gòu)造成不利的影響.第2項(xiàng)是對控制增量進(jìn)行約束,這樣就不會(huì)使控制增量有很大的變化.
Δμ*(k)=(BTQB+R)-1BTQ[yr(k)-Ah(k)-Bμ(k-1)],
(14)
其中,Q=q×IP×P,Q為誤差權(quán)矩陣,用來調(diào)整誤差系數(shù);R為控制權(quán)系數(shù),用來調(diào)整控制增量系數(shù).
上式求解到的Δμ*(k)為一個(gè)最優(yōu)控制增量,然而實(shí)際上DMC使用μ(k)作用于對象.
由于系統(tǒng)擾動(dòng)的存在,系統(tǒng)的輸出無法穩(wěn)定在參考值,DMC控制器無法實(shí)現(xiàn)理想控制,所以實(shí)際的做法就是對每個(gè)時(shí)刻的目標(biāo)函數(shù)進(jìn)行優(yōu)化,計(jì)算出的最優(yōu)控制增量與前一時(shí)刻的控制量相加得到當(dāng)下時(shí)刻的控制量并作用于預(yù)測模型和對象,這就是滾動(dòng)優(yōu)化.
在預(yù)測模型和滾動(dòng)優(yōu)化的基礎(chǔ)上,DMC控制器已經(jīng)實(shí)現(xiàn)開環(huán)控制的效果,在理想的情況下,控制器能較好地完成控制工作,但是在現(xiàn)實(shí)情況中系統(tǒng)工作時(shí)會(huì)有模型失配、環(huán)境干擾等不確定因素發(fā)生,所以將開環(huán)控制轉(zhuǎn)變?yōu)殚]環(huán)控制能大大的提升系統(tǒng)的抗擾動(dòng)能力.
反饋校正的思路在于:在k時(shí)刻時(shí),將計(jì)算得到的最優(yōu)控制量μ(k)作用于模型,可得到未來P個(gè)時(shí)刻的模型輸出預(yù)測HP1(k)[11],取預(yù)測輸出值的第1個(gè)元素即HP1(k+1|k)與下一時(shí)刻的被控對象的實(shí)際輸出值h(k+1)進(jìn)行比較,得到預(yù)測誤差e(k+1)如下:
e(k+1)=h(k+1)-HP1(k+1|k),
(15)
然后對誤差加權(quán)得到加權(quán)誤差序列用于修正預(yù)測模型,其計(jì)算表達(dá)式如下:
Hcor(k+1)=HP1(k)+ce(k+1),
(16)
其中Hcor(k+1)為下一時(shí)刻修正后的模型輸出預(yù)測值;c為P維誤差校正加權(quán)序列,元素都為1.
此時(shí)還要對Hcor(k+1)進(jìn)行一步轉(zhuǎn)移操作,最終得到HP0(k+1)作為下一時(shí)刻的模型預(yù)測初值,表達(dá)式如下:
HP0(k+1)=SHcor(k+1),
(17)
其中S為狀態(tài)轉(zhuǎn)移矩陣,且有
根據(jù)DMC動(dòng)態(tài)矩陣控制的特點(diǎn),它的控制算法流程圖如下:
對所提出的單容水箱DMC控制算法進(jìn)行了仿真驗(yàn)證,仿真所使用的實(shí)驗(yàn)相關(guān)參數(shù)見表1.
表1 實(shí)驗(yàn)相關(guān)數(shù)據(jù)
給定h0=20 cm,根據(jù)上面DMC預(yù)測控制算法的設(shè)計(jì)原理,設(shè)定液位的期望值為50 cm,系統(tǒng)采樣周期為1 s,設(shè)置好DMC控制器的參數(shù)后,可以得到單容水箱液位值在動(dòng)態(tài)矩陣控制下達(dá)到設(shè)定值的系統(tǒng)響應(yīng)仿真曲線,見圖4.
初始時(shí)刻液位的預(yù)測值與實(shí)際值為20 cm,預(yù)測控制步數(shù)為6步,在調(diào)整好參數(shù)的情況下,經(jīng)過10 s后在一定誤差允許范圍內(nèi)系統(tǒng)基本平穩(wěn).在50 s時(shí)給系統(tǒng)一個(gè)擾動(dòng),將單容水箱的出水閥門開度由原來的40%增加到70%,如圖4所示出水閥門開度增大時(shí)液位會(huì)先下降,在DMC控制算法下進(jìn)水閥的開度增大,增加進(jìn)水流量抑制水位下降,經(jīng)過8 s后水位回到設(shè)定值.由此可見,以狀態(tài)方程為預(yù)測模型的動(dòng)態(tài)矩陣控制算法能準(zhǔn)確地跟蹤給定液位的參考值,該預(yù)測控制是可行正確的.動(dòng)態(tài)矩陣預(yù)測控制具有調(diào)節(jié)時(shí)間短、抗干擾能力強(qiáng)、超調(diào)量小,系統(tǒng)能較穩(wěn)定快速地變化到工況設(shè)定值等特點(diǎn).
通過機(jī)理分析法建立了單容水箱動(dòng)態(tài)數(shù)學(xué)模型,通過Matlab程序仿真,運(yùn)用狀態(tài)方程為預(yù)測模型,滾動(dòng)優(yōu)化等原理,設(shè)計(jì)了動(dòng)態(tài)矩陣控制器,將液位控制在恒定水位.通過仿真實(shí)驗(yàn)驗(yàn)證了該控制器對單容水箱的控制效果比較理想.在調(diào)節(jié)過程中,動(dòng)態(tài)矩陣能縮短調(diào)節(jié)時(shí)間,減少超調(diào)量,系統(tǒng)的實(shí)時(shí)控制與抗擾動(dòng)能力較強(qiáng).