百嘎利 李彩霞 劉文慧 吳江 王偉 孔維政



摘?要:循環流化床機組(Circulating Fluidized Bed)脫硫塔SO2濃度與當前運行狀況息息相關,但CFB機組是一個大慣性,大延遲,強耦合的對象,靠傳統建模很難精確地對其生濃度進行建模。但脫硫塔入口SO2濃度不會產生突變,故在分析SO2濃度影響因素的條件下,利用對時間序列處理能力較強的LSTM算法,對SO2濃度進行建模,有望對運行人員提供科學參考,改善脫硫效率及成本。
關鍵詞:CFB機組;SO2濃度;建模;LSTM算法
截至2018年,我國火力發電裝機容量達到110495萬千瓦,煤電裝機占總裝機容量的55%,達到98130萬千瓦[1]。如此巨大的裝機占比預示著未來很長一段時間內,我國發電的主力軍依然是燃煤發電。
近年來,國家對環保要求愈發嚴格,導致許多火電機組污染物排放不能達標,因此大部分機組都在煙氣尾部安裝脫硫裝置,以滿足國家制定的污染物排放標準。最初我國循環流化床機組主要方式是爐內脫硫,但已很難達到排放標準。為了節省建設成本,循環流化床尾部脫硫裝置往往容量有限,因此沿用了“爐內脫硫+爐外干濕法脫硫”的方式進行脫硫[2],即在爐內通過石灰石脫硫將煙氣SO2濃度控制在一定范圍內,上限一般在1500mg/m3~3000mg/m3范圍,再通過脫硫塔將SO2排放控制在超低排放的標準內。
但此方式存在諸多問題,最直觀的問題之一就是脫硫塔入口SO2濃度測點常常存在誤差,并偶爾會出現濃度計堵塞導致一定時間內SO2濃度不變的情況,影響運行人員操作石灰石給料機,最終可能引起短時間內SO2排放超標或者石灰石投入過量進而提高脫硫成本。若能建立起脫硫塔入口SO2生產模型,在測點出現問題時可以通過模型計算出脫硫塔入口SO2濃度大概范圍,則可以避免這一現象。但循環流化床鍋爐是一個大慣性,大延遲,強耦合的對象[3,4],尋常機理建模較為困難。亟需一種新的方法來對此對象進行建模。
隨著計算機發展,機器學習越來越多地運用在工業領域。本文通過RNN神經網絡改進算法之一的LSTM(長短期記憶)算法對SO2生成模型進行建模,能大致計算出當前SO2濃度值,可為運行人員提供指導。
一、CFB機組爐側SO2影響因素
這里以某330MW亞臨界CFB機組為例。該機組主要通過爐外濕法脫硫,脫硫塔設計值在3000mg/m3,當脫硫塔入口在2500mg/m3以下時,爐內不噴石灰石且在脫硫塔入口SO2濃度3000mg/m3以上較短一段時間內,爐外脫硫的設計仍能將SO2排放值控制在超低排放標準內。
為簡化SO2生產模型,在較短一段時間內,將煤質視為穩定,其含硫量變化不大,另外,由于爐內脫硫用的很少,截取的數據均為未用爐內脫硫的情況。
首先,SO2生成量與實際給煤量有關:
Vso2=kB-Vg
其中:VSO2——二氧化硫生成量;
B——燃燒的煤量;
k——煤中硫的質量分數;
Vg——未燃燒的固體硫。
這里存在的問題在于燃燒的煤量無法測算,但可以簡化為瞬時給煤量的一階延遲:
B=TBe-τs
其中:TB——瞬時給煤量;
τ——煤從給煤機到燃燒需要的時間。
圖1為SO2濃度與給煤量之間的關系,采樣時間為5s,時間長度為50min:
可以看到,雖然給煤越多,SO2生成量越多,但是生成的SO2濃度與給煤并無直接關系,這是因為SO2濃度是生成量與煙氣流量的比值。但SO2生成與一二次風比值有關,在作為LSTM算法的輸入量時為一次風量與二次風量。同時,一二次風量,給煤決定了氧量多少,氧量決定了爐膛內氧化還原性氣氛,也是二氧化硫生成的關鍵。下圖2為氧量與SO2濃度之間的關系,時間段與上圖1相同。
這里可以很明顯注意到,氧量變化趨勢與SO2濃度變化趨勢相反,且波峰波谷都超前SO2波谷波峰一段時間,因此,在LSTM算法輸入量中,氧量是很重要的一部分。
最后,SO2濃度雖然與上述幾個因素關系很大,但負荷是機組運行的基礎,此外,根據SO2生成原理[5],床溫、床壓[6]同樣也不可忽視。
二、基于LSTM的CFB機組SO2濃度模型
(一)模型輸入與輸出
基于上述分析,將機組負荷,給煤量,一次風量,二次風量,氧量,床溫,床壓作為輸入量,脫硫塔入口SO2濃度作為輸出量,模型如下:
為保證模型精度,所有輸入輸出均在matlab中做歸一化處理。
模型指標采用常用的均方根誤差(RMSE)與平均百分比誤差(MAPE):
RMSE=1m∑mi=1(yi-yi)∧2
MAPE=∑mi=1yi-y∧yi×100m
(二)模型訓練
訓練集中含20000組輸入輸出數據,采樣間隔為5S,時間長度約為28小時。LSTM模型中BATCH_SIZE為125,TIME_STEPS為160,兩者相乘要與訓練集的組數相同。輸入量為7維,輸出為1維,一層含10個神經元,學習速率為0.01,訓練步長為1200。訓練后,隨機選取600個連續時間采樣點(時間長度為50min)進行驗證,算法運行環境為Spyder(Python 3.6)得到如下圖形:
反歸一化后,得到訓練輸出的SO2濃度值與實際值的圖形如下:
模型值和實際值之間的均方根誤差RMSE為143.34mg/m3,這對動輒3000mg/m3左右的脫硫塔入口來說,在接受范圍之內。平均百分比誤差MAPE為4.06,未超過5%。兩個模型評價指標均證明了訓練模型的正確性。
(三)模型泛化
為了證明模型的泛化能力,在訓練集之外,需要另找數據進行模型運算,選取這些數據之前,需要用到之前一段時間的數據。比如,20000組數據的訓練集,當我們對600組數據進行測試時,需要采20600組數據,前20000組作為訓練,測試時,對第601組數據開始直到20600組數據均需要作為測試,但只有最后600組數據是在訓練集之外的測試集。這是因為訓練數據與測試數據維數需要保持一致,也是因為SO2濃度實際值跟前一時刻關系很大,其濃度不可能產生突變,這也是使用LSTM能夠較好的利用好前一時刻的數據進行下一時刻數據建模的原因,此做法也能較好地提升模型正確性。在訓練集之外,另外600點測試集的圖形如下: