茹雪艷,何 凱
(1.蚌埠學院 電子與電氣工程學院,安徽 蚌埠 233030;2.蚌埠依愛電子科技有限責任公司,安徽 蚌埠 233006)
閃蒸罐因具有耗能低、速度快、易冷卻等優(yōu)點,已廣泛應(yīng)用于化工領(lǐng)域[1]。通常,流入閃蒸罐的高溫高壓液體沸點因壓降降低,迅速產(chǎn)生汽化,兩相分離。因此,閃蒸罐壓力穩(wěn)定,且迅速適應(yīng)擾動對過控系統(tǒng)非常關(guān)鍵。由于結(jié)構(gòu)復雜、分離對象多樣,閃蒸罐壓力滯后大,同時具備非線性、模型難搭建等特點,導致控制復雜[2]。目前,缺少基于PSD(Proportional Sum Differential,比例、求和、微分)算法和SMPT-1000實驗平臺實現(xiàn)閃蒸罐壓力自適應(yīng)控制的案例[3-5],傳統(tǒng)PID(Proportional Integral Differential,比例、積分、微分)參數(shù)整定過程長、控制反應(yīng)滯后,因此,閃蒸罐壓力采用復雜先進的控制算法很有必要。
首先介紹了常規(guī)PID的原理及局限,結(jié)合單神經(jīng)元的優(yōu)點,并加入PSD控制算法,形成單神經(jīng)元自適應(yīng)PSD算法,基于SCL編譯,經(jīng)連續(xù)功能圖(Continuous Function Chart,CFC)組態(tài)單神經(jīng)元自適應(yīng)PSD-PID復合串級控制。通過高級多功能過控實訓裝置SMPT-1000,在線調(diào)試SCL編程的PSD控制器,實時監(jiān)控算法迭代,整定PSD控制器參數(shù),對控制策略進行實驗驗證。為清晰觀察PSD控制器控制閃蒸罐壓力的效果,設(shè)計了視窗控制中心(Windows Control Center,WinCC)人機界面,同時監(jiān)控其對系統(tǒng)的作用效果。
在文獻[6]、[7]所述的過程工藝中,分析SDG(Signed Directed Graph,符號有向圖)可知,閃蒸罐是分離產(chǎn)物及回收原料的關(guān)鍵設(shè)備,其壓力直接影響產(chǎn)物濃度及產(chǎn)出流量。
PID控制系統(tǒng)中,設(shè)定值與實際輸出之間的誤差作為控制量[8],經(jīng)比例、積分、微分運算后作用于被控對象,使之逐漸接近設(shè)定值直到消除誤差。
増量式PID以增量形式輸出,計算量少,易實現(xiàn),對執(zhí)行器的沖擊小,表示為:
Δu(k)=kp[e(k)-e(k-1)]+kie(k)+kd[e(k)-2*e(k-1)+e(k-2)]
(1)
式中,Δu(k)為第k采樣時刻計算輸出增量值,e(k)、e(k-1)分別為第k、k-1時刻的偏差信號。
常規(guī)PID參數(shù)設(shè)定過程耗時費力,無法自學習整定,適應(yīng)非線性、耦合、強干擾系統(tǒng)的能力較差。
神經(jīng)網(wǎng)絡(luò)可利用學習規(guī)則整定、優(yōu)化參數(shù),學習和容錯能力強。單神經(jīng)元是其最小組成單元,結(jié)構(gòu)簡單,參數(shù)由設(shè)定的規(guī)則自整定,魯棒性強。
增益系數(shù)K是單神經(jīng)元自適應(yīng)PID控制器最敏感的參數(shù),K值越大,調(diào)節(jié)響應(yīng)越快,系統(tǒng)易超調(diào),振蕩概率增加,其穩(wěn)定性也變差,反之,調(diào)節(jié)越緩,系統(tǒng)過渡時間越長。一旦設(shè)定,便無法在線自調(diào)整。因此,增益系數(shù)K能夠適應(yīng)系統(tǒng)的變化同樣重要。
Msrsk和Strejc學者提出的PSD算法[8],只需檢測預期和實際輸出值,不辨識過程參數(shù),實時性、自適應(yīng)性強,結(jié)構(gòu)簡單易實現(xiàn)。因此,單神經(jīng)元PID算法的增益利用無辨識PSD在線調(diào)節(jié),結(jié)合后的單神經(jīng)元自適應(yīng)PSD算法的結(jié)構(gòu)如圖1所示。
圖1 單神經(jīng)元自適應(yīng)PSD控制結(jié)構(gòu)框圖
單神經(jīng)元自適應(yīng)PSD算法的增量形式為:
Δu(k)=K(k)[e(k)+Te(k)Δe(k)+Tv(k)Δ2e(k)]
(2)
(3)
其中,增益K(k)迭代算法的表達式為:
(4)
顯然,式(3)與式(1)都是自適應(yīng)控制,且結(jié)構(gòu)相同,因此,理論上具備了結(jié)合的基礎(chǔ)。借鑒單神經(jīng)元強大的學習能力,同時將PSD算法中K(k)的自整定規(guī)律應(yīng)用于單神經(jīng)元PID增益系數(shù)K中,形成增益可自適應(yīng)的單神經(jīng)元PSD算法,以此提高控制器的動態(tài)響應(yīng)速度,最終提高控制性能。
e(k)和Δe(k)的變化直接影響PSD參數(shù)學習調(diào)整性能,優(yōu)化加權(quán)系數(shù)學習規(guī)則后,PSD算法表達如公式(5)[8]:
(5)
式(5)中,Δe(k)=e(k)-e(k-1),z(k)為教師信號,取z(k)=e(k)。
單神經(jīng)元自適應(yīng)PSD算法控制非線性、不確定等復雜系統(tǒng)時,干擾和噪聲使得誤差在零值附近振蕩[8]。當系統(tǒng)檢測到振蕩時,K值不斷變化成上一次迭代結(jié)果的0.75倍,導致K值過小,控制效果較差;同時,K值調(diào)整過大,系統(tǒng)易振蕩。
因此,設(shè)計單神經(jīng)元自適應(yīng)PSD控制器之初,加入可調(diào)整K值的限制條件,使K值在下限值Kmin和上限值Kmax間調(diào)節(jié),既限定K值的取值范圍,同時又避免控制器波動較大,精細調(diào)節(jié),保證控制的完整性,設(shè)計流程如圖2所示。
圖2 單神經(jīng)元自適應(yīng)PSD控制器設(shè)計流程框圖
SCL是西門子特有的高級語言,具有條件、選擇等結(jié)構(gòu)和I/O、定時等PLC元素,函數(shù)運算能力強大[9]。其編程界面及單神經(jīng)元自適應(yīng)PSD算法的SCL代碼如圖3所示。
基于SCL編寫PSD算法時,符號函數(shù)sign是組成增益迭代過程的重要部分,因此,首先新建名為“sign”的FC函數(shù)于符號表中,然后建立名為“ANNC-PSD(單神經(jīng)元自適應(yīng)PSD控制器)”的FB模塊并打開,按照式(4)和上述流程圖進行編寫,在編譯、保存成功后,最終在CFC中生成如圖4所示的ANNC-PSD控制模塊。
符號函數(shù)sign的代碼如下所示:
FUNCTION"sign":INT
VAR_INPUTIN:REAL;
END_VAR
BEGIN
IFIN>0THENsign:=1;
ELSIFIN<0THENsign:=-1;
ELSEsign:=0;
END_IF;
END_FUNCTION
ANNC-PSD控制塊代碼包括參數(shù)定義、迭代疊加、條件、選擇語句等,可直接調(diào)用sign函數(shù),以式(5)所述的單神經(jīng)元PSD算法進行自學習、自整定運算,實現(xiàn)自適應(yīng)智能控制。
圖3 單神經(jīng)元自適應(yīng)PSD算法的SCL編程界面
圖4 SCL編譯的ANNC-PSD控制模塊
進入CFC編程界面,選擇“ANNC-PSD”功能塊覆蓋文獻[6]、[7]中閃蒸罐壓力串級PID的主控制器,并修改名稱為PIC1103,將控制器管腳連接至指定位置,轉(zhuǎn)化成如圖5所示的ANNC-PSD-PID的復合串級控制組態(tài)。
圖5 ANNC-PSD-PID復合串級控制CFC組態(tài)
在單神經(jīng)元自適應(yīng)PSD控制器中,ηI,ηP,ηD,加權(quán)系數(shù)初值w1(0)、w2(0)、w3(0),增益K(k)初值的選擇,一定程度上,也會影響控制器輸出效果,雖然PSD控制器可自適應(yīng)系統(tǒng),但初始參數(shù)同樣有必要整定[7-8]。
(1)加權(quán)系數(shù)的初值影響控制效果不明顯,同時可以學習規(guī)則實時調(diào)整,因此,可取相等的值,即w1(0)=w2(0)=w3(0)。
(2)ηI、ηP、ηD的整定類似于PID系數(shù)。起初,ηD選擇較小值,受控對象性能改善時,ηD逐步變大,以確保輸出無波紋;若系統(tǒng)超調(diào)量大、上升快,或者階躍輸入下,系統(tǒng)多次正弦衰減,則減小ηP;反之,則增大ηP、ηD;如果上升緩慢,超調(diào)隨著ηP增加而變大,應(yīng)增加ηI。若超調(diào)快速降至給定值以下,而后,緩慢達到穩(wěn)態(tài),則減少ηP,增加ηI。
(3)K(k)是PSD控制器最敏感的參數(shù),其值的調(diào)整直接影響P、I、D三項參數(shù)的自學習軌跡,可決定系統(tǒng)最終性能。K(0)是增益K(k)的初始值,而Tv(0)、C及L則決定了K(k)的適應(yīng)系統(tǒng)變化的時間,Tv(0)大、C小、L大,則K(k)適應(yīng)系統(tǒng)快,調(diào)節(jié)器易超調(diào),系統(tǒng)振蕩概率加大;反之,K(k)變化過緩,系統(tǒng)調(diào)節(jié)慢,過渡時間長。所以,應(yīng)首先調(diào)整K(0)、Tv(0)、C及L的值,一般,K(0)的選取從0.01-0.08開始,Tv(0)=C取0.025-0.05,L取0.05-0.1[9]。
3.2PSD控制器程序調(diào)試
硬件連接和通信正常后,通過以太網(wǎng)連接,下載程序至S7-400PLC。在SCL編程界面配置程序調(diào)試設(shè)置,依次選擇Options→Customize→Complier,選中Createdebuginfo,然后按下Ctrl+F7,即可調(diào)試SCL編譯的PSD算法。
PSD算法調(diào)試完成后,在CFC中編譯、下載整套程序,選擇菜單命令Debug→TestMode,激活CFC在線功能,即可調(diào)試、整定PSD控制器。
將PLC與實驗平臺SMPT-1000以ProfibusDP接口的形式進行連接[6-7,10]。閃蒸罐壓力采用ANNC-PSD-PID復合串級控制程序,其余回路沿用文獻[6]、[7]設(shè)計的程序。
利用3.1節(jié)所述調(diào)試規(guī)則整定PSD控制器參數(shù),同時觀察實驗平臺上位機監(jiān)控軟件SMPTLab的波形,直至獲得最佳控制效果,具體參數(shù)配置如圖5所示,得到的效果曲線如圖6所示。
圖6 閃蒸罐壓力在單神經(jīng)元自適應(yīng)PSD控制器自適應(yīng)控制下的系統(tǒng)運行趨勢圖
對比文獻[6]、[7]的實驗數(shù)據(jù),可得:單神經(jīng)元自適應(yīng)PSD控制下的閃蒸罐壓力比PID控制提前65s達到設(shè)定值,產(chǎn)物濃度達到79%的進程加快了31s,同時累積量增加107.1kg,回收流量增加18.6kg。
分析FI1103曲線,可知500-1050s緩慢加負載,1050-1600s再次加大進料,此時系統(tǒng)尚未穩(wěn)定,閃蒸罐壓力PI1103雖有波動,但在PSD控制器的自適應(yīng)控制下,在730s逐漸穩(wěn)定,比閃蒸罐壓力采用PID的狀態(tài)快了31s,進程加快1.3%,產(chǎn)量達16120.46kg,物料A回收量達2804.60kg。
SMPT-1000上位機軟件SMPTLab缺乏系統(tǒng)狀態(tài)監(jiān)控、參數(shù)預警、控制器在線調(diào)試等功能,無法統(tǒng)計回收物總量,只能觀察指定的波形曲線,不夠直觀。
因此,本文運用PCS7V8.2內(nèi)嵌的WinCC組態(tài)人機界面[11],在線調(diào)試、監(jiān)控PSD控制器,實時顯示過控系統(tǒng)的工藝界面,并對參數(shù)預警,同時以CFC中組態(tài)TotalL模塊的方式,在界面中顯示生成和回收量,設(shè)計的系統(tǒng)界面如圖7所示。
圖7 連續(xù)過程控制系統(tǒng)WinCC監(jiān)控主界面
由圖7可知,該WinCCOS面板可實時顯示回收、總產(chǎn)量、參數(shù)監(jiān)控等,支持調(diào)試PSD控制器參數(shù)從而控制閃蒸罐壓力,實現(xiàn)過控系統(tǒng)的可視化組態(tài)。
本研究基于SCL完成單神經(jīng)元自適應(yīng)PSD算法編譯,并組態(tài)ANNC-PSD-PID復合串級控制器,實現(xiàn)連續(xù)過程系統(tǒng)中閃蒸罐壓力的自適應(yīng)控制,利用SMPT-1000完成實驗對比,結(jié)果表明,單神經(jīng)元自適應(yīng)PSD控制器調(diào)節(jié)速度優(yōu)于PID,系統(tǒng)進程加快1.3%,產(chǎn)量及回收量均有提升。同時設(shè)計WinCC組態(tài)界面,更加方便直觀地觀察和控制閃蒸罐壓力及系統(tǒng)參數(shù)。該方案對PSD算法實現(xiàn)智能控制的的應(yīng)用及SCL相關(guān)實驗具有重要的參考價值。