劉銘
摘? 要:模糊控制(Fuzzy Control)是基于模糊語言變量、模糊邏輯理論等理論以及實(shí)踐經(jīng)驗(yàn)逐步發(fā)展而形成的,使得現(xiàn)代控制技術(shù)、計(jì)算機(jī)技術(shù)能夠有效融合,是一種現(xiàn)代智能控制技術(shù)。該控制方法的優(yōu)點(diǎn)為,對(duì)建模精度要求相對(duì)較低;基于工作人員的經(jīng)驗(yàn)可實(shí)現(xiàn)對(duì)系統(tǒng)的有效控制。也正是因?yàn)檫@些優(yōu)勢(shì),在大時(shí)滯、非穩(wěn)定等情況下,模糊控制的抗擾動(dòng)能力較為突出。因此,該文主要就模糊算法在PLC程序的實(shí)現(xiàn)進(jìn)行了簡要的闡述。
關(guān)鍵詞:模糊算法? 模糊控制? PLC程序
中圖分類號(hào):TP273 ? ?文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2019)12(a)-0014-02
1? 模糊控制系統(tǒng)簡介
模糊控制系統(tǒng)的主要部分如圖1所示,其主要構(gòu)成包括執(zhí)行器、傳感器等。對(duì)比分析模糊控制系統(tǒng)與PID控制器能夠發(fā)現(xiàn),兩種方法在很多方面存在差異,包括各自的算法原理、輸入維數(shù)等都有所差異。
2? 模糊控制器的設(shè)計(jì)
圖2為模糊控制器的原理框架圖。
模糊控制器的設(shè)計(jì)流程如下。
(1)明確模糊控制器的構(gòu)成。
輸入維數(shù)的大小在很大程度上會(huì)對(duì)控制結(jié)果產(chǎn)生影響,因此,為了使得控制結(jié)果盡可能精確,要求選擇盡量多的輸入維數(shù),而輸入維數(shù)過多必然會(huì)導(dǎo)致規(guī)則庫所需的數(shù)據(jù)量過多,這就加大了指定難度。筆者參考操作人員的實(shí)踐經(jīng)驗(yàn),最終在模糊控制器的設(shè)計(jì)中確定了雙輸入單輸出的控制結(jié)構(gòu),采取這種結(jié)構(gòu)更為合理,得到的結(jié)果也比較理想。
(2)確定模糊語言值。
該系統(tǒng)中e、ec為輸入值,E與EC即為對(duì)前者進(jìn)行了模糊處理之后獲得的,最終的輸出值為U。模糊語言值的選擇為{負(fù)大(NB)、負(fù)中(NM)、負(fù)小(NS)、零(ZO)、正?。≒S)、正中(PM)、正大(PB)},相應(yīng)的量化等級(jí)為{-3,-2,-1,0,1,2,3}。
(3)選擇隸屬函數(shù)。
在選擇隸屬度函數(shù)時(shí)通常會(huì)以專家以及工作人員的經(jīng)驗(yàn)為依據(jù),在設(shè)計(jì)本系統(tǒng)時(shí),考慮到項(xiàng)目實(shí)際情況與工作人員的經(jīng)驗(yàn),最終確定三角形隸屬度函數(shù)為控制函數(shù)。
(4)輸入值的模糊化。
將得到的e與ec與各自相對(duì)應(yīng)的量化因子Ke和Kec相乘,即可計(jì)算得出E與EC,這一操作過程就是輸入的模糊化。例如e的變化范圍為[a,b],則相應(yīng)論域E的取值范圍要求為[-n,n],如下所示為對(duì)應(yīng)的變化方程式:
(1)
(2)
(5)建立模糊規(guī)則庫。
模糊規(guī)則庫是依據(jù)操作人員的工作經(jīng)驗(yàn),以及現(xiàn)場(chǎng)的實(shí)際情況,綜合三角形隸屬度函數(shù)以及模糊的運(yùn)算法則而得到的,具體如圖1所示。
(6)模糊推理。
結(jié)合表1,運(yùn)用Mamdani推理方法,由if、and、or、then等模糊語句及其運(yùn)算關(guān)系可得下式所示的模糊關(guān)系R。
R=E×EC×U ? ? ? ?(3)
可得模糊推理為:
R1:if e is NB and ec is NB then U is PB
R2:if e is NB and ec is NM then U is PB
R3:if e is NB and ec is NS then U is PM
R4:if e is NB and ec is ZO then U is PM
R5:if e is NB and ec is PS then U is ZO
R6:if e is NB and ec is PM then U is ZB
R7:if e is NB and ec is PB then U is NB
(7)調(diào)節(jié)量的清晰化。
完成上述程序操作之后可得模糊控制量U,將其與量化因子Ku相乘即可獲得實(shí)際控制量u,即實(shí)現(xiàn)了調(diào)節(jié)量的清晰化。
3? 模糊算法在PLC程序的實(shí)現(xiàn)
前述對(duì)模糊控制器的設(shè)計(jì)流程進(jìn)行了簡要闡述與分析,在此基礎(chǔ)上能夠得到模糊算法的程序圖(見圖3)。
(1)偏差e與偏差變化率ec的求取程序。
利用SUB_R指令能夠完成對(duì)系統(tǒng)偏差e值的有效編程,ec為基于兩次采樣數(shù)據(jù)獲得的插值,為了有效提升系統(tǒng)精度,保證采樣時(shí)間的恒定性,還可調(diào)用循環(huán)中斷組織塊0B35,計(jì)算并ec。
(2)偏差e與偏差變化率ec的模糊化程序。
該系統(tǒng)中溶解氧的變化范圍為0~10,e的變化范圍設(shè)定為[0,12]。考慮到能耗問題,為了最大程度地降低能耗,使系統(tǒng)控制精度得以提升,該文共采用了49個(gè)實(shí)驗(yàn)數(shù)據(jù),論域E對(duì)應(yīng)的變化范圍為[-3,3],按照前述公式可將偏差e線性轉(zhuǎn)換得到論域E:
(4)
可得對(duì)應(yīng)的比例因子為0.5。文章篇幅限制,該文并未對(duì)e、ec的模糊化程序進(jìn)行詳細(xì)闡述。
(3)模糊規(guī)則庫的存儲(chǔ)數(shù)據(jù)程序。
該系統(tǒng)的實(shí)驗(yàn)數(shù)據(jù)共計(jì)49個(gè),考慮到數(shù)據(jù)存儲(chǔ)以及尋址等問題,筆者將所有數(shù)據(jù)保存在DB數(shù)據(jù)塊中。
(4)模糊尋址求取調(diào)節(jié)量程序。
該程序需要完成的首要工作就是實(shí)現(xiàn)對(duì)模糊論域元素{-3,-2,-1,0,1,2,3}的轉(zhuǎn)換,經(jīng)過轉(zhuǎn)換后得到{0,1,2,3,4,5,6},隨后通過固定地址加指針動(dòng)態(tài)尋址將U寫入至固定的DB塊中。
(5)調(diào)節(jié)量去模糊化求取準(zhǔn)確值程序。
通過前述操作程序,調(diào)節(jié)量的值已被傳送至固定地址,隨后需要進(jìn)行的就是使其與比例因子相乘實(shí)現(xiàn)清晰化,整個(gè)程序完成。
參考文獻(xiàn)
[1] 吳順麗,王孟平,李昊楠,等.污水處理中溶解氧的單神經(jīng)元PID控制算法設(shè)計(jì)與實(shí)現(xiàn)[J].河南科學(xué),2018,36(10):1516-1520.
[2] 王雨萌.基于智能控制策略的污水處理控制系統(tǒng)[D].浙江大學(xué),2018.
[3] 王德望,趙敏.污水處理系統(tǒng)溶解氧的BP-PID控制算法[J].軟件導(dǎo)刊,2018,17(2):68-70,73.