張龍琴,周 鑫,林建東,曹玉波*
(1.吉林化工學院 信息與控制工程學院,吉林 吉林 132022;2.浙江中控技術股份有限公司 重點項目工程部,江蘇 無錫 214026)
在色氨酸蒸發工藝中,蒸發室溫度是影響產品質量的關鍵因素,控制溫度維持在設定范圍內,是保證蒸發系統高效、穩定運行的重要工作內容。由于溫度控制系統具有大滯后的特性,當蒸發器內溫度因更改設定值或出現干擾而發生變化時,常規PID控制算法難以及時地反饋蒸發器內溫度,短時間內產生較大偏差,導致控制過程出現較高頻次的震蕩和較大的超調量[1-3]。針對工業過程中含純滯后的被控對象,美國IBM公司的Dahlin早在1968年提出了大林算法,該算法可以有效減小純滯后控制系統的超調量,提高系統的工作性能[4]。本文以某企業色氨酸蒸發過程為例,將大林算法應用于溫度控制系統中,提高了蒸發器內溫度控制的穩定性和快速性,在仿真實驗中取得良好效果。
蒸發是指將含有不揮發性溶質的溶液加熱至沸騰,使得部分溶劑汽化并移除,從而提高溶質濃度的操作過程。在圖1所示的色氨酸蒸發溫度控制系統中,被控變量為蒸發器內溫度,控制變量為蒸汽調節閥UV101的開度。含大量水分的色氨酸原液由上端輸入口進入蒸發器與高壓蒸汽逆向接觸,其水分吸熱后由原來的液相變為氣相,同高壓蒸汽中的不凝性氣體結合為低壓蒸汽,從頂端輸出口引出,濃縮后的色氨酸溶液則匯聚在蒸發器底部,根據濃度情況連續或間歇排放。

圖1 色氨酸蒸發溫度控制系統工藝流程
在實際生產中,為了保證色氨酸蒸發過程的連續正常運行,蒸發器需要持續獲得色氨酸原液和高壓蒸汽的補充,并把滿足要求的色氨酸濃液輸送到后續工藝,使得蒸發器內的溫度始終處于一個變化狀態[5-7]。表現為色氨酸原液、濃液流量變化或者高、低壓蒸汽量變化,引起的蒸發器內溫度波動頻次高、幅度大等問題。當溫度超過上限時,蒸發器內液體飛濺,損壞蒸發裝置;當溫度低于下限時,蒸發速度變緩,產品質量不高。因此,實現溫度的定值控制,不僅是蒸發過程安全高效進行的重要保證,更是獲得優質產品的必要條件。
色氨酸蒸發溫度控制系統方塊圖如圖2所示。采用溫度傳感器實時檢測蒸發器內溫度TT101。經溫度變送器轉換為4~20 mA的標準電信號后,由模擬量輸入模塊采集進入PLC。根據設定溫度SP與實際溫度PV之間的偏差E(t),分別進行比例、積分和微分運算得到閥位控制信號M(t),以調節閥門的開度大小,進而改變高壓蒸汽的輸出量Qout(t)。最終實現蒸發器內溫度的定值控制。

圖2 溫度控制系統方塊圖
在工業生產過程中,當被控對象受純滯后影響較大時,采用常規PID控制器難以達到期望的性能指標,大林算法在一定程度上解決了這個問題。大林算法是一種針對具有純滯后被控對象的控制方法,該算法最大的特點是將期望的閉環系統傳遞函數等效為一階慣性加純滯后環節,反過來設計數字控制器[8-10]。
對于具有自平衡能力的溫度對象,其傳遞函數可采用帶有純滯后的一階慣性環節加以表述,如式(1)所示。
(1)
式中,K為溫度對象的靜態增益;T0為溫度對象的時間常數;τ為溫度對象的滯后時間。
引入常規PID控制器C(s)后形成閉環系統,其傳遞函數如式(2)所示。
(2)
通過觀察式(2)可知,閉環傳遞函數的特征方程中存在延遲環節e-τs,必然影響溫度系統的穩定性,使得其超調量增大,調節時間變長等。
為了提高閉環系統的穩定性,將常規PID控制算法改為大林算法。該算法的目標是設計出一個合適的控制器D(s),使得整個閉環系統的傳遞函數為帶滯后的一階慣性環節,且滯后時間與被控對象的滯后時間一致,如式(3)所示。
(3)
式中,φ(s)為期望的閉環傳遞函數;Tτ為閉環傳遞函數的時間常數。此時φ(s)的特征方程中不存在延遲環節e-τs,提高了系統的穩定性。
為了便于大林算法控制器的編程實現,需要獲得其差分方程,具體實現步驟如下。
色氨酸蒸發溫度控制系統采樣控制原理方塊圖如圖3所示,圖中r(t)為控制系統輸入;R(z)為與r(t)對應的離散輸入信號;y(t)為控制系統輸出;Y(z)為與y(t)對應的離散輸出信號;D(z)為被設計的數字控制器;H(s)為零階保持器;G0(s)為廣義被控對象傳遞函數;G(z)為廣義被控對象的脈沖傳遞函數;φ(z)為系統的閉環脈沖傳遞函數。

圖3 采樣控制原理方塊圖
采用帶有零階保持器的Z變換將式(1)離散化后,得到式(4)所示的脈沖傳遞函數表達式。
(4)
式中τ=NT,表示滯后時間τ為采樣周期T的N倍,且N∈R+。
式(3)利用帶有零階保持器的Z變換離散化后,可得式(5)所示的脈沖傳遞函數表達式。
(5)
由圖3可知,φ(z)、G0(z)以及D(z)的關系式,如式(6)所示。
(6)
式(6)變形后,可得大林控制器的脈沖傳遞函數D(z),如式(7)所示。
(7)
將式(4)和式(5)代入式(7),得到D(z)的具體表達形式,如式(8)所示。
(8)
為了簡化式(8)引入系數a0、a1、b0以及b1,簡化后的大林控制器的脈沖傳遞函數,如式(9)所示。
(9)

最后需要將式(9)差分化,以便計算機編程實現。差分化后的方程如式(10)所示。
u(k)=a0u(k-1)+a1u(k-N-1)+b0e(k)-b1e(k-1)。
(10)
式中u(k)為大林算法控制器當前時刻的輸出值,即調節閥的閥門開度。該值與上一時刻控制器的輸出值u(k-1)、N+1時刻控制器的輸出值u(k-N-1)、當前時刻溫度偏差值e(k)以及上一時刻溫度偏差值e(k-1)有關。
在色氨酸溫度系統工況穩定的情況下,進行開環測試,求取被控對象模型參數。測試時室溫為26 ℃,系統運行50 s后,給定30%的控制變量,此時PLC輸出8.8 mA的電流至調壓模塊,改變閥門開度,控制低壓蒸汽的進入量,從而調節蒸發系統溫度。通過觀察溫度階躍變化曲線,可得不同采樣時刻下的溫度值,如表1所示。

表1 色氨酸蒸發溫度變化數據
假定系統的階躍輸入為x,對溫度對象的傳遞函數進行拉氏反變換處理,可得式(11)所示的溫度系統階躍響應表達式。
(11)
若運行時間t足夠大,則靜態增益K可由系統階躍響應的穩態值T(∞)來確定。
(12)
在經典辨識方法中,兩點法是計算一階延遲系統的時間常數T0和滯后時間τ的常用方法。采集階躍響應曲線上的兩個觀測點t1,T(t1)和t2,T(t2),將其帶入表達式(11)得到方程組(13)。
(13)
通過求解上述方程組可知,式(14)所示的溫度對象模型的時間常數和滯后時間表達式。
(14)
兩個觀測點的選擇直接影響了模型參數的計算結果,當觀測點選擇不同時,模型參數會隨之變化。為了提高計算精度,可以選取特殊觀測點T(t1)=0.393T(∞)和T(t2)=0.632T(∞)的數據,此時有
(15)
通過分析階躍測試的響應曲線可知,穩態溫度的39.3%對應的T(t1)為48.82 ℃,t1為77 s;穩態溫度的63.2%對應的T(t2)為62.66 ℃,t2為134 s。由式(15)運算得T0=114 s,τ=20 s。
因此,基于系統階躍響應數據,采用一階延遲系統兩點法,最終確立的溫度對象模型如式(16)所示。
(16)
以大林算法的基本原理和被控對象的傳遞函數為依據,完成大林控制器的設計。系統期望輸出的閉環傳遞函數是與溫度對象具有相同延時的一階慣性環節,可設為
(17)
為了在PLC中完成大林算法程序的編寫,將溫度對象模型參數和目標傳遞函數參數代入式(10)中,經過運算,最終確立的大林控制器脈沖傳遞函數如式(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所示,主要包含偏差產生、控制器計算和結果輸出三部分。將蒸發器的設定溫度(SP_T)與實際溫度(PV_T)作差,可得偏差信號。當偏差信號處于死區區間(DEADB_W)時,死區非線性輸出為0,此時控制器的輸出值與上一時刻保持一致,直至偏差穿出死區區間,大林算法控制器重新計算出控制變量(D_out)。此外,為了避免控制器的輸出進入飽和狀態,需要將D_out限制在上限(D_out_HLM)與下限(D_out_LLM)之間。

圖4 大林算法控制程序流程圖
大林算法控制器基于蒸發器內的實際溫度與設定溫度之間的差值,完成運算后輸出閥位信號。由該信號調節高壓蒸汽的進入量,使得蒸發器溫度維持在設定范圍內。大林算法控制器的程序如圖5所示。

圖5 大林算法控制器程序
色氨酸蒸發溫度控制系統程序設計流程如圖6所示。

圖6 控制系統程序設計流程圖
在系統完成初始化后,循環采集蒸發器內的實際溫度信號PV。當溫度信號延遲N步后與設定溫度SP作差,得到偏差信號e(k)。再依據大林算法控制器的差分方程,編寫控制程序,輸出閥位信號u(k)。緊接著對偏差信號和閥位信號作賦值處理,以便下一輪的運算。最后判斷系統的采樣時間是否結束,若采樣時間未結束,則系統循環上述步驟,反之,系統結束循環。
色氨酸蒸發系統的溫度控制程序,由控制器程序和變量量程轉換程序組成。
控制器程序是基于大林算法實現的。在控制程序編寫完成后,點擊保存按鈕,SIMATIC Manager會自動封裝源程序,得到的FB1功能塊,并在項目窗口處顯示。FB1一方面可被其他程序調用,另一方面可作為通用模塊供給其他用戶使用。
對于變量量程轉換程序而言,通過調用STEP7提供的程序塊FC105“SCALE”和FC106“UNSCALE”,完成數字量與工程量之間的轉化。其中FC105把來自PIW256的溫度數字量信號,轉換為介于上限(地址DB2.DBD28)與下限(地址DB2.DBD32)之間的實際溫度值,并存儲在背景數據塊中(地址DB2.DBD4)。FC106的功能與FC105相反,它將控制器輸出的閥位信號轉換為0~27 648之間的數字量信號,經PQW272通道傳給AO模塊,再由AO模塊完成D/A轉換,輸出調節閥所需的電壓信號。最終調節閥的開度大小隨著電壓的高低發生變化,從而控制加熱蒸汽的進入量,保證蒸發器內溫度處于設定范圍內。色氨酸蒸發溫度控制系統主程序如圖7所示。

圖7 色氨酸蒸發溫度控制系統主程序
基于已知的溫度對象模型,建立西門子S7-300PLC與WinCC組態軟件之間的連接,進行色氨酸溫度控制回路仿真實驗。采用常規PID控制算法和大林算法控制下系統的溫度變化曲線如圖8所示,橫坐標表示響應時間,縱坐標表示實際的輸出溫度。

t/s
在系統工況穩定的情況下輸入階躍信號,色氨酸蒸發溫度控制系統先經歷20 s的滯后時間,隨后溫度逐漸上升,達到新的穩態值。為了模擬干擾信號對系統的影響,在仿真控制系統運行到260 s時,給定負向干擾信號,系統溫度則立即變化,并在控制器的調節下再次回到設定值。
由圖8所示的仿真曲線可知,當溫度的設定值改變或系統出現干擾時,兩種控制器作用下的響應曲線都能再次恢復到穩定狀態,但采用大林算法控制器的系統跟蹤響應速度更快,超調量更小,并且能夠及時糾正擾動產生的偏差。由表2兩種算法的時域性能指標分析可得,較常規PID控制算法,大林算法的上升時間縮短了42.28%,調節時間加快了37.50%,超調量降低了83.31%,使得系統整體的控制效果優于常規PID控制。

表2 兩種算法時域性能指標
以西門子S7-300系列 PLC作為控制核心,構建了色氨酸蒸發溫度定值控制系統。采用大林算法改進常規的PID控制算法,改善了溫度控制系統由于大滯后引起的超調量大和調節時間長的問題,加快了系統的響應速度,提高了系統的穩定性,且具有較強的抗干擾能力,在實際生產過程中有一定的參考意義。此外,為了進一步提高大林控制器的實用性,在后期工作中還需要完成以下兩方面內容,一是當溫度對象模型的靜態增益、時間常數和滯后時間失配時,探究大林控制器下系統溫度變化情況;二是針對大林控制器下系統響應速度慢的問題,嘗試采用其他智能控制算法與大林算法相結合的方式,共同提高系統響應速度。