王印松,郭邁豪,翁 疆
(1. 華北電力大學自動化系,河北 保定 071003;2. 福建華電電力工程有限公司,福建 福州 350002)
近年來,超臨界機組已逐漸成為火電廠主力機組。相比于傳統(tǒng)機組,超臨界機組能耗率低,經(jīng)濟性高,污染物排放量少。提升變工況下過熱蒸汽溫度控制性能,對于超臨界機組安全經(jīng)濟運行有重要意義。由于超臨界機組沒有汽包作為緩沖,汽溫對象有著很強的非線性、大慣性和時滯性,同時在深度調(diào)峰時汽溫對象動態(tài)特性變化大,難以求取精確模型,常規(guī)串級PID很難取得較好控制效果。
國內(nèi)外學者對大慣性、非線性、時變性對象的控制算法大概可以分為兩類:
1)基于數(shù)學模型的控制方法,該方法發(fā)展較為成熟。文獻[1]提出了一種將部分smith預估校正與經(jīng)典級聯(lián)PID控制相結合的方法。文獻[2]基于內(nèi)??刂圃恚槍φ羝仩t等大型時滯系統(tǒng),開發(fā)了一種二自由度分析型PID控制器。文獻[3]先通過最小二乘遞歸算法識別出對象模型,再根據(jù)識別的參數(shù)和預期的極點來設計控制器參數(shù)。上述改進控制方法都依賴精確模型,建模誤差會嚴重降低控制效果。文獻[4]采用改進的粒子群算法設計了分數(shù)階PID控制器并將其應用到過熱蒸汽溫度控制系統(tǒng),分數(shù)階PID控制器在魯棒性方面表現(xiàn)更好,但是該控制器的參數(shù)調(diào)整較難。文獻[5]提出一種基于RBF神經(jīng)網(wǎng)絡的自適應控制方法來解決溫度電阻爐的控制問題,神經(jīng)網(wǎng)絡算法具有良好的控制效果,但是學習成本過高且易陷入局部最優(yōu)情況。此外預測控制算法[6-8]也得到了廣泛研究,文獻[7]設計了一種具有自適應遺忘因子的廣義預測控制算法。預測控制可以解決對象的大慣性問題,但當對象的特性變化時,無法及時修改預測模型以及調(diào)整控制器參數(shù)。
2)基于數(shù)據(jù)驅動的控制方法,該方法能夠利用在線、離線數(shù)據(jù)實現(xiàn)生產(chǎn)過程的優(yōu)化控制[9]。文獻[10]針對非線性系統(tǒng)提出了一種數(shù)據(jù)驅動控制算法,該算法通過改進KNN算法,從包含歷史輸入輸出信息的數(shù)據(jù)庫中選出最貼切當前狀態(tài)的數(shù)據(jù)信息,并通過加權預測得到PID參數(shù);最后,采用梯度法離線更新數(shù)據(jù)庫。文獻[11]在文獻[10]的基礎上進行改進,提出將擴展的虛擬參考迭代調(diào)整算法作為數(shù)據(jù)庫的更新算法。文獻[12]在文獻[11]的基礎上進行改進,優(yōu)化了參考模型的選取方法,將該方法應用于化工過程中儲罐系統(tǒng)的溫度控制,并得到了良好的控制效果。這類數(shù)據(jù)驅動控制方法能很好的處理大慣性、非線性對象的控制問題,但是在機組變工況時,并不能在線及時調(diào)整控制器參數(shù)。同時這類方法沒有考慮到如何更好的挖掘到最佳控制器參數(shù)以及優(yōu)化數(shù)據(jù)庫以保證算法效率。
本文針對上述問題,為了提高超臨界機組變工況下的過熱蒸汽溫度控制性能,提出了如下改進:
1)改進KNN算法距離公式,綜合距離度量與相似度度量;
2)使用梯度下降法優(yōu)化算法之一的AdaGrad算法代替最速下降法,該算法通過優(yōu)化步長能更好的接近最佳控制器參數(shù);
3)將數(shù)據(jù)庫離線更新改為在線更新,能更好的控制變工況下具有時變性的汽溫對象。同時優(yōu)化了數(shù)據(jù)庫更新策略,提高了搜索效率與參數(shù)預測準確度。
假設給定的非線性系統(tǒng)表示為
y(t)=f(y(t-1),…,y(t-ny),
…,u(t-1),…,u(t-nu))
(1)
其中,y(t)是系統(tǒng)輸出,u(t)是控制器輸出,f(·)表示某非線性函數(shù),nu與ny分別表示系統(tǒng)控制器輸出的階次與系統(tǒng)輸出階次。假設在采樣(t+1)時刻,輸出等于輸入,則u(t)如式(2)所示。
u(t)=g(r(t+1),y(t),…,y(t-ny+1),
…,u(t-1),…,u(t-nu+1))
(2)
其中g(·)表示某非線性函數(shù)。為了防止參考信號發(fā)生改變時帶來的比例沖擊與微分沖擊,在控制回路中采用的PID控制器為I-PD控制器[12]。因控制器參數(shù)隨時間變化,Δu(t)如式(3)所示
Δu(t)=KI(t)e(t)-KP(t)Δy(t)-KDΔ2y(t)
(3)
其中e(t)為系統(tǒng)輸出誤差,如式(4)所示
e(t)=r(t)-y(t)
(4)
式(3)中,KP(t)為比例增益,KI(t)為積分增益,Kd(t)為微分增益。r(t)表示參考信號。由式(3)可將控制器參數(shù)向量定義為式(5)
(5)
結合(2)(3)(5)式,控制器參數(shù)向量與輸入輸出時間序列之間的關系如式(6)所示
θ(t)=h(H(t))
H(t)=(r(t+1),r(t),y(t),…,y(t-ny+1),
…,u(t-1),…,u(t-nu+1))
(6)
其中h(·)表示某非線性函數(shù),ny≥3,nu≥2。H(t)稱為信息向量,與t時刻的控制器參數(shù)向量θ(t)有一對一的關系。數(shù)據(jù)庫中數(shù)據(jù)向量包含信息向量與控制器參數(shù)向量。
生成初始數(shù)據(jù)庫后,對于當前時刻的輸入輸出序列構成的目標信息向量,利用KNN算法從數(shù)據(jù)庫中尋找K個距離最近的歷史信息向量。為了挖掘出更相似的歷史信息向量,距離公式采用基于歐式距離與余弦相似度的組合距離公式[13]。n維空間中向量A(x1,x2,…,xn)與向量B(y1,y2,…,yn)之間的組合距離如式(7)所示
D(A,B)=β·exp(d(A,B))+(1-β)·cos∠(A,B)
(7)
其中d(A,B)為向量A與B之間的歐式距離,cos∠(A,B)為兩向量之間的余弦相似度。β為權重系數(shù),β∈(0,1)。d(A,B)大于0時,exp(d(A,B))∈(0,1),且cos∠(A,B)∈(0,1),因此D(A,B)∈(0,1)。向量A和向量B越相似,d(A,B)越小,exp(d(A,B))越大,且cos∠(A,B)越大。因此向量A和向量B越相似,其組合距離D(A,B)越大[13]。
t時刻時,K個近鄰信息向量降序排列,第i個信息向量h(i)對應的權重為
(8)
通過K個近鄰信息向量所對應的控制器參數(shù)向量加權預估,得到當前時刻控制器參數(shù)向量為
(9)
初始數(shù)據(jù)庫中的控制器參數(shù)向量都是由固定PID產(chǎn)生,由預估控制器參數(shù)過程得到的參數(shù)向量也是固定的,因此需要以離線或在線的方式來更新數(shù)據(jù)庫[12]。同時,通過KNN算法得到的控制器參數(shù)θold(t)很難滿足系統(tǒng)的性能需求,需要對預估得到的θold(t)進行優(yōu)化得到θnew(t)[13]。
在線虛擬參考迭代整定算法(FRIT)如圖1所示。
圖1 在線虛擬參考迭代整定框圖
C(θ(t),z-1)=c0(t)+c1(t)z-1+…+cn(t)z-n
(10)
(11)
FRIT法需要先設計一個具有所需屬性的參考模型Gm(z-1),并將t時刻的參考模型輸出定義為yr(t)。該方法通過最速下降法在線優(yōu)化控制器參數(shù),使得性能指標JFRIT(t)趨于0。JFRIT(t)的標準形式及優(yōu)化后的θnew(t)為:
(12)
(13)
直接用優(yōu)化后的控制器參數(shù)θnew(t)來計算控制器輸出u(t),易發(fā)生控制參數(shù)突變,導致系統(tǒng)出現(xiàn)嚴重振蕩[13]。一般用θold(t)來計算控制器輸出u(t),在計算時將θold(t)視為θ(t),最后將θold(t)賦值給數(shù)據(jù)庫中的θ(t-1)。將優(yōu)化后的參數(shù)θnew(t)作為最終的θ(t)送入數(shù)據(jù)庫中。式(13)又可以表示為
(14)
在FRIT法中,性能指標僅考慮了誤差最小化,在強調(diào)閉環(huán)系統(tǒng)穩(wěn)定性的工業(yè)過程中不夠實用。為了避免過多的控制器輸出變化或不穩(wěn)定性,可采用文獻[11]中的擴展虛擬參考迭代整定算法(EFRIT),通過在性能指標中加入控制器輸出變化量的懲罰項來提升控制性能。在EFRIT方法中,標準性能指標J(t)為
(15)
ε(t)=y(t)-yr(t)
(16)
(17)
式(15)中λ為權重系數(shù),fs為縮放系數(shù)。fs的計算公式為
(18)
式(12)、(16)中的參考模型輸出yr(t)計算過程為
(19)
(20)
P(z-1)=1+p1z-1+p2z-2
(21)
(22)
式(22)中,Ts表示采樣時間,σ表示被控對象階躍響應實驗中的上升時間,δ表示阻尼比,取值范圍為0≤δ≤2.0。式(15)中J(t)對PID參數(shù)分別求偏導
(23)
其中X(t)表示為
X(t)=Δu(t)+KP(t)Δy(t)+KD(t)Δ2y(t)
(24)
通過式(23)可利用最速下降法計算θnew(t),但是在最速下降法中學習速率η是固定的,η設置過大或者過小都可能錯過最優(yōu)參數(shù)。AdaGrad算法通過動態(tài)更新學習速率,在接近最優(yōu)參數(shù)的過程中不斷減緩收斂速度,用公式表示為
(25)
(26)
其中γ為梯度積累變量,ρ為一極小數(shù)。在計算出θ(t)后,將其與信息向量H(t)構成的數(shù)據(jù)向量放入數(shù)據(jù)庫中,用于下一時刻的數(shù)據(jù)庫挑選近鄰信息向量與加權參數(shù)向量。
僅通過添加數(shù)據(jù)來更新數(shù)據(jù)庫會導致數(shù)據(jù)庫容量龐大,影響搜索效率;同時過于久遠的數(shù)據(jù)會影響到PID參數(shù)預測準確度。因此需要進行數(shù)據(jù)庫同步更新策略[14]:
步驟一:在數(shù)據(jù)庫中,挑選出除了K個近鄰信息向量外的距離當前時刻信息向量小于α1的所有歷史信息向量,找到它們對應的參數(shù)向量中與當前時刻參數(shù)向量距離最小的參數(shù)向量,判斷其距離是否小于數(shù)α2,若小于α2,則說明該參數(shù)向量過于相似當前時刻參數(shù)向量,可以刪去其對應的數(shù)據(jù)向量,實現(xiàn)數(shù)據(jù)庫更新。判斷j時刻參數(shù)向量與t時刻參數(shù)向量之間距離的公式如式(27)所示。
(27)
步驟二:經(jīng)過步驟一的篩選,并不能保證每一時刻都有數(shù)據(jù)向量從數(shù)據(jù)庫中除去,而隨著當前時刻的數(shù)據(jù)向量不斷加入數(shù)據(jù)庫,數(shù)據(jù)庫會愈發(fā)龐大。因此需要給數(shù)據(jù)庫設置容量上限,當數(shù)據(jù)庫容量超過上限時,刪去離當前時刻最遠的數(shù)據(jù)向量,保證數(shù)據(jù)庫容量不超過上限。
綜合第2節(jié)和第3節(jié),基于EFRIT的數(shù)據(jù)驅動控制過程如圖2所示。
圖2 數(shù)據(jù)驅動控制過程
在電廠實際運行中,噴水減溫對象有大慣性與時滯性,一般是采用串級PID控制,將噴水減溫器后導前汽溫作為副回路反饋信號進行提前調(diào)節(jié)??刂七^程如圖3所示,Wj是噴水減溫流量,θd是導前蒸汽溫度,θs是過熱蒸汽溫度。在過熱汽溫控制過程中,主調(diào)節(jié)器采用固定PID控制器,副調(diào)節(jié)器采用P控制器。
圖3 過熱蒸汽溫度串級PID控制過程
選擇某容量為600 MW的超臨界鍋爐的典型工況作為測試對象,四種典型工況下的傳遞函數(shù)如表1所示[15]。
表1 過熱蒸汽溫度動態(tài)模型
文獻[15]中,37%工況下,副調(diào)節(jié)器為KP=0.3的比例控制器。由于副回路是快速回路,通過實驗,可以將四種工況下的副回路都簡化為K=0.6的比例環(huán)節(jié)。75%工況下,通過經(jīng)驗法整定PID參數(shù)為:KP=0.5,KI=0.01,KD=10。在其它工況下,采用該組控制器參數(shù)同樣能使過熱汽溫穩(wěn)定,但是控制性能有所下降。
超臨界機組的金屬蓄熱量較大,當設定值變化時,過熱蒸汽溫度動態(tài)響應較慢,調(diào)節(jié)時間過長[16]。同時,過熱汽溫是復雜的時變對象,在深度調(diào)峰的要求下,隨著負荷的大范圍變化,過熱汽溫對象也會發(fā)生變化,固定參數(shù)PID的控制效果不理想。因此重新設計主調(diào)節(jié)器,在不同工況下,分別比較常規(guī)PID、基于FRIT的數(shù)據(jù)驅動PID(FRIT-DDPID)、基于EFRIT的數(shù)據(jù)驅動PID(EFRIT-DDPID)的控制效果。
75%工況下,數(shù)據(jù)驅動PID算法中的一些基礎參數(shù)取值如表2所示。
表2 數(shù)據(jù)驅動控制中的基礎參數(shù)
75%工況下,在設定值r(t)的作用下,三種控制算法得到的系統(tǒng)輸出、控制器輸出變化量和EFRIT-PID參數(shù)變化過程如圖4、圖5和圖6所示。
圖4 75%工況下系統(tǒng)輸出
圖5 75%工況下控制器輸出變化量
圖6 75%工況下EFRIT-DDPID參數(shù)
在由經(jīng)驗法得到的75%工況最佳控制器參數(shù)作用下,常規(guī)PID能取得較好的控制效果。EFRIT-DDPID的控制性能略好于常規(guī)PID及FRIT-DDPID,具體表現(xiàn)在圖4中系統(tǒng)輸出超調(diào)量更小且更快達到穩(wěn)定。
深度調(diào)峰時,工況在100%到50%之間大范圍變化。保持控制器初始參數(shù)不變,工況從75%升至100%,在設定值r(t)作用下,三種控制算法得到的系統(tǒng)輸出、控制器輸出變化量和EFRIT-PID參數(shù)變化過程如圖7、圖8和圖9所示。
圖7 100%工況下系統(tǒng)輸出
圖8 100%工況下控制器輸出變化量
圖9 100%工況下EFRIT-DDPID參數(shù)
結合圖7和圖8可知,當負荷大幅度上升時,常規(guī)PID控制下的穩(wěn)定時間過長,控制性能較差。與常規(guī)PID和FRIT-PID相比,EFRIT-PID能夠快速作用,及時開大或關小減溫水閥門,縮短了過熱汽溫穩(wěn)定時間,提高了調(diào)節(jié)快速性。
保持控制器初始參數(shù)不變,工況從75%降至50%,在設定值r(t)的作用下,三種控制算法得到的系統(tǒng)輸出、控制器輸出變化量和EFRIT-PID參數(shù)變化過程如圖10、圖11和圖12所示。
圖10 50%工況下系統(tǒng)輸出
圖11 50%工況下控制器輸出變化量
圖12 50%工況下EFRIT-DDPID參數(shù)
結合圖10及圖11可知,當負荷大幅下降時,常規(guī)PID控制下的超調(diào)過大,系統(tǒng)輸出發(fā)生振蕩,控制性能較差。與常規(guī)PID相比,EFRIT-PID能夠更好地抑制噴水減溫閥門的大幅度變化,使控制器輸出變化更為緩和,減小了系統(tǒng)輸出超調(diào)量,提升了系統(tǒng)穩(wěn)定性。與FRIT-PID相比,EFRIT-PID控制下的控制器輸出響應更快,不至于過多抑制噴水減溫閥門的變化,提升了系統(tǒng)快速性。
本文改進了一種具有數(shù)據(jù)庫更新算法的數(shù)據(jù)驅動控制策略,數(shù)據(jù)庫更新算法采用擴展虛擬參考迭代整定算法以及同步更新策略,并將該控制策略用于超臨界機組過熱汽溫串級控制回路。通過與常規(guī)串級PID控制、基于FRIT的數(shù)據(jù)驅動控制比較,機組變工況時,改進的數(shù)據(jù)驅動控制器具有更好的魯棒性。當大幅升負荷導致系統(tǒng)輸出穩(wěn)定時間過長時,改進的數(shù)據(jù)驅動控制器能夠快速調(diào)節(jié)噴水減溫閥,提升系統(tǒng)快速性;當大幅降負荷導致系統(tǒng)輸出振蕩時,改進的數(shù)據(jù)驅動控制器能夠及時抑制噴水減溫閥門的大幅度變化,使控制器輸出變化更為緩和,提升了系統(tǒng)穩(wěn)定性。同時該控制算法簡單,具有一定的通用性,且不依賴對象建模的精確度,對超臨界火電機組過熱汽溫控制系統(tǒng)的設計具有借鑒意義。