張運詩,董海洲,許東博
(山東新馬制藥裝備有限公司,淄博 255000)
流化床是固體制劑生產(chǎn)中至關(guān)重要的設(shè)備,近年來,隨著一致性評價以及國家的大力支持,越來越多的藥廠建立了固體制粒線,流化床的使用也越來越廣泛。設(shè)備使用往往將進風溫度作為配方的重要組成部分,對制取的藥品質(zhì)量有很大的影響[1]。隨著工業(yè)的不斷發(fā)展,我國的制藥設(shè)備質(zhì)量也有了較大的提高,但是與國際頂尖的設(shè)備在控制性能上還是有很大的差距。
目前國內(nèi)外流化床的溫度控制都是采用PID這種傳統(tǒng)的控制方式,其控制性能和設(shè)備本身的情況以及參數(shù)選擇有很大的關(guān)系,因此在溫度控制效果上也相差較大。特別是實驗機這種電加熱設(shè)備,一般沒有配備冷卻介質(zhì),溫度的滯后性特別大,往往很難快速的達到并穩(wěn)定在設(shè)定值附近。
預(yù)測函數(shù)控制(Predictive Functional Control,簡稱PFC)是在傳統(tǒng)預(yù)測控制的基礎(chǔ)上發(fā)展起來的一種新型計算機控制算法,其優(yōu)越的性質(zhì),在工業(yè)控制中備受關(guān)注[2]。采用PLC控制器和觸摸屏,設(shè)計控制系統(tǒng),將PFC算法應(yīng)用于流化床溫度控制系統(tǒng)中,并進行多次測試,測試結(jié)果表明,這種應(yīng)用極大的改善了溫度控制效果,滿足了實際的使用。
S71500 PLC是近幾年推出的一種新型控制器,其優(yōu)化結(jié)構(gòu)配合SCL語言進行復(fù)雜算法的編寫,可以實現(xiàn)高級算法與很多工業(yè)現(xiàn)場控制的結(jié)合[3]。針對流化床溫度控制工藝,設(shè)計了一種基于S71500 PLC控制器及PFC算法優(yōu)化控制的新型控制系統(tǒng),系統(tǒng)中采用SCL語言編寫PFC算法,極好的解決了算法的計算問題,且實現(xiàn)簡單,計算量少。
該系統(tǒng)由進風處理系統(tǒng),擴展腔體,排風系統(tǒng),連接管道、信號檢測系統(tǒng),信號處理系統(tǒng)以及顯示系統(tǒng)組成。系統(tǒng)示意圖如圖1所示:
圖1 系統(tǒng)示意圖
設(shè)計中,變頻器可控制排風機的轉(zhuǎn)速,構(gòu)成整個系統(tǒng)的風量控制單元;進風處理系統(tǒng)內(nèi)部安裝電加熱管,通過電加熱管對風進行加熱。實際的進風溫度通過溫度探針,信號轉(zhuǎn)換后傳遞給PLC。風經(jīng)過進風單元過濾進入腔體,將物料吹起進行沸騰。
S71500 PLC運行控制程序,實現(xiàn)PFC控制程序的離線和在線滾動計算。觸摸屏設(shè)計人機界面,用于數(shù)據(jù)的輸入或者指令的控制以及相關(guān)參數(shù)的顯示和數(shù)據(jù)存儲。
根據(jù)空氣熱量計算公式,電加熱的設(shè)計功率為6kW。進風溫度可以通過PT100傳感器測量,并通過隔離柵將信號傳遞給PLC,在PLC內(nèi)部經(jīng)過預(yù)測函數(shù)控制進行優(yōu)化計算后,輸出信號給可控硅,進行調(diào)壓,對溫度進行調(diào)節(jié)[4]。其溫度控制結(jié)構(gòu)體如圖2所示。
圖2 溫度控制結(jié)構(gòu)圖
風量控制為百分比控制和風量控制兩種,百分比控制情況下,可以在觸摸屏上設(shè)定風機的百分比,以此來控制變頻器的輸出,實現(xiàn)對風機轉(zhuǎn)速的定頻控制。在風量控制情況下,在觸摸屏上直接設(shè)定風量,PLC內(nèi)部通過對采集的風量和設(shè)定值進行比較,經(jīng)過PID計算,輸出信號到變頻器,進而改變電機的轉(zhuǎn)速,實現(xiàn)風機的變頻控制。如圖3所示:
圖3 風量控制結(jié)構(gòu)圖
為了便于實際生產(chǎn)數(shù)據(jù)的及時記錄,系統(tǒng)中設(shè)計了數(shù)據(jù)記錄和存儲功能。生產(chǎn)中的風量、溫度以及報警信息,可以存儲在SD卡中特定的文件里。
預(yù)測函數(shù)控制是一種計算機控制算法。包含傳統(tǒng)預(yù)測控制中預(yù)測模型、滾動優(yōu)化和反饋校正三個主要思想[5]。
流化床溫度的控制系統(tǒng)為一個典型的延時滯后系統(tǒng),工業(yè)控制的連續(xù)化要求算法需要在線持續(xù)優(yōu)化,對于計算量要求也比較高[6]。設(shè)計系統(tǒng),將預(yù)測函數(shù)控制應(yīng)用于流化床溫度控制中,可以很好的解決這一問題。流化床預(yù)測函數(shù)控制的基本原理設(shè)計如下:
圖4 溫度控制原理圖
預(yù)測函數(shù)控制的輸入為一系列基函數(shù)的線性疊加,在流化床控制系統(tǒng)中,往往進風溫度的設(shè)定值不會經(jīng)常發(fā)生變化,因此選擇的基函數(shù)為階躍響應(yīng),基函數(shù)的數(shù)目為1即可滿足控制需求。其形式如下:
其中,u(k+i)表示系統(tǒng)在k+i時刻的控制量,u(k)為基函數(shù)的線性加權(quán)系數(shù),f(k+i)為基函數(shù)在t=iTs時刻的數(shù)值,Ts為數(shù)據(jù)采集和滾動優(yōu)化計算周期。
根據(jù)系統(tǒng)設(shè)計,可以通過PLC采集到實際的溫度值,同時調(diào)節(jié)輸出電流信號到可控硅,進而調(diào)節(jié)電加熱功率,實現(xiàn)溫度的調(diào)節(jié)。因此這里采用階躍響應(yīng)這種非參數(shù)的模型作為算法的預(yù)測模型[7]。
假設(shè)系統(tǒng)的輸入增量為M個:Δu(k),…,Δu(k+M-1),則輸出預(yù)測值為:
其中,P為預(yù)測時域,y0(k+i|k)為第i時刻的初始預(yù)測值,yM(k+i|k)為第i時刻的輸出預(yù)測值,ai-j+1為第i-j+1個階躍響應(yīng)采集值。
結(jié)合式(1)和式(2),寫成向量形式如下:
其中,G=A·F
uP0表示系統(tǒng)在k-1時刻的控制輸入值
式(3)表明,系統(tǒng)的控制輸入為基函數(shù)的加權(quán)而成,通過求解加權(quán)系數(shù)計算出控制輸入,相比于以往的預(yù)測控制算法,減少了計算時間,非常適合工業(yè)設(shè)備在線優(yōu)化控制。
流化床溫度控制時,期望的控制效果是使溫度的實際值快速達到并穩(wěn)定在設(shè)置值附近??扇時刻的優(yōu)化計算指標為:
式中,qi為加權(quán)系數(shù),w(k+i)為第i時刻的設(shè)定值,yM(k+i|k)為第i時刻的輸出預(yù)測值。
式(4)寫成向量形式為:
其中,ωP(k)=[ω(k+1)...ω(k+P)]T,Q=diag(q1…qP),yPM(k)=[yM(k+1)…yM(k+P)]T。
將式(4)代入式(5),并求解dJ(k)/dμ(k)=0,即可求得μ的最優(yōu)解為:
預(yù)測控制算法是在模型的優(yōu)化計算基礎(chǔ)上進行的,由于工業(yè)現(xiàn)場復(fù)雜性以及算法要求,需要反饋信號的參與才能體現(xiàn)這一控制系統(tǒng)的優(yōu)勢[8]。
其基本思路是在每一計算時刻通過比較當前時刻的實際值與預(yù)測值之間的誤差,加權(quán)計算并對模型進行補償后進行下一步的滾動優(yōu)化,以此使算法處于一個閉環(huán)的控制中。
針對上述算法的推導,流化床溫度控制程序分為離線計算和在線計算兩部分。離線計算包括階躍響應(yīng)信號的采集,模型的建立,各個離線矩陣的計算等。在線計算部分主要完成在線滾動優(yōu)化與誤差補償,以及控制器與外部設(shè)備的交互功能[9]。
圖5 主程序設(shè)計流程圖
根據(jù)式(6),離線計算過程分為兩個部分,第一部分為階躍信號的采集,第二部分為A、F、G矩陣的計算。流程圖如下圖所示:
如圖7所示,在線計算一方面完成算法滾動優(yōu)化的過程,另一方面,根據(jù)每一時刻的反饋值,對模型修正,以便計算出切合實際設(shè)備的控制值。
圖7 在線計算程序流程圖
設(shè)備的人機界面包含算法程序中各參數(shù)的設(shè)置、離線與在線數(shù)據(jù)的采集和計算、指令的執(zhí)行、信號的顯示以及與設(shè)備相關(guān)的人機交互部分[10]。
設(shè)備運行畫面為流化床進風溫度的控制界面,用于對預(yù)測函數(shù)控制算法測試。其內(nèi)容主要包含設(shè)備的啟動和停止,可以設(shè)定及顯示進風溫度以及排風機的百分比。設(shè)置了趨勢圖,可以實時查看溫度的設(shè)定值以及實際的進風溫度。
數(shù)據(jù)采集和離線計算界面用于PFC算法實現(xiàn)的準備與離線計算功能,其部分截屏如圖8所示。
圖8 預(yù)測函數(shù)控制算法設(shè)計圖
在界面中可以進行預(yù)測函數(shù)各個參數(shù)的設(shè)置,其中每一個可以操控的參數(shù)都在屏幕上設(shè)置了IO域,便于人機界面與PLC程序的交互。同時在界面上有溫度的顯示數(shù)值和曲線,便于在算法參數(shù)采集時查看具體的溫度趨勢。
選擇風機運行百分比為50%,基函數(shù)為單位階躍函數(shù),模型采集與滾動優(yōu)化間隔時間為20秒,模型長度為60,預(yù)測時域為11,控制時域為3。離線計算后,式(6)中:
選擇風機運行百分比為50%,進風溫度設(shè)定值為60攝氏度。分別采用PID算法和PFC控制,每30秒采集一次進風溫度,其數(shù)值如下:
表1 PID控制及PFC控制進風溫度采集數(shù)值
為了便于比較PID控制以及PFC控制的性能,通過MATLAB將數(shù)據(jù)進行曲線擬合,曲線如下:
通過圖9擬合的曲線圖可以對比,PID和PFC控制雖然最終都可達到控制目的,但是PFC實際的進風溫度控制過程更加平穩(wěn),調(diào)節(jié)速度明顯加快,初次調(diào)節(jié)與設(shè)定值差值更小,控制效果優(yōu)于傳統(tǒng)PID控制,完全適應(yīng)于流化床溫度控制中。
圖9 PID和PFC控制進風溫度MATLAB擬合曲線
流化床是固體制劑中非常關(guān)鍵的設(shè)備,其溫度控制效果直接影響最終的產(chǎn)品質(zhì)量。文中設(shè)計了一種基于PFC算法、S71500 PLC,觸摸屏,可控硅的新型控制系統(tǒng),用于流化床的溫度控制。同時與以往的PID控制比較,測試結(jié)果表明,溫度控制速度更快顯著,大大提升了穩(wěn)定性,性能良好,達到了預(yù)期的效果。同時嘗試使用高級控制算法進行設(shè)備控制,為工業(yè)的控制升級提供了一個新的思路。