通用模糊控制器在PLC上的實現(xiàn)
通用模糊控制器在PLC上的實現(xiàn)
現(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é),即當誤差E與誤差變化率EC不等于模糊語言值(例如NB,,NM,,NS,ZO,,PS,,PM或PB)時,E和EC取整,,這時從查詢表中查到的控制量U只能近似地反映模糊控制規(guī)則,,因此產(chǎn)生誤差。由于量化誤差的存在,,不僅使模糊控制器的輸出U不能準確地反映其控制規(guī)則,,而且會造成調(diào)節(jié)死區(qū),在穩(wěn)態(tài)階段,,使系統(tǒng)產(chǎn)生穩(wěn)態(tài)誤差,,甚至會產(chǎn)生顫振現(xiàn)象。文中提出的二元三點插值法可從根本上消除量化誤差和調(diào)節(jié)死區(qū),,克服由于量化誤差而引起的穩(wěn)態(tài)誤差和穩(wěn)態(tài)顫振現(xiàn)象,。圖1—1給出了通用模糊控制器的基本組成結(jié)構(gòu)。
二,、通用模糊控制器在PLC上的設(shè)計實現(xiàn)
圖2—1 增量式輸出模糊控制系統(tǒng)框圖
確定各模糊變量的隸屬函數(shù)類型,;精確輸入,、輸出變量的模糊化;制定模糊控制規(guī)則,;確定模糊推理算法,;模糊輸出變量的去模糊化;按所需的格式保存計算結(jié)果生成查詢表,。
實際應(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)框圖,,閥門實際位置的控制量即控制量增量的積累是利用算式u(k)=u(k-1)+Δu(k)通過執(zhí)行軟件來完成。
模糊控制算法的實現(xiàn)是通過模糊推理所得,,但該結(jié)果是一個模糊矢量,,不能直接用于控制被控對象,必須轉(zhuǎn)換為一個執(zhí)行機構(gòu)可以接受的精確量,。將所有可能輸入狀態(tài)的非模糊輸出以同樣方法計算后形成如表2—1所示的查詢表,,該表以數(shù)據(jù)模塊形式存入計算機程序中,當一組輸入給定時,,可由該表查出相應(yīng)的輸出值,。該方法將復(fù)雜的模糊計算融進查詢表中,,在實際使用時節(jié)省計算時間,并使控制變得簡單明了,。
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é)方式的無沖擊切換。
(1)二元三點插值
給定矩型域上n×m個結(jié)點(xi,,yj)的函數(shù)值zij=(xi,,yj),其中i=0,,1,,…,n-1,;j=0,,1,…,,m-1,,在兩個方向上的坐標分別為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)的值,。
采用二元三點插值法運算相當于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)帶死區(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),。即當|e(k)|≤|e0|時,,模糊控制器輸出為零;當|e(k)|>|e0|時,,模糊控制器有適當?shù)妮敵觥?/p>
三,、應(yīng)用實例
電機調(diào)速控制系統(tǒng)見圖3—1,模糊控制器的輸入變量為實際轉(zhuǎn)速與轉(zhuǎn)速給定值之間的差值e及其變化率ec,,輸出變量為電機的電壓變化量u,。圖3—2為電機調(diào)試輸出結(jié)果,其橫坐標為時間軸,,縱坐標為轉(zhuǎn)速,。當設(shè)定轉(zhuǎn)速為2 000r/s時,,電機能很快穩(wěn)定運行于2 000r/s;當設(shè)定轉(zhuǎn)速下降到1 000r/s時,,轉(zhuǎn)速又很快下降到1 000r/s穩(wěn)定運行,。