1 引 言
現(xiàn)代控制系統(tǒng)中的模糊控制能方便地解決工業(yè)領(lǐng)域中常見的非線性、時變、大滯后、強耦合、變結(jié)構(gòu)、結(jié)束條件苛刻等復(fù)雜問題??删幊炭刂破饕云涓呖煽啃?、編程方便、耐惡劣環(huán)境、功能強大等特性很好地解決了工業(yè)控制領(lǐng)域普遍關(guān)心的可靠、安全、靈活、方便、經(jīng)濟等問題,這兩者的結(jié)合,可在實際工程中廣泛應(yīng)用。該文研究了通用模糊控制器在PLC上實現(xiàn)的幾種算法,用離線計算、在線查表插值的方法實現(xiàn)模糊控制。
為了滿足不同執(zhí)行機構(gòu)對控制量形式的要求,采用增量式/ 位置式模糊控制輸出的算法,在增量式模糊控制輸出時,可實現(xiàn)手動與自動之間的無擾動切換。為了消除由于頻繁動作引起的振蕩,采用了帶死區(qū)的模糊控制算法。此外,一般的在線查表模糊控制器中存在著模糊量化取整環(huán)節(jié),即當(dāng)誤差E與誤差變化率EC 不等于模糊語言值(例如NB ,NM,NS ,ZO ,PS ,PM或PB) 時, E 和EC 取整,這時從查詢表中查到的控制量U 只能近似地反映模糊控制規(guī)則,因此產(chǎn)生誤差。由于量化誤差的存在,不僅使模糊控制器的輸出U 不能準(zhǔn)確地反映其控制規(guī)則,而且會造成調(diào)節(jié)死區(qū),在穩(wěn)態(tài)階段,使系統(tǒng)產(chǎn)生穩(wěn)態(tài)誤差,甚至?xí)a(chǎn)生顫振現(xiàn)象。文中提出的二元三點插值法可從根本上消除量化誤差和調(diào)節(jié)死區(qū), 克服由于量化誤差而引起的穩(wěn)態(tài)誤差和穩(wěn)態(tài)顫振現(xiàn)象。圖1 —1 給出了通用模糊控制器的基本組成結(jié)構(gòu)。
2 通用模糊控制器在PLC 上的設(shè)計實現(xiàn)
2.1 離線部分設(shè)計
離線部分的算法設(shè)計主要包括以下內(nèi)容:選擇模糊輸入、輸出變量的論域范圍及模糊變量子集類型;確定各模糊變量的隸屬函數(shù)類型;精確輸入、輸出變量的模糊化;制定模糊控制規(guī)則;確定模糊推理算法;模糊輸出變量的去模糊化;按所需的格式保存計算結(jié)果生成查詢表。
圖1—1 通用模糊控制器基本結(jié)構(gòu)圖
實際應(yīng)用中廣泛采用的二維模糊控制器多選用受控變量和輸入給定的偏差E 和偏差變化率EC 作為輸入變量,因為它已能夠比較嚴格的反映受控過程中輸入變量的動態(tài)特性,可滿足大部分工程需要,同時也比三維模糊控制器計算簡單, 模糊控制規(guī)則容易理解。對于多變量模糊控制器可利用模糊控制器本身的解耦特點,通過模糊關(guān)系方程分解,在控制器結(jié)構(gòu)上實現(xiàn)解耦, 即將一個多輸入多輸出(MI —MO) 的模糊控制器,分解成若干個多輸入單輸出(MI —SO) 的模糊控制器,這樣就可采用單變量模糊控制器的設(shè)計方法。該文研究了二維通用模糊控制器的設(shè)計。為了便于由用戶在線控制時決定是增量式輸出還是位置式輸出,輸出變量取調(diào)節(jié)量的變化U ,這也有利于通過對調(diào)節(jié)量變化U 的調(diào)整, 使系統(tǒng)偏差減少。
由于模糊控制器的控制品質(zhì)受控制器輸出方式的影響,對不同的受控對象提供位置式輸出和增量式輸出這兩種選擇方式。位置式輸出算法的缺點是輸出的u (k) 對應(yīng)的是執(zhí)行機構(gòu)的實際位置,如果計算機出現(xiàn)故障,會引起由于u (k) 的大幅度變化而導(dǎo)致執(zhí)行機構(gòu)位置的大幅度變化。如果采用增量式算法時,計算機輸出的是控制增量Δu (k) 對應(yīng)的本次執(zhí)行機構(gòu)位置(例如閥門開度) 的增量,圖2 —1 為增量式輸出模糊控制系統(tǒng)框圖, 閥門實際位置的控制量即控制量增量的積累
圖2—1 增量式輸出模糊控制系統(tǒng)框圖
模糊控制算法的實現(xiàn)是通過模糊推理所得, 但該結(jié)果是一個模糊矢量, 不能直接用于控制被控對象,必須轉(zhuǎn)換為一個執(zhí)行機構(gòu)可以接受的精確量。將所有可能輸入狀態(tài)的非模糊輸出以同樣方法計算后形成如表2 —1 所示的查詢表,該表以數(shù)據(jù)模塊形式存入計算機程序中,當(dāng)一組輸入給定時,可由該表查出相應(yīng)的輸出值。該方法將復(fù)雜的模糊計算融進查詢表中,在實際使用時節(jié)省計算時間,并使控制變得簡單明了。
表2 —1 表格形式的查詢表
2.2 在線部分設(shè)計
計算機離線運算得到的模糊控制器的總控制表經(jīng)過系統(tǒng)在線反復(fù)調(diào)試、修改,最后以數(shù)據(jù)模塊形式存入PLC 系統(tǒng)內(nèi)存中,由一個查詢該表的子程序管理。查詢子程序的流程如圖2 —2 所示,圖中fielde 、fieldec 及fieldu 分別表示誤差E、誤差變化率EC 和控制量U 的論域范圍。由流程圖可知,控制器的調(diào)節(jié)方式有手動和自動兩種, 輸出方式有增量式和位置式輸出兩種。如果輸出方式選擇為增量式輸出,則可以實現(xiàn)手動調(diào)節(jié)方式到自動調(diào)節(jié)方式的無沖擊切換。
2.2.1 二元三點插值
給定矩型域上n×m 個結(jié)點(xi , yj) 的函數(shù)值zij = (xi , yj) ,其中i = 0 ,1 , ⋯, n - 1; j = 0 ,1 , ⋯, m -1 ,在兩個方向上的坐標(biāo)分別為x0 < x1 < ⋯< xn - 1 ,y0 < y1 < ⋯< ym - 1 ,利用二元三點插值公式可計算出指定插值(u , v) 處的函數(shù)近似值w = z( u , v) 。表2 —1 用函數(shù)形式表示為Uij = f(Ei , ECj) , 其中i =1 ,2 , ⋯, k1 ; j = 1 ,2 , ⋯, k2 。設(shè)某個采樣周期的輸入為E、EC ,則需求出U = f(E , EC) 的值。
采用二元三點插值法運算相當(dāng)于E與EC 在其論域內(nèi)的分檔數(shù)趨于無窮大, 這樣不僅能夠滿足表2—1 所給出的查詢表制定的控制規(guī)則,而且還在控制規(guī)則表內(nèi)的相鄰分檔之間以線性插值方式補充了無窮多個新的、經(jīng)過細分的控制規(guī)則, 更加充實完善了原來的控制規(guī)則,并從根本上消除了量化誤差和調(diào)節(jié)死區(qū), 克服了由于量化誤差而引起的穩(wěn)態(tài)誤差和穩(wěn)態(tài)顫振現(xiàn)象,顯著改善了系統(tǒng)的性能,尤其是穩(wěn)態(tài)性能。
圖2 —2 在線控制流程圖
2.2.2 帶死區(qū)的模糊控制算法
為了避免控制動作過于頻繁,消除由于頻繁動作引起的震蕩,帶死區(qū)的控制算法是一個好的解決辦法。
上式中,死區(qū)e0 是一個可調(diào)節(jié)的參數(shù), 其具體數(shù)值可根據(jù)實際控制對象由實驗確定。若e0 值太小,使控制動作過于頻繁,達不到穩(wěn)定被控對象的目的;若e0 值太大,則系統(tǒng)將產(chǎn)生較大的滯后。
帶死區(qū)的模糊控制器的系統(tǒng)結(jié)構(gòu)如圖2 —3 所示,此控制系統(tǒng)實際上是一個非線性系統(tǒng)。即當(dāng)|e( k) | ≤|e0| 時,模糊控制器輸出為零;當(dāng)|e(k) | >|e0| 時,模糊控制器有適當(dāng)?shù)妮敵觥?/p>
圖2 —3 帶死區(qū)的模糊控制器系統(tǒng)結(jié)構(gòu)
3 應(yīng)用實例
電機調(diào)速控制系統(tǒng)見圖3—1 ,模糊控制器的輸入變量為實際轉(zhuǎn)速與轉(zhuǎn)速給定值之間的差值e 及其變化率ec , 輸出變量為電機的電壓變化量u 。圖3—2 為電機調(diào)試輸出結(jié)果, 其橫坐標(biāo)為時間軸, 縱坐標(biāo)為轉(zhuǎn)速。當(dāng)設(shè)定轉(zhuǎn)速為2 000r/ s 時,電機能很快穩(wěn)定運行于2 000r/ s ;當(dāng)設(shè)定轉(zhuǎn)速下降到1 000r/ s時,轉(zhuǎn)速又很快下降到1 000r/ s 穩(wěn)定運行。
圖3 —1 電機調(diào)速控制系統(tǒng)結(jié)構(gòu)示意圖
圖3 —2 電機調(diào)速過程
4 小 結(jié)
通用模糊控制器在PLC 上的實現(xiàn)采用了二維模糊控制結(jié)構(gòu),這種結(jié)構(gòu)能確保系統(tǒng)的簡單性和快速性。它的輸入為系統(tǒng)誤差E和誤差變化率EC ,因此它具有類似于常規(guī)PD 控制器的功能和良好的動態(tài)特性。在實際應(yīng)用中證實,系統(tǒng)響應(yīng)速度快,超調(diào)量很小,穩(wěn)態(tài)精度高。為了獲得更好的靜態(tài)性能,應(yīng)加入模糊積分單元,構(gòu)成PID 模糊控制器。