羅雄麟 左瑞香 許 鋒
(中國石油大學自動化研究所,北京 102249)
化工工業生產的復雜性要求工程師對化工過程進行實時監控。通常在生產過程還未達到穩態就又有了新的輸入變化,導致輸入變量的持續動態變化,將這種輸入變量不斷切換變化的控制方式稱為化工切換控制。對于化工過程切換控制的仿真稱之為化工切換控制仿真。不同于系統達到穩態后才可以改變輸入變量或子系統的傳統切換控制,化工切換控制的切換點為非穩態點,切換點左導數不為0(只有切換點為穩態點時,切換點左導數才為0)。例如文獻[1~3]中無論是升溫過程的多模控制、大時滯化工過程的控制方案切換控制還是冷凝器的工況切換控制,在發生切換時系統均未達到穩態。
通過對實際化工切換控制的研究發現,由于控制系統的非線性及響應延遲等特性,使得系統控制量發生變化時系統的響應輸出并未立即發生變化,而是有一段延遲,使得響應曲線在切換點處連續、平滑。因此,響應曲線上切換點處不但要求函數連續,而且各階導數也應連續。而在現有的切換控制仿真中,無論是優化計算最優切換時間點[4~7]還是控制方法的應用仿真[8,9],都只考慮了切換前后狀態相同——函數連續性,忽略了切換點的導數連續性,一般誤認為是左導數為0,即初始斜率為0,導致錯誤的研究結果。
筆者提出一種新的化工切換控制仿真算法,在切換點處不僅考慮子系統的函數連續性,還考慮了導數的連續性,將前一子系統的末端狀態和末端斜率作為下一子系統的初始狀態和初始斜率,保證切換點處的連續性。通過實例仿真發現,在引入導數連續性的化工切換控制仿真算法后切換控制曲線在切換點處緩和、平滑,提高了化工切換控制仿真結果的精確度和曲線的逼真性。
在化工過程中由于生產或工藝的要求在修改輸入變量值時系統通常還未達到穩態。將這種未達到穩態就先行切換的方式稱之為動態切換,反之,將處于穩態情況下的切換稱之為穩態切換。在圖1所示的切換方式中,A點為穩態點,B、C為非穩態點。

圖1 化工過程切換分析

定義1 化工切換控制中,在切換點t處,要求系統狀態滿足x(t+)=x(t-)=x(t),即系統狀態在t處的左極限等于右極限,這里將其定義為切換點的函數連續性。

設化工切換控制系統為:
(1)
其中,子系統微分方程fj=Ajx(t)+Bju(t),j=1,2,…,N。其中N為子系統個數;u為常量或變量,u=[u1,u2,…,uN];t=[t0,t1,…,tN]。步長h=(tj-tj-1)/n,n為運算步數。令N=3,切換時刻分別為t1、t2。基于以上兩個定義分步遞推化工切換控制算法。遞推算法中Mj,i(j=1,2,…,N;i=0,1,2,…,n)表示第j個子系統中化工切換仿真算法第i步對應的變量M的值。
當t0≤t≤t1時。初始時刻t=t0,初始狀態x(t0)=x0,執行以下化工切換控制遞推算法:




整理以上每個子系統遞推算法可知,化工切換控制算法在j=1時與普通仿真算法無異:
(2)

(3)
同理可以得到三階、四階化工切換控制算法。
目前,基于控制量(例如Bang-Bang控制)或基于子系統的切換控制采用傳統的數值仿真算法,只考慮了定義1[3~6]而忽略了定義2的重要性。為方便分析筆者提出的化工切換控制仿真算法和傳統切換控制仿真算法的區別,引入二階Runge-Kutta遞推公式[10]:
(4)


圖2 化工切換控制仿真與RK算法仿真
范德波爾方程[4~7](van der Pol equation)為:
初始狀態x0=[1 1],u在-1和+1之間切換,u={-1,1,-1,…},達到末端狀態xT=[0 0]。采用四階化工切換控制仿真算法,步長h=0.1。參照kaya的最優切換時間段計算方法得,切換次數N=1時的最優切換駐留時間向量為[0.68349 2.40806],N=2時最優駐留時間向量為[0.70949 2.69502 0.53937]。圖3為范德波爾方程在化工切換控制算法和普通RK法下從x0到xT的狀態圖。

圖3 系統切換控制狀態
以文獻[11,12]中的3個子系統切換為例,子系統狀態方程分別為:
其中,t0=0,tf=3,初始狀態x0=[4 4]。依據文獻選取兩組切換控制方式:t1=1,t2=2,u=0.5;t1=0.59395,t2=2.78328,u=0,兩種方法的切換控制狀態如圖4所示。
由圖3、4可以看出,無論是控制量切換還是子系統切換,基于化工切換算法思想的切換控制仿真得到的系統狀態曲線在切換點處切換相對平滑;而傳統切換算法下系統曲線在切換點處,切換陡峭,有尖角出現,不符合實際應用中切換控制的特性,且兩者的結果差值均在30%以上。

圖4 基于子系統切換的狀態
以Henson和Seborg的串級連續攪拌釜式反應器(CSTR)為例進行仿真。假設系統完全混合并且物理參數是常值,這一過程有一個混合了反應物和溶劑的進料流、一個輸出流和一個冷卻水流。qc為冷卻水流量,q為進料流量,C1、C2為出口濃度,T1、T2為出口溫度。假設流量在整個過程中維持恒定。系統如圖5所示。

圖5 串級CSTR系統
反應器體積V1=V2=100L,進料濃度Cf=1mol/L,進料流量q=100L/min,進料溫度Tf=350K,冷卻水溫度Tcf=350K,反應速率常數k0=7.2×1010min-1,R為理想氣體常數,E/R=10000K,E為活化能,密度ρ=ρc=1000g/L,UA1=UA2=1.67×106J/min,反應熱ΔH=-4.78×104J/mol,U、A為熱交換系數和面積,比熱cp=cpc=0.239J/(gK)。
狀態變量x、系統輸出y和操作變量u定義為x=[C1,T1,C2,T2]T,y=T2,u=qc。設實際過程的初始狀態x=[0.085,442,0.005,450]T。
CSTR中的物料平衡方程為:
CSTR中的能量平衡方程為:
選擇兩組控制量u=[180,35]和u=[120,20]分別進行切換控制,其切換控制狀態如圖6所示。

圖6 串級CSTR切換控制狀態
從圖6中可以看出,在化工切換控制仿真算法下的仿真曲線較平滑,更符合實際化工生產過程中的切換控制曲線特性。
通過對實際化工切換控制的研究發現,化工切換控制要求在切換點處必須考慮函數連續性和導數連續性,因此,依據化工切換控制的這一特性提出新的化工過程切換控制算法。通過理論和仿真實例對比發現,該方法使得系統在切換點處過渡平滑,提高了仿真結果近似實際控制系統控制結果的精確性。