張龍琴,周 鑫,林建東,曹玉波*
(1.吉林化工學(xué)院 信息與控制工程學(xué)院,吉林 吉林 132022;2.浙江中控技術(shù)股份有限公司 重點(diǎn)項(xiàng)目工程部,江蘇 無錫 214026)
在色氨酸蒸發(fā)工藝中,蒸發(fā)室溫度是影響產(chǎn)品質(zhì)量的關(guān)鍵因素,控制溫度維持在設(shè)定范圍內(nèi),是保證蒸發(fā)系統(tǒng)高效、穩(wěn)定運(yùn)行的重要工作內(nèi)容。由于溫度控制系統(tǒng)具有大滯后的特性,當(dāng)蒸發(fā)器內(nèi)溫度因更改設(shè)定值或出現(xiàn)干擾而發(fā)生變化時(shí),常規(guī)PID控制算法難以及時(shí)地反饋蒸發(fā)器內(nèi)溫度,短時(shí)間內(nèi)產(chǎn)生較大偏差,導(dǎo)致控制過程出現(xiàn)較高頻次的震蕩和較大的超調(diào)量[1-3]。針對(duì)工業(yè)過程中含純滯后的被控對(duì)象,美國IBM公司的Dahlin早在1968年提出了大林算法,該算法可以有效減小純滯后控制系統(tǒng)的超調(diào)量,提高系統(tǒng)的工作性能[4]。本文以某企業(yè)色氨酸蒸發(fā)過程為例,將大林算法應(yīng)用于溫度控制系統(tǒng)中,提高了蒸發(fā)器內(nèi)溫度控制的穩(wěn)定性和快速性,在仿真實(shí)驗(yàn)中取得良好效果。
蒸發(fā)是指將含有不揮發(fā)性溶質(zhì)的溶液加熱至沸騰,使得部分溶劑汽化并移除,從而提高溶質(zhì)濃度的操作過程。在圖1所示的色氨酸蒸發(fā)溫度控制系統(tǒng)中,被控變量為蒸發(fā)器內(nèi)溫度,控制變量為蒸汽調(diào)節(jié)閥UV101的開度。含大量水分的色氨酸原液由上端輸入口進(jìn)入蒸發(fā)器與高壓蒸汽逆向接觸,其水分吸熱后由原來的液相變?yōu)闅庀?同高壓蒸汽中的不凝性氣體結(jié)合為低壓蒸汽,從頂端輸出口引出,濃縮后的色氨酸溶液則匯聚在蒸發(fā)器底部,根據(jù)濃度情況連續(xù)或間歇排放。
圖1 色氨酸蒸發(fā)溫度控制系統(tǒng)工藝流程
在實(shí)際生產(chǎn)中,為了保證色氨酸蒸發(fā)過程的連續(xù)正常運(yùn)行,蒸發(fā)器需要持續(xù)獲得色氨酸原液和高壓蒸汽的補(bǔ)充,并把滿足要求的色氨酸濃液輸送到后續(xù)工藝,使得蒸發(fā)器內(nèi)的溫度始終處于一個(gè)變化狀態(tài)[5-7]。表現(xiàn)為色氨酸原液、濃液流量變化或者高、低壓蒸汽量變化,引起的蒸發(fā)器內(nèi)溫度波動(dòng)頻次高、幅度大等問題。當(dāng)溫度超過上限時(shí),蒸發(fā)器內(nèi)液體飛濺,損壞蒸發(fā)裝置;當(dāng)溫度低于下限時(shí),蒸發(fā)速度變緩,產(chǎn)品質(zhì)量不高。因此,實(shí)現(xiàn)溫度的定值控制,不僅是蒸發(fā)過程安全高效進(jìn)行的重要保證,更是獲得優(yōu)質(zhì)產(chǎn)品的必要條件。
色氨酸蒸發(fā)溫度控制系統(tǒng)方塊圖如圖2所示。采用溫度傳感器實(shí)時(shí)檢測(cè)蒸發(fā)器內(nèi)溫度TT101。經(jīng)溫度變送器轉(zhuǎn)換為4~20 mA的標(biāo)準(zhǔn)電信號(hào)后,由模擬量輸入模塊采集進(jìn)入PLC。根據(jù)設(shè)定溫度SP與實(shí)際溫度PV之間的偏差E(t),分別進(jìn)行比例、積分和微分運(yùn)算得到閥位控制信號(hào)M(t),以調(diào)節(jié)閥門的開度大小,進(jìn)而改變高壓蒸汽的輸出量Qout(t)。最終實(shí)現(xiàn)蒸發(fā)器內(nèi)溫度的定值控制。
圖2 溫度控制系統(tǒng)方塊圖
在工業(yè)生產(chǎn)過程中,當(dāng)被控對(duì)象受純滯后影響較大時(shí),采用常規(guī)PID控制器難以達(dá)到期望的性能指標(biāo),大林算法在一定程度上解決了這個(gè)問題。大林算法是一種針對(duì)具有純滯后被控對(duì)象的控制方法,該算法最大的特點(diǎn)是將期望的閉環(huán)系統(tǒng)傳遞函數(shù)等效為一階慣性加純滯后環(huán)節(jié),反過來設(shè)計(jì)數(shù)字控制器[8-10]。
對(duì)于具有自平衡能力的溫度對(duì)象,其傳遞函數(shù)可采用帶有純滯后的一階慣性環(huán)節(jié)加以表述,如式(1)所示。
(1)
式中,K為溫度對(duì)象的靜態(tài)增益;T0為溫度對(duì)象的時(shí)間常數(shù);τ為溫度對(duì)象的滯后時(shí)間。
引入常規(guī)PID控制器C(s)后形成閉環(huán)系統(tǒng),其傳遞函數(shù)如式(2)所示。
(2)
通過觀察式(2)可知,閉環(huán)傳遞函數(shù)的特征方程中存在延遲環(huán)節(jié)e-τs,必然影響溫度系統(tǒng)的穩(wěn)定性,使得其超調(diào)量增大,調(diào)節(jié)時(shí)間變長等。
為了提高閉環(huán)系統(tǒng)的穩(wěn)定性,將常規(guī)PID控制算法改為大林算法。該算法的目標(biāo)是設(shè)計(jì)出一個(gè)合適的控制器D(s),使得整個(gè)閉環(huán)系統(tǒng)的傳遞函數(shù)為帶滯后的一階慣性環(huán)節(jié),且滯后時(shí)間與被控對(duì)象的滯后時(shí)間一致,如式(3)所示。
(3)
式中,φ(s)為期望的閉環(huán)傳遞函數(shù);Tτ為閉環(huán)傳遞函數(shù)的時(shí)間常數(shù)。此時(shí)φ(s)的特征方程中不存在延遲環(huán)節(jié)e-τs,提高了系統(tǒng)的穩(wěn)定性。
為了便于大林算法控制器的編程實(shí)現(xiàn),需要獲得其差分方程,具體實(shí)現(xiàn)步驟如下。
色氨酸蒸發(fā)溫度控制系統(tǒng)采樣控制原理方塊圖如圖3所示,圖中r(t)為控制系統(tǒng)輸入;R(z)為與r(t)對(duì)應(yīng)的離散輸入信號(hào);y(t)為控制系統(tǒng)輸出;Y(z)為與y(t)對(duì)應(yīng)的離散輸出信號(hào);D(z)為被設(shè)計(jì)的數(shù)字控制器;H(s)為零階保持器;G0(s)為廣義被控對(duì)象傳遞函數(shù);G(z)為廣義被控對(duì)象的脈沖傳遞函數(shù);φ(z)為系統(tǒng)的閉環(huán)脈沖傳遞函數(shù)。
圖3 采樣控制原理方塊圖
采用帶有零階保持器的Z變換將式(1)離散化后,得到式(4)所示的脈沖傳遞函數(shù)表達(dá)式。
(4)
式中τ=NT,表示滯后時(shí)間τ為采樣周期T的N倍,且N∈R+。
式(3)利用帶有零階保持器的Z變換離散化后,可得式(5)所示的脈沖傳遞函數(shù)表達(dá)式。
(5)
由圖3可知,φ(z)、G0(z)以及D(z)的關(guān)系式,如式(6)所示。
(6)
式(6)變形后,可得大林控制器的脈沖傳遞函數(shù)D(z),如式(7)所示。
(7)
將式(4)和式(5)代入式(7),得到D(z)的具體表達(dá)形式,如式(8)所示。
(8)
為了簡(jiǎn)化式(8)引入系數(shù)a0、a1、b0以及b1,簡(jiǎn)化后的大林控制器的脈沖傳遞函數(shù),如式(9)所示。
(9)
最后需要將式(9)差分化,以便計(jì)算機(jī)編程實(shí)現(xiàn)。差分化后的方程如式(10)所示。
u(k)=a0u(k-1)+a1u(k-N-1)+b0e(k)-b1e(k-1)。
(10)
式中u(k)為大林算法控制器當(dāng)前時(shí)刻的輸出值,即調(diào)節(jié)閥的閥門開度。該值與上一時(shí)刻控制器的輸出值u(k-1)、N+1時(shí)刻控制器的輸出值u(k-N-1)、當(dāng)前時(shí)刻溫度偏差值e(k)以及上一時(shí)刻溫度偏差值e(k-1)有關(guān)。
在色氨酸溫度系統(tǒng)工況穩(wěn)定的情況下,進(jìn)行開環(huán)測(cè)試,求取被控對(duì)象模型參數(shù)。測(cè)試時(shí)室溫為26 ℃,系統(tǒng)運(yùn)行50 s后,給定30%的控制變量,此時(shí)PLC輸出8.8 mA的電流至調(diào)壓模塊,改變閥門開度,控制低壓蒸汽的進(jìn)入量,從而調(diào)節(jié)蒸發(fā)系統(tǒng)溫度。通過觀察溫度階躍變化曲線,可得不同采樣時(shí)刻下的溫度值,如表1所示。
表1 色氨酸蒸發(fā)溫度變化數(shù)據(jù)
假定系統(tǒng)的階躍輸入為x,對(duì)溫度對(duì)象的傳遞函數(shù)進(jìn)行拉氏反變換處理,可得式(11)所示的溫度系統(tǒng)階躍響應(yīng)表達(dá)式。
(11)
若運(yùn)行時(shí)間t足夠大,則靜態(tài)增益K可由系統(tǒng)階躍響應(yīng)的穩(wěn)態(tài)值T(∞)來確定。
(12)
在經(jīng)典辨識(shí)方法中,兩點(diǎn)法是計(jì)算一階延遲系統(tǒng)的時(shí)間常數(shù)T0和滯后時(shí)間τ的常用方法。采集階躍響應(yīng)曲線上的兩個(gè)觀測(cè)點(diǎn)t1,T(t1)和t2,T(t2),將其帶入表達(dá)式(11)得到方程組(13)。
(13)
通過求解上述方程組可知,式(14)所示的溫度對(duì)象模型的時(shí)間常數(shù)和滯后時(shí)間表達(dá)式。
(14)
兩個(gè)觀測(cè)點(diǎn)的選擇直接影響了模型參數(shù)的計(jì)算結(jié)果,當(dāng)觀測(cè)點(diǎn)選擇不同時(shí),模型參數(shù)會(huì)隨之變化。為了提高計(jì)算精度,可以選取特殊觀測(cè)點(diǎn)T(t1)=0.393T(∞)和T(t2)=0.632T(∞)的數(shù)據(jù),此時(shí)有
(15)
通過分析階躍測(cè)試的響應(yīng)曲線可知,穩(wěn)態(tài)溫度的39.3%對(duì)應(yīng)的T(t1)為48.82 ℃,t1為77 s;穩(wěn)態(tài)溫度的63.2%對(duì)應(yīng)的T(t2)為62.66 ℃,t2為134 s。由式(15)運(yùn)算得T0=114 s,τ=20 s。
因此,基于系統(tǒng)階躍響應(yīng)數(shù)據(jù),采用一階延遲系統(tǒng)兩點(diǎn)法,最終確立的溫度對(duì)象模型如式(16)所示。
(16)
以大林算法的基本原理和被控對(duì)象的傳遞函數(shù)為依據(jù),完成大林控制器的設(shè)計(jì)。系統(tǒng)期望輸出的閉環(huán)傳遞函數(shù)是與溫度對(duì)象具有相同延時(shí)的一階慣性環(huán)節(jié),可設(shè)為
(17)
為了在PLC中完成大林算法程序的編寫,將溫度對(duì)象模型參數(shù)和目標(biāo)傳遞函數(shù)參數(shù)代入式(10)中,經(jīng)過運(yùn)算,最終確立的大林控制器脈沖傳遞函數(shù)如式(18)所示。
u(k)=0.973 1u(k-1)+0.026 9u(k-N-1)+1.009 8e(k)-1.000 8e(k-1)。
(18)
大林算法控制程序流程如圖4所示,主要包含偏差產(chǎn)生、控制器計(jì)算和結(jié)果輸出三部分。將蒸發(fā)器的設(shè)定溫度(SP_T)與實(shí)際溫度(PV_T)作差,可得偏差信號(hào)。當(dāng)偏差信號(hào)處于死區(qū)區(qū)間(DEADB_W)時(shí),死區(qū)非線性輸出為0,此時(shí)控制器的輸出值與上一時(shí)刻保持一致,直至偏差穿出死區(qū)區(qū)間,大林算法控制器重新計(jì)算出控制變量(D_out)。此外,為了避免控制器的輸出進(jìn)入飽和狀態(tài),需要將D_out限制在上限(D_out_HLM)與下限(D_out_LLM)之間。
圖4 大林算法控制程序流程圖
大林算法控制器基于蒸發(fā)器內(nèi)的實(shí)際溫度與設(shè)定溫度之間的差值,完成運(yùn)算后輸出閥位信號(hào)。由該信號(hào)調(diào)節(jié)高壓蒸汽的進(jìn)入量,使得蒸發(fā)器溫度維持在設(shè)定范圍內(nèi)。大林算法控制器的程序如圖5所示。
圖5 大林算法控制器程序
色氨酸蒸發(fā)溫度控制系統(tǒng)程序設(shè)計(jì)流程如圖6所示。
圖6 控制系統(tǒng)程序設(shè)計(jì)流程圖
在系統(tǒng)完成初始化后,循環(huán)采集蒸發(fā)器內(nèi)的實(shí)際溫度信號(hào)PV。當(dāng)溫度信號(hào)延遲N步后與設(shè)定溫度SP作差,得到偏差信號(hào)e(k)。再依據(jù)大林算法控制器的差分方程,編寫控制程序,輸出閥位信號(hào)u(k)。緊接著對(duì)偏差信號(hào)和閥位信號(hào)作賦值處理,以便下一輪的運(yùn)算。最后判斷系統(tǒng)的采樣時(shí)間是否結(jié)束,若采樣時(shí)間未結(jié)束,則系統(tǒng)循環(huán)上述步驟,反之,系統(tǒng)結(jié)束循環(huán)。
色氨酸蒸發(fā)系統(tǒng)的溫度控制程序,由控制器程序和變量量程轉(zhuǎn)換程序組成。
控制器程序是基于大林算法實(shí)現(xiàn)的。在控制程序編寫完成后,點(diǎn)擊保存按鈕,SIMATIC Manager會(huì)自動(dòng)封裝源程序,得到的FB1功能塊,并在項(xiàng)目窗口處顯示。FB1一方面可被其他程序調(diào)用,另一方面可作為通用模塊供給其他用戶使用。
對(duì)于變量量程轉(zhuǎn)換程序而言,通過調(diào)用STEP7提供的程序塊FC105“SCALE”和FC106“UNSCALE”,完成數(shù)字量與工程量之間的轉(zhuǎn)化。其中FC105把來自PIW256的溫度數(shù)字量信號(hào),轉(zhuǎn)換為介于上限(地址DB2.DBD28)與下限(地址DB2.DBD32)之間的實(shí)際溫度值,并存儲(chǔ)在背景數(shù)據(jù)塊中(地址DB2.DBD4)。FC106的功能與FC105相反,它將控制器輸出的閥位信號(hào)轉(zhuǎn)換為0~27 648之間的數(shù)字量信號(hào),經(jīng)PQW272通道傳給AO模塊,再由AO模塊完成D/A轉(zhuǎn)換,輸出調(diào)節(jié)閥所需的電壓信號(hào)。最終調(diào)節(jié)閥的開度大小隨著電壓的高低發(fā)生變化,從而控制加熱蒸汽的進(jìn)入量,保證蒸發(fā)器內(nèi)溫度處于設(shè)定范圍內(nèi)。色氨酸蒸發(fā)溫度控制系統(tǒng)主程序如圖7所示。
圖7 色氨酸蒸發(fā)溫度控制系統(tǒng)主程序
基于已知的溫度對(duì)象模型,建立西門子S7-300PLC與WinCC組態(tài)軟件之間的連接,進(jìn)行色氨酸溫度控制回路仿真實(shí)驗(yàn)。采用常規(guī)PID控制算法和大林算法控制下系統(tǒng)的溫度變化曲線如圖8所示,橫坐標(biāo)表示響應(yīng)時(shí)間,縱坐標(biāo)表示實(shí)際的輸出溫度。
t/s
在系統(tǒng)工況穩(wěn)定的情況下輸入階躍信號(hào),色氨酸蒸發(fā)溫度控制系統(tǒng)先經(jīng)歷20 s的滯后時(shí)間,隨后溫度逐漸上升,達(dá)到新的穩(wěn)態(tài)值。為了模擬干擾信號(hào)對(duì)系統(tǒng)的影響,在仿真控制系統(tǒng)運(yùn)行到260 s時(shí),給定負(fù)向干擾信號(hào),系統(tǒng)溫度則立即變化,并在控制器的調(diào)節(jié)下再次回到設(shè)定值。
由圖8所示的仿真曲線可知,當(dāng)溫度的設(shè)定值改變或系統(tǒng)出現(xiàn)干擾時(shí),兩種控制器作用下的響應(yīng)曲線都能再次恢復(fù)到穩(wěn)定狀態(tài),但采用大林算法控制器的系統(tǒng)跟蹤響應(yīng)速度更快,超調(diào)量更小,并且能夠及時(shí)糾正擾動(dòng)產(chǎn)生的偏差。由表2兩種算法的時(shí)域性能指標(biāo)分析可得,較常規(guī)PID控制算法,大林算法的上升時(shí)間縮短了42.28%,調(diào)節(jié)時(shí)間加快了37.50%,超調(diào)量降低了83.31%,使得系統(tǒng)整體的控制效果優(yōu)于常規(guī)PID控制。
表2 兩種算法時(shí)域性能指標(biāo)
以西門子S7-300系列 PLC作為控制核心,構(gòu)建了色氨酸蒸發(fā)溫度定值控制系統(tǒng)。采用大林算法改進(jìn)常規(guī)的PID控制算法,改善了溫度控制系統(tǒng)由于大滯后引起的超調(diào)量大和調(diào)節(jié)時(shí)間長的問題,加快了系統(tǒng)的響應(yīng)速度,提高了系統(tǒng)的穩(wěn)定性,且具有較強(qiáng)的抗干擾能力,在實(shí)際生產(chǎn)過程中有一定的參考意義。此外,為了進(jìn)一步提高大林控制器的實(shí)用性,在后期工作中還需要完成以下兩方面內(nèi)容,一是當(dāng)溫度對(duì)象模型的靜態(tài)增益、時(shí)間常數(shù)和滯后時(shí)間失配時(shí),探究大林控制器下系統(tǒng)溫度變化情況;二是針對(duì)大林控制器下系統(tǒng)響應(yīng)速度慢的問題,嘗試采用其他智能控制算法與大林算法相結(jié)合的方式,共同提高系統(tǒng)響應(yīng)速度。