鄧志光,呂 鑫,簡一帆,王雪梅,張 旭,陳明虎
(核反應(yīng)堆系統(tǒng)設(shè)計技術(shù)重點(diǎn)實(shí)驗(yàn)室,四川 成都 610213)
目前,核電站堆芯功率控制方法仍以比例積分微分(proportion integral differential,PID)算法為主。雖然PID控制具有相應(yīng)的優(yōu)點(diǎn),但壓水堆堆芯具備非線性的特點(diǎn),同時核反應(yīng)堆既具有敏感控制性又有時變特性[1],故堆芯功率很難獲得有效的控制。因此,將其他控制方法應(yīng)用于壓水堆堆芯,以實(shí)現(xiàn)堆芯功率的高效、準(zhǔn)確控制是非常有必要的。
預(yù)測控制具備對模型要求低、魯棒性強(qiáng)等優(yōu)點(diǎn)[2]。本文采用階梯式動態(tài)矩陣預(yù)測控制(steped dynamic matrix control,SDMC)方法對堆芯功率進(jìn)行控制。SDMC基于被控對象的傳遞函數(shù)模型,通過預(yù)測模型、滾動優(yōu)化和反饋校正,實(shí)時滾動式地向系統(tǒng)最優(yōu)解逼近。SDMC以對象預(yù)測模型為基礎(chǔ),對未來時刻的系統(tǒng)輸出進(jìn)行預(yù)測。隨著時間遞推,不斷進(jìn)行在線優(yōu)化和反饋校正,可以很好地對運(yùn)行過程中的擾動、不確定性和非線性進(jìn)行控制,達(dá)到較好的控制效果。相比于其他預(yù)測控制方法,SDMC具有原理簡單、在線調(diào)試方便、求解約束時無需對矩陣求逆等優(yōu)點(diǎn)。
高安全性應(yīng)用開發(fā)(security-critical application development environment,SCADE)是一個高安全性的應(yīng)用開發(fā)環(huán)境[3-6],通過其自動生成可直接面向工程的嵌入式C代碼,被廣泛用于各種安全性要求很高的實(shí)時嵌人式系統(tǒng)的開發(fā),比如航天航空、汽車電子、核電控制等[7-9]。本文結(jié)合SDMC在控制性能以及SCADE在安全和實(shí)時性方面的優(yōu)勢,通過圖形化模型搭建的方式,開發(fā)出了具備工程應(yīng)用價值的軟件算法。通過在線實(shí)時仿真,驗(yàn)證了算法的有效性和優(yōu)越性。
SCADE作為一個模型驅(qū)動的的軟件開發(fā)平臺,其流程開發(fā)模型為Y型,整個算法開發(fā)過程均是以所搭建的模型為基礎(chǔ)進(jìn)行開展。SCADE是以“基于模型、正確構(gòu)造”為模型設(shè)計的理念,完整地覆蓋了嵌入式軟件開發(fā)的所有流程。以SCADE為開發(fā)平臺,在進(jìn)行相應(yīng)需求分析之后,便可以使用圖形化建模的方式來完成概要設(shè)計和詳細(xì)設(shè)計[10]。
SCADE的代碼生成器KCG以嚴(yán)格的數(shù)學(xué)語義為基礎(chǔ),通過數(shù)學(xué)推理的方式來完成代碼的自動生成。因此生成的代碼完全符合規(guī)范,可直接面向嵌入式工程,不需要手工檢查和調(diào)整便可使用,同時具備很高的安全性,達(dá)到了航空/航天認(rèn)證的D0178B標(biāo)準(zhǔn)[11]。
SCADE代碼自動生成流程如圖1所示。
圖1 SCADE代碼自動生成流程圖
以SCADE圖形化模型為基礎(chǔ),進(jìn)行高質(zhì)量C代碼的自動生成轉(zhuǎn)換,具體分為如下兩個步驟。
①SCADE2Lustre:SCADE是基于模型驅(qū)動的開發(fā)軟件。因此,第一步是把以圖形塊形式描述的方程式、參數(shù)塊等轉(zhuǎn)換為中間語言-Lustre語言,隨后刪除圖形信息,并把多個文件模型整合為一個文件。
②Luster2C:將步驟①中以Luster語言描述的模型轉(zhuǎn)換成面向工程的嵌入式C代碼。
階梯式動態(tài)矩陣是在常規(guī)動態(tài)矩陣算法的基礎(chǔ)上,使用階梯式策略來求解控制率的預(yù)測控制算法。令:
Δui=δ,Δut+i=βΔut+i-1=βiδ1≤i≤M-1
(1)
式中:M為控制時域。
因此,未來時刻的控制序列變?yōu)椋?/p>
ΔU=(ΔutΔut+1…Δut+M-1)=
(δβδ…βM-1δ)=(1β…βM-1)δ
(2)
由式(2)可以看出,控制量u呈階梯狀,變化穩(wěn)定均衡,避免了控制率求解過程中涉及的矩陣求逆,簡化了計算量,提高了穩(wěn)定性。同時,增加的約束符合實(shí)際工程控制的要求,所以更適用于工程應(yīng)用[12]。
考慮如下目標(biāo)函數(shù):
(3)
DMC關(guān)于模型預(yù)測值的預(yù)測方程如下。
(4)
式中:Y0為預(yù)測初值,S為動態(tài)矩陣。
結(jié)合式(1)~式(4),階梯式預(yù)測控制算法等效動態(tài)矩陣如下:
(5)
式中:G為P×1的列向量。
所以,關(guān)于階梯式動態(tài)矩陣預(yù)測算法中式(4)的預(yù)測方程和式(3)的目標(biāo)函數(shù)為:
(6)
λ(1+β2+…+β2(M-1))δ
(7)
(8)
階梯式動態(tài)矩陣預(yù)測控制算法搭建于SACDE中,核心圖形化模型包括SDMC和被控對象兩部分。SDMC包括矩陣初始化、控制率計算、約束處理三個部分。被控對象以離散化傳遞函數(shù)形式表示。
本文堆芯功率模型選用文獻(xiàn)[13]所建的堆芯狀態(tài)空間模型,如式(9)所示:
(9)
狀態(tài)空間變量、狀態(tài)空間輸出和狀態(tài)空間輸入為:
B=[0 0 0 0Gr]
C=[1 0 0 0 0]
D=[0]
式中:δn為中子密度與平衡位置的偏差,m-3;δc為先驅(qū)核濃度變化量,m-3;δTf、δT1、δρr分別為燃料平均溫度、冷卻劑出口溫度、控制棒移動所引入的反應(yīng)性。
上述狀態(tài)空間模型轉(zhuǎn)化為傳遞函數(shù)模型并離散化:
(10)
壓水堆核電站仿真試驗(yàn)系統(tǒng)數(shù)據(jù)如表1所示。
表1 壓水堆核電站仿真試驗(yàn)系統(tǒng)數(shù)據(jù)
堆芯功率大范圍變工況仿真如圖2所示。
圖2 堆芯功率大范圍變工況仿真
本文根據(jù)預(yù)測控制在時域設(shè)置上的要求,經(jīng)過反復(fù)調(diào)試,最終設(shè)定建模時域N為200,預(yù)測時域P為55,控制時域M為4,階梯因子β為1.2,λ為0.9。為驗(yàn)證算法的可行性和有效性,通過在SCADE平臺上搭建控制器模型和堆芯功率被控對象模型,進(jìn)行了大范圍變工況試驗(yàn)。首先堆芯相對功率從1連續(xù)降為0.8、0.6、0.4、0.2,隨后反向上升。
由圖2可知,大范圍變負(fù)荷時,堆芯功率反饋值能很好地跟蹤設(shè)定值,控制量基本沒有超調(diào),反饋值的超調(diào)保持在8%以內(nèi),完全滿足控制要求。這說明算法的控制品質(zhì)良好。
為進(jìn)一步驗(yàn)證平臺算法的優(yōu)越性,本文與文獻(xiàn)[12]中的PID和Fuzzy-PID算法進(jìn)行了對比仿真試驗(yàn),結(jié)果如圖3所示。各仿真方案針對的是同一個堆芯功率模型,且處于同種工況之下,仿真時間也一致。
圖3 對比仿真試驗(yàn)結(jié)果
表2中,各控制指標(biāo)均針對堆芯功率,ITAE為時域范圍內(nèi)衡量控制系統(tǒng)綜合性能的被控量時間與絕對值誤差積分,各項數(shù)據(jù)均為兩個變負(fù)荷階段的平均值。從表2中數(shù)據(jù)可以看出,結(jié)合單項指標(biāo)和綜合指標(biāo),SDMC算法具備更優(yōu)的控制效果。該結(jié)果也進(jìn)一步驗(yàn)證了基于SCADE平臺開發(fā)的SDMC軟件算法的有效性和優(yōu)越性。
SDMC與PID和Fuzzy-PID控制效果對比如表2所示。
表2 SDMC、PID和Fuzzy-PID控制效果對比
以階梯式控制策略改進(jìn)常規(guī)動態(tài)矩陣預(yù)測控制算法,簡化了計算量,優(yōu)化了控制率求解;結(jié)合SCADE平臺,開發(fā)了SDMC算法。圖形化建模后,SCADE會自動生成相應(yīng)的高安全C代碼。該算法有效降低了開發(fā)和驗(yàn)證時間以及開發(fā)成本,提升了開發(fā)效率。通過與目前壓水堆核電站所普遍采用的PID以及Fuzzy-PID控制方法進(jìn)行對比可知:本文所設(shè)計的SDMC算法能更好地控制堆芯功率,跟蹤負(fù)荷變化,具有更優(yōu)的控制性能。這也進(jìn)一步表明了算法的有效性以及此種開發(fā)模式的可行性,對于工程應(yīng)用具有一定的參考價值。