王 振,虎恩典,蘭永平,王大鵬
(北方民族大學(xué) 電氣信息工程學(xué)院,銀川 750021)
在工業(yè)過程控制中,液位控制模型經(jīng)常被用到,但由于管路復(fù)雜,建立其精確數(shù)學(xué)模型的過程非常困難,甚至不可實(shí)現(xiàn)。在實(shí)驗(yàn)室中,對于液位控制大多數(shù)采用的都是經(jīng)典的PID 算法,而PID 控制則需要調(diào)節(jié)3 個(gè)控制參數(shù),要想將3 個(gè)參數(shù)調(diào)節(jié)成最優(yōu)組合,實(shí)現(xiàn)最優(yōu)化控制比較困難[1-3]。智能控制算法越來越多樣化,有些智能算法已經(jīng)比較成熟,并且不需要知道被控過程的精確數(shù)學(xué)模型,比如模糊控制算法。在PLC 中都有模塊化的PID 控制算法,使用方便,但并沒有模糊控制算法模塊,用PLC 實(shí)現(xiàn)模糊控制算法并改良是一項(xiàng)很有價(jià)值的研究。
如圖1 所示,雙容水箱液位控制系統(tǒng)有C1和C22 個(gè)水箱,上水箱C1的液位高度為H1,下水箱C2的液位高度為H2,其中H2為被控制量。
圖1 中,R1、R2和R3分別為3 個(gè)手動(dòng)閥 門,改變它們的開度可以看作是對控制系統(tǒng)的一個(gè)外部的擾動(dòng)。進(jìn)水量Q 由電動(dòng)調(diào)節(jié)閥的開度來決定,電動(dòng)調(diào)節(jié)閥為控制系統(tǒng)中的執(zhí)行機(jī)構(gòu),其開度為系統(tǒng)的控制量[4-5]。
壓力變送器輸出為4~20 mA 的電流信號,其對應(yīng)的液位值為0~50 cm。電動(dòng)調(diào)節(jié)閥的輸入為4~20 mA 電流信號,其對應(yīng)了0%~100%的閥門開度。如圖2 所示,壓力變送器將液位實(shí)際高度檢測變送為4~20 mA 的電流信號,送入模擬量輸入模組中,模擬量輸入模組將連續(xù)的電流信號離散化為數(shù)字量送入S7-1500CPU。
圖2 系統(tǒng)整體設(shè)計(jì)Fig.2 Overall system design
經(jīng)過對這個(gè)數(shù)字量的標(biāo)準(zhǔn)化和放縮,轉(zhuǎn)化為實(shí)際的液位高度,并送入觸摸屏中顯示。利用控制算法的計(jì)算得到一個(gè)控制量,這個(gè)控制量是數(shù)字量,需要將這個(gè)數(shù)字量信號送入模擬量輸出模組中,模擬量輸出模組將數(shù)字量轉(zhuǎn)化為模擬量即4~20 mA 的電流信號,然后送入執(zhí)行機(jī)構(gòu)電動(dòng)調(diào)節(jié)閥中。在MCGS觸摸屏中插入一個(gè)實(shí)時(shí)曲線,將曲線鏈接到水箱液位高度變量上,就可以實(shí)現(xiàn)對水箱液位的實(shí)時(shí)監(jiān)控。
如圖3 所示,用設(shè)定值R 減去下水箱液位的實(shí)際值C 得到誤差值e,再經(jīng)過微分運(yùn)算得到了誤差變化量ec。設(shè)計(jì)一個(gè)二維的模糊控制器,將e 和ec作為這個(gè)模糊控制器的輸入變量,經(jīng)過模糊控制算法的運(yùn)算得到了控制量。由D/A 轉(zhuǎn)換將這個(gè)數(shù)字信號轉(zhuǎn)化為模擬信號,最后送入到執(zhí)行機(jī)構(gòu)電動(dòng)調(diào)節(jié)閥來控制閥門的開度,最終實(shí)現(xiàn)下水箱液位的恒值控制。
圖3 模糊控制原理框圖Fig.3 Block diagram of fuzzy control principle
雙容水箱液位控制系統(tǒng),采用二維模糊控制器,即模糊控制器有2 個(gè)輸入1 個(gè)輸出。首先需要確定控制器的輸入,其輸入為誤差信號e 和誤差的變化量ec,輸出為控制量u。對于誤差e 和誤差變化ec以及控制量u,為了控制器設(shè)計(jì)和后期修改的方便,將物理論域進(jìn)行量化。物理論域e 和ec 量化后的論域表示為E 和EC,并且都量化到[-4,4]這個(gè)連續(xù)區(qū)間上。然后對輸入進(jìn)行模糊化,模糊化其實(shí)就是將一個(gè)真實(shí)的確定量變成一個(gè)模糊向量。對于輸入量E 和EC,令它們的模糊集合均為{NB,NM,NS,ZO,PS,PM,PB},定義E 和EC 各模糊子集的隸屬度函數(shù),如圖4 所示。
圖4 隸屬度函數(shù)Fig.4 Membership function
如果確定了E 和EC,則通過計(jì)算就可以知道其對于各模糊子集的隸屬度,從而將精確量E 和EC變成了模糊向量,完成了對于輸入E 和EC 的模糊化。在進(jìn)行模糊推理之前要先建立模糊控制規(guī)則,模糊控制規(guī)則是由多組規(guī)則組成的,每個(gè)規(guī)則都是形如“IF E is A and EC is B then U is C”的條件語句,其中A、B、C 都是模糊子集。A 和B 表示輸入變量的模糊值,C 表示輸出變量的模糊值。通過模糊規(guī)則,可以將輸入變量的模糊值映射到輸出變量的模糊值,從而實(shí)現(xiàn)控制。由于輸入E 和EC 均有7 種模糊值,所以全部組合起來有49 條模糊規(guī)則,為了更直觀簡潔,這些規(guī)則可用模糊規(guī)則來描述,如表1所示。
表1 模糊規(guī)則Tab.1 Fuzzy rule
有了模糊規(guī)則之后,就能進(jìn)行模糊推理,模糊推理是設(shè)計(jì)模糊控制器的核心,推理的方法比較多,比如CRI 查表法和Mamdani 直接推理法等。CRI 查表法操作簡單并且實(shí)時(shí)性較好,但是無法對控制規(guī)則進(jìn)行在線調(diào)整;Mamdani 直接推理法是利用被激活的幾條模糊規(guī)則進(jìn)行在線的模糊推理,可以對控制規(guī)則在線調(diào)整,從而得到結(jié)果。模糊推理將模糊的輸入信息轉(zhuǎn)化為模糊的輸出信息,也就是說將模糊輸入映射到模糊輸出上。將模糊控制器輸出的物理論域u 量化后的論域表示為U,為了后面方便編程實(shí)現(xiàn)解模糊,將其量化到{-4,-3,-2,-1,0,1,2,3,4}這個(gè)離散區(qū)間上,有9 個(gè)輸出量化級數(shù)。它的模糊集合也定義為{NB,NM,NS,ZO,PS,PM,PB},定義U 各模糊子集的隸屬度,如表2 所示。
表2 輸出U 上的各模糊子集的隸屬度Tab.2 Membership of each fuzzy subset on output U
對于一個(gè)實(shí)際的輸入(x*,y*),經(jīng)過量化后得到(j,k),j 對于論域E 上的各模糊子集Ei是有隸屬度μEi(j)的,k 對于論域EC 上的各模糊子集ECi也同樣有隸屬度μECi(k)。假設(shè)j 對于E1和E2的隸屬度不為0,k 對于EC1和EC2的隸屬度不為0,則在模糊控制規(guī)則中,最多有如下規(guī)則被激活:
所以,只需要對這4 條規(guī)則進(jìn)行處理即可。首先對規(guī)則的條件部分的隸屬度做與運(yùn)算,即:
然后,再各自與規(guī)則中結(jié)論部分的模糊集合Un(n=1,2,3,4)做與運(yùn)算,即:
其中:αn(n=1,2,3,4)是4 個(gè)模糊集合,最后再把這4 個(gè)模糊集合做并運(yùn)算,得:
由模糊推理得到的U*仍然是一個(gè)模糊集合。
模糊控制器的最后一步是解模糊。模糊推理將模糊的輸入信息轉(zhuǎn)化為模糊的輸出信息,但是這個(gè)模糊的輸出信息不能直接用于控制,這就需要將模糊的輸出信息還原為確定性的結(jié)果。解模糊就是將經(jīng)過模糊化處理的信息重新還原為確定量的過程。解模糊的方法也有多種,如最大隸屬度法、加權(quán)平均法、重心法等,不同的方法會(huì)產(chǎn)生不同的結(jié)果。最大隸屬度法計(jì)算簡單,但會(huì)丟失很多信息,而重心法有更平滑的輸出推理控制,因此使用重心法,對于有9 個(gè)輸出量化級數(shù)的離散域情況有:
式中:vi表示第i 個(gè)輸出量化級數(shù);μU*(vi)表示在模糊集合U*中vi的隸屬度;uFC表示經(jīng)重心法計(jì)算得到的精確量。
積分控制是控制系統(tǒng)中一種基礎(chǔ)的控制方法,它可以用來消除系統(tǒng)的穩(wěn)態(tài)誤差并提高系統(tǒng)的穩(wěn)定性。在積分控制中,控制器將系統(tǒng)的誤差積分并將積分結(jié)果與積分系數(shù)相乘作為控制信號輸出,從而實(shí)現(xiàn)對系統(tǒng)的控制。在原來的模糊控制系統(tǒng)的基礎(chǔ)上,加入積分控制器,如圖5 所示,此時(shí)的控制量變?yōu)槟:刂破鞯妮敵龊头e分控制器的輸出之和,即:
圖5 模糊積分控制系統(tǒng)框圖Fig.5 Block diagram of fuzzy integral control system
式中:u 為總的控制量;uFC為模糊控制器輸出的控制量;uS為積分控制器輸出的控制量。
但在實(shí)際的計(jì)算機(jī)控制中,積分控制算法往往要加以改進(jìn),這是因?yàn)殡S著積分值的不斷增大或減小,有可能會(huì)使得u>umax或者u 在數(shù)據(jù)塊中,有些參數(shù)需要設(shè)定初始值,如給定值和積分系數(shù)等。在主程序中只有顯示程序,即對上水箱液位高度的顯示、下水箱液位高度顯示和閥門開度百分比顯示。建立一個(gè)循環(huán)中斷組織塊,設(shè)置中斷時(shí)間為2 s,即每2 s 執(zhí)行一次中斷子程序。在循環(huán)中斷子程序中,需要進(jìn)行誤差和誤差變化率的計(jì)算,對其進(jìn)行量化,然后進(jìn)行模糊控制計(jì)算、積分控制計(jì)算,最后輸出控制量。積分控制的有無取決于積分系數(shù),當(dāng)積分系數(shù)設(shè)置為0 時(shí)相當(dāng)于不加入積分,即系統(tǒng)為模糊控制;當(dāng)積分系數(shù)不為0時(shí),積分控制器開始起作用。 在MCGS 中繪制監(jiān)控畫面和實(shí)時(shí)曲線,然后對變量進(jìn)行連接,進(jìn)行通信設(shè)置。運(yùn)行時(shí)的畫面如圖6所示。 圖6 MCGS 運(yùn)行畫面Fig.6 MCGS operation screen 首先將積分系數(shù)設(shè)置為0.0,設(shè)定高度為20.0 cm,采樣周期為2.0 s,這時(shí)的控制算法為純模糊控制,測得曲線如圖7 所示。 圖7 模糊控制響應(yīng)曲線Fig.7 Fuzzy control response curve 設(shè)置積分系數(shù)為5.0,設(shè)定高度為20.0 cm,采樣周期為2.0 s,這時(shí)控制系統(tǒng)變?yōu)槟:e分控制,測的曲線如圖8 所示。 圖8 模糊積分控制響應(yīng)曲線Fig.8 Response curve of fuzzy integral control 經(jīng)過2 次實(shí)驗(yàn),測量得到2 種控制系統(tǒng)階躍響應(yīng)的性能指標(biāo),如表3 所示。 表3 兩次實(shí)驗(yàn)的性能指標(biāo)Tab.3 Performance indicators of two experiments 本系統(tǒng)采用西門子S7-1500系列PLC 作為主控制器,以MCGS 觸摸屏為上位機(jī),利用模糊控制和模糊積分控制算法實(shí)現(xiàn)了對雙容水箱的液位控制。根據(jù)實(shí)驗(yàn)結(jié)果可以看出對于雙容水箱液位控制系統(tǒng)來說,模糊控制算法和模糊積分控制算法都可以實(shí)現(xiàn)系統(tǒng)的穩(wěn)定。模糊控制算法有12%的超調(diào)量,存在4 cm 的穩(wěn)態(tài)誤差,而模糊積分控制算法可以消除穩(wěn)態(tài)誤差,存在15%的超調(diào)量,達(dá)到峰值的時(shí)間比模糊控制要快。模糊控制和模糊積分控制都不需要知道系統(tǒng)的精確數(shù)學(xué)模型,對于該系統(tǒng),模糊積分控制算法比模糊控制算法性能更優(yōu),且相對于傳統(tǒng)的PID 控制算法來說,模糊積分控制算法只有積分系數(shù)一個(gè)參數(shù),更容易調(diào)節(jié)。5 編程實(shí)現(xiàn)
6 結(jié)語