鄧志光,呂 鑫,簡一帆,王雪梅,張 旭,陳明虎
(核反應堆系統設計技術重點實驗室,四川 成都 610213)
目前,核電站堆芯功率控制方法仍以比例積分微分(proportion integral differential,PID)算法為主。雖然PID控制具有相應的優點,但壓水堆堆芯具備非線性的特點,同時核反應堆既具有敏感控制性又有時變特性[1],故堆芯功率很難獲得有效的控制。因此,將其他控制方法應用于壓水堆堆芯,以實現堆芯功率的高效、準確控制是非常有必要的。
預測控制具備對模型要求低、魯棒性強等優點[2]。本文采用階梯式動態矩陣預測控制(steped dynamic matrix control,SDMC)方法對堆芯功率進行控制。SDMC基于被控對象的傳遞函數模型,通過預測模型、滾動優化和反饋校正,實時滾動式地向系統最優解逼近。SDMC以對象預測模型為基礎,對未來時刻的系統輸出進行預測。隨著時間遞推,不斷進行在線優化和反饋校正,可以很好地對運行過程中的擾動、不確定性和非線性進行控制,達到較好的控制效果。相比于其他預測控制方法,SDMC具有原理簡單、在線調試方便、求解約束時無需對矩陣求逆等優點。
高安全性應用開發(security-critical application development environment,SCADE)是一個高安全性的應用開發環境[3-6],通過其自動生成可直接面向工程的嵌入式C代碼,被廣泛用于各種安全性要求很高的實時嵌人式系統的開發,比如航天航空、汽車電子、核電控制等[7-9]。本文結合SDMC在控制性能以及SCADE在安全和實時性方面的優勢,通過圖形化模型搭建的方式,開發出了具備工程應用價值的軟件算法。通過在線實時仿真,驗證了算法的有效性和優越性。
SCADE作為一個模型驅動的的軟件開發平臺,其流程開發模型為Y型,整個算法開發過程均是以所搭建的模型為基礎進行開展。SCADE是以“基于模型、正確構造”為模型設計的理念,完整地覆蓋了嵌入式軟件開發的所有流程。以SCADE為開發平臺,在進行相應需求分析之后,便可以使用圖形化建模的方式來完成概要設計和詳細設計[10]。
SCADE的代碼生成器KCG以嚴格的數學語義為基礎,通過數學推理的方式來完成代碼的自動生成。因此生成的代碼完全符合規范,可直接面向嵌入式工程,不需要手工檢查和調整便可使用,同時具備很高的安全性,達到了航空/航天認證的D0178B標準[11]。
SCADE代碼自動生成流程如圖1所示。

圖1 SCADE代碼自動生成流程圖
以SCADE圖形化模型為基礎,進行高質量C代碼的自動生成轉換,具體分為如下兩個步驟。
①SCADE2Lustre:SCADE是基于模型驅動的開發軟件。因此,第一步是把以圖形塊形式描述的方程式、參數塊等轉換為中間語言-Lustre語言,隨后刪除圖形信息,并把多個文件模型整合為一個文件。
②Luster2C:將步驟①中以Luster語言描述的模型轉換成面向工程的嵌入式C代碼。
階梯式動態矩陣是在常規動態矩陣算法的基礎上,使用階梯式策略來求解控制率的預測控制算法。令:
Δui=δ,Δut+i=βΔut+i-1=βiδ1≤i≤M-1
(1)
式中:M為控制時域。
因此,未來時刻的控制序列變為:
ΔU=(ΔutΔut+1…Δut+M-1)=
(δβδ…βM-1δ)=(1β…βM-1)δ
(2)
由式(2)可以看出,控制量u呈階梯狀,變化穩定均衡,避免了控制率求解過程中涉及的矩陣求逆,簡化了計算量,提高了穩定性。同時,增加的約束符合實際工程控制的要求,所以更適用于工程應用[12]。
考慮如下目標函數:

(3)

DMC關于模型預測值的預測方程如下。
(4)
式中:Y0為預測初值,S為動態矩陣。
結合式(1)~式(4),階梯式預測控制算法等效動態矩陣如下:

(5)
式中:G為P×1的列向量。
所以,關于階梯式動態矩陣預測算法中式(4)的預測方程和式(3)的目標函數為:
(6)

λ(1+β2+…+β2(M-1))δ
(7)
(8)
階梯式動態矩陣預測控制算法搭建于SACDE中,核心圖形化模型包括SDMC和被控對象兩部分。SDMC包括矩陣初始化、控制率計算、約束處理三個部分。被控對象以離散化傳遞函數形式表示。
本文堆芯功率模型選用文獻[13]所建的堆芯狀態空間模型,如式(9)所示:

(9)

狀態空間變量、狀態空間輸出和狀態空間輸入為:
B=[0 0 0 0Gr]
C=[1 0 0 0 0]
D=[0]
式中:δn為中子密度與平衡位置的偏差,m-3;δc為先驅核濃度變化量,m-3;δTf、δT1、δρr分別為燃料平均溫度、冷卻劑出口溫度、控制棒移動所引入的反應性。
上述狀態空間模型轉化為傳遞函數模型并離散化:
(10)
壓水堆核電站仿真試驗系統數據如表1所示。

表1 壓水堆核電站仿真試驗系統數據
堆芯功率大范圍變工況仿真如圖2所示。

圖2 堆芯功率大范圍變工況仿真
本文根據預測控制在時域設置上的要求,經過反復調試,最終設定建模時域N為200,預測時域P為55,控制時域M為4,階梯因子β為1.2,λ為0.9。為驗證算法的可行性和有效性,通過在SCADE平臺上搭建控制器模型和堆芯功率被控對象模型,進行了大范圍變工況試驗。首先堆芯相對功率從1連續降為0.8、0.6、0.4、0.2,隨后反向上升。
由圖2可知,大范圍變負荷時,堆芯功率反饋值能很好地跟蹤設定值,控制量基本沒有超調,反饋值的超調保持在8%以內,完全滿足控制要求。這說明算法的控制品質良好。
為進一步驗證平臺算法的優越性,本文與文獻[12]中的PID和Fuzzy-PID算法進行了對比仿真試驗,結果如圖3所示。各仿真方案針對的是同一個堆芯功率模型,且處于同種工況之下,仿真時間也一致。

圖3 對比仿真試驗結果
表2中,各控制指標均針對堆芯功率,ITAE為時域范圍內衡量控制系統綜合性能的被控量時間與絕對值誤差積分,各項數據均為兩個變負荷階段的平均值。從表2中數據可以看出,結合單項指標和綜合指標,SDMC算法具備更優的控制效果。該結果也進一步驗證了基于SCADE平臺開發的SDMC軟件算法的有效性和優越性。
SDMC與PID和Fuzzy-PID控制效果對比如表2所示。

表2 SDMC、PID和Fuzzy-PID控制效果對比
以階梯式控制策略改進常規動態矩陣預測控制算法,簡化了計算量,優化了控制率求解;結合SCADE平臺,開發了SDMC算法。圖形化建模后,SCADE會自動生成相應的高安全C代碼。該算法有效降低了開發和驗證時間以及開發成本,提升了開發效率。通過與目前壓水堆核電站所普遍采用的PID以及Fuzzy-PID控制方法進行對比可知:本文所設計的SDMC算法能更好地控制堆芯功率,跟蹤負荷變化,具有更優的控制性能。這也進一步表明了算法的有效性以及此種開發模式的可行性,對于工程應用具有一定的參考價值。