麥雪鳳
(廣西科技大學電氣與信息工程學院,廣西柳州545006)
隨著生產規模的不斷擴大及自動化程度的不斷提高,生產工藝對控制系統的快速響應、可靠性、控制精度等提出了越來越高的要求[1-2],對于被控對象存在滯后大、非線性、時變等特點的復雜場合常規PID控制難以滿足要求[3],因此模糊控制等智能控制在冶金、化工、電力和家電等工業部門都得到了逐步的發展[4]。而我院現有的A3000高級過程控制實驗裝置只能進行單回路、串級、單閉環比值等常規控制實驗,無法開展模糊控制等的實踐教學。為滿足智能控制實踐教學及創建智能控制科研平臺的需要,在A3000裝置上開發了雙容液位模糊-PI雙模控制系統。
設計的雙容液位模糊-PI雙模控制系統以A3000的雙容水箱為被控對象,控制參數是下水箱的液位,由液位變送器、模糊-PI雙模控制器(用西門子S7-300 PLC來實現)、電動調節閥等組成。
控制系統工作過程如下:液位變送器輸出的4~20 mA信號送到PLC的模擬量輸入模塊,經過PLC程序進行模糊-PI雙模控制運算處理后,得到精確控制量u(0~27 648的數字量),該數字量經模擬量輸出模塊轉換為4~20 mA信號送至電動調節閥,調節上水箱的進口流量,進而控制下水箱液位。
雙容液位模糊-PI雙模控制系統結構如圖1所示。當系統的偏差|e|>2 cm時(取e=2 cm為邊界值),為克服系統滯后大、PID調節不夠及時的缺點,采用模糊控制;當|e|<2 cm時,為克服模糊控制器穩態精度較低的缺點,采用PI控制器。
該控制系統的核心是二維模糊控制器,以液位偏差e和偏差變化率Δe為輸入量,以控制量u為輸出變量[5],模糊控制器由模糊化、知識庫、模糊推理和清晰化四部分組成。
(1)模糊化。模糊化的第一個任務是進行論域變換,e、Δe和 u的變化范圍分別取[-10 cm,10 cm]、[-1 cm,1 cm]和[0,27 648數字量],它們的論域均取為[-6,+6],取區間內的整數值和0。則量化因子分別為:k1=n/e=6/10=0.6,k2=n/Δe=6/1=6,k3=u/n=27 648/6=4 608。K1、K2和 K3對系統性能有較大影響,如果不合適還可調試時在線調整。e、Δe首先進行尺度變換,將其變換到要求的論域范圍:e*=k1×e、Δe*=k2×Δe,再對 e*、Δe*值采用均勻量化處理變為離散的論域值 x0、y0∈[-6,+6]。
模糊化的第二個任務是求得輸入對應于語言變量的隸屬度,e、Δe和u的語言變量x、y和z均分割為7個模糊語言,分別為負大(NB)、負中(NM)、負小(NS)、零(0)、正小(PS)、正中(PM)、正大(PB)。模糊集合的隸屬度函數采用離散方式,只取論域中的離散點(整數值)及這些點的隸屬度來描述一個語言變量,用數值描述的x、y和z的隸屬度函數均采自表1。

表1 語言變量x、y和z的隸屬度函數
(2)模糊推理和清晰化。模糊推理是模糊控制器的核心,該推理過程是基于模糊邏輯中的蘊含關系及推理規則來進行的。總結過程控制實踐教學對該液位控制的手動操作經驗,例如:當液位值低很多,且液位值有進一步快速降低的趨勢時,應加大入口流量,可用模糊語句(Ri:IF x=NB AND y=NB THEN z=PB)[6]實現這條規則,本設計采用的模糊控制規則如表2所示。

表2 模糊控制規則表
由于x、y的模糊分割數均為7,該表中共包含最大可能的規則數49條,對于第i條規則“如果x是Aiand y 是 Bi,則 z是 Ci”(Ai、Bi和 Ci分別是語言變量x、y和z在其論域X、Y、Z上的語言變量值)的模糊蘊含關系 Ri為[7]:

則所有規則的總模糊蘊含關系為R。根據已知輸入x0和y0,模糊化采用單點模糊集合,根據模糊推理方法及性質,可求得輸出量的模糊集合C'為(在此:and用求交法,also用求并法,合成用最大-最小法,模糊蘊含用求交法):

據此計算出x0、y0為某個輸入組合時,分別在不同規則下的 C'1,C'2,…,C'49進而得出模糊集合 C',再用最大隸屬度法進行清晰化計算,將模糊推理得到的控制量(模糊量)變換為清晰量z0。按照同樣的步驟,可以計算出當x0、y0為其他組合時的輸出量z0,最后列出實際查詢的控制表如表3。

表3 控制表
根據圖1模糊-PI控制原理,采用西門子STEP7編程軟件開發應用程序,其中PI控制器直接調用PID功能塊FB41[8]即可實現,而STEP7中沒有模糊控制功能塊,因此需根據模糊控制原理自行開發模糊控制程序。為此創建三個自定義功能塊[9]FB1、FB2和FC2并編寫相應的程序。其中:
(1)FB1(背景數據塊DB2)是實現模糊化的功能塊,完成對e、Δe的模糊化;
(2)FC2用來存放控制表并實現模糊推理的功能,其編程思路是:首先將模糊控制表3中z0的169個控制結果按從左至右、從上到下的順序逐個存放到MW100~MW338寄存器中,然后采用公式[(x0×26+y0×2)+100]計算z0所對應的寄存器地址,如x0=4、y0=5,寄存器首址為MW100,那么z0寄存器地址為MW214,從而確定z0值(編程時為計算方便將 x0、y0和 z0的論域[-6,6]均加上6變為[0,12])。
(3)FB2(背景數據塊DB3)是實現解模糊化的功能塊,將清晰值z0轉化為精確控制量u,采用線性變換:u=k3×Z0。FB2程序圖2所示:首先在DB3中定義輸入變量MOU數據類型為INT;輸出變量SHIU數據類型為WORD。輸入變量#MOU(即z0)先通過I-DI功能塊由整數轉換為雙整數,再通過DI-R轉換為實數并通過乘法塊MUL-R乘上k3,最后用MOVE指令送給輸出變量#SHIU,這樣就把取值為[0,12]的z0轉換為精確值u。

圖2 解模糊化程序
OB1主程序塊采用循環執行的方式實現對整個程序的控制,并通過調用FB1、FC2、FB2實現模糊控制算法。需在OB1中編寫程序實現的功能主要有:計算e和Δe;模糊/PI控制功能切換;調用FB1將e和Δe模糊化;計算z0的寄存器地址;調用FC2得到清晰量z0;調用FB2將z0解模糊化得到精確控制量u。其中Δe的計算和模糊/PI控制功能切換是較關鍵的兩個部分,下面分別介紹。
(1)偏差變化率Δe(=ek-ek-1)值的求取,程序如下:
Network1:用減法塊 SUB-R 將變量'MYDATA'.SP與變量'MYDATA'.PV相減,結果存放到變量'MYDATA'.e;并用 MOVE指令將 e值存放到寄存器MD10中,如圖3所示。

圖3 Network1程序
Network2:用減法塊SUB-R將MD10值(=ek)與MD14 值(=ek-1)相減,結果存放到'MYDATA'.ec,如圖4所示。

圖4 Network2程序
Network3:用 MOVE指令將 MD10值存放到MD14,如圖5所示。

圖5 Network3程序
通過Network1~Network3程序可求得Δe值,并存放在變量'MYDATA'.ec 中。
(2)模糊/PI控制功能切換的實現。方法是在PID塊的EN端串聯一個M1.0常開觸點和一個M3.0常閉觸點,當|e|>2 cm時,M3.0線圈接通,其常閉觸點斷開,PID0不運行,轉到模糊控制;當|e|≤2 cm時,M1.0線圈接通,其常開觸點閉合,PID0模塊運行進行PI控制,程序如圖6所示。

圖6 模糊/PI控制功能切換程序
將開發的雙容液位模糊-PI雙模控制系統在A3000實驗裝置[10-11]調試,在組態王監控界面記錄系統運行曲線。系統實際運行過程如下:液位設定值為25 cm,開始投運時測量值為0,由于e很大采用模糊控制,系統快速相應,使測量值很快接近設定值,并在3~4min趨于穩定且|e|<2 cm進入PI控制。第6 min后即可獲得較滿意的控制效果,這時液位測量值與設定值曲線幾乎完全重合,系統運行穩定可靠,控制精度達到±1%以內,系統超調也在1%以內。系統穩定運行一段時間后(約在第16 min)做擾動實驗,方法是打開另一條支路往水箱中加水使液位出現一個較大的波動,如圖7所示。從曲線可以看出,模糊-PI雙模控制系統能迅速平穩地改變調節閥的開度,使測量值約在2 min內很快重新穩定在設定值范圍,可見系統穩定性很好且抗干擾能力很強。由于雙容液位系統滯后大,采用常規PID控制難以獲得滿意的控制效果,因此,上述實際運行表明,采用模糊-PI雙模控制,極大地提高了系統的動態特性和穩態特性,在響應速度、控制精度、抗干擾能力、縮短調試時間[12]等方面均優于常規PID控制。

圖7 系統運行曲線
本文介紹的在A3000裝置上開發模糊-PI雙模控制的方法簡單易行、可靠性高、控制效果好、開發成本低[13],可在高校同類實驗裝置中推廣使用。本實驗項目彌補了傳統A3000過程控制實驗裝置的不足[14],通過本實驗項目可使學生掌握模糊一PI雙模控制的原理及特點、提高學生綜合應用PLC、編程組態軟件及現場儀表構建智能控制系統的能力,為“過程控制工程”、“智能控制”等課程提供了更好的的實驗平臺[15]。
[1] 高 鵬.螺旋扁管換熱器溫度串級模糊控制試驗研究[J].石油機械,2008,36(11):9-11.
[2] 金以慧.過程控制[M].北京:清華大學出版社,2005.
[3] 韓大平,林國海,等.模糊PID控制算法在回轉窯溫度控制中的應用[J].材料與冶金學報,2005,4(4):321-325.
[4] 邵裕森,戴先中.過程控制工程[M].北京:機械工業出版社,2000.
[5] 李士勇,夏承光.模糊控制與智能控制理論與應用[M].哈爾濱:哈爾濱工業大學出版社,1990.
[6] 劉金琨.智能控制[M].北京:電子工業出版社,2005.
[7] 李國勇.智能控制及其MATLAB實現[M].北京:電子工業出版社,2005.
[8] 陳海霞.西門子S7-300/400編程技術及工程應用[M].北京:機械工業出版社,2012.
[9] 西門子自動化與驅動集團.深入淺出西門子S7-300 PLC[M].北京:北京航空航天大學出版社,2004.
[10] 北京華晟高科教學儀器有限公司編制[Z].A3000高級過程控制系統實驗指導書V3,2005.
[11] 北京華晟高科教學儀器有限公司編制[Z].A3000過程控制系統使用說明和產品維護V2,2005.
[12] 馬克茂,朱奕.帶有前饋補償的模糊控制系統及其在鍋爐水位控制中的應用[J].計算機測量與控制,2004,12(6):537-539.
[13] 高宏巖.用controllogix實現雙容水箱液位系統的模糊控制[J].PLC&FA,2004(8):105-106.
[14] 王 娟.A3000系統在化工自動化及儀表實驗中的應用[J].實驗室研究與探索,2006,25(9):1079-1080.
[15] 任俊杰,李紅星.基于PLC和組態王的過程控制實驗系統[J].實驗室研究與探索,2010,29(5):16-18.