基于LabVIEW與MATLAB的模糊參數(shù)自整定PID控制
在MATLAB中,對于FIS結(jié)構(gòu)的編輯方法有兩種,一種是直接編程,另外一種是利用FIS編輯器。本文采用FIS編輯器與Simulink相結(jié)合的方法。
在MATLAB命令窗口中輸入Fuzzy,打開基本FIS編輯器,編輯步驟如下:
LabVIEW與MATLAB在應(yīng)用領(lǐng)域方面?zhèn)戎攸c(diǎn)不同,各有優(yōu)勢領(lǐng)域。因此,在工程中利用兩者間的混合編程優(yōu)勢互補(bǔ),對于開發(fā)功能更為強(qiáng)大的智能化虛擬儀器具有巨大的推動作用。本文利用LabVIEW內(nèi)部集成的MATLAB Script Node實(shí)現(xiàn)兩者混合編程,完成模糊參數(shù)自整定PID的設(shè)計(jì),控制器的設(shè)計(jì)程序如圖5所示。
Fuzzy-PID的程序框圖由一個while循環(huán)組成,在while循環(huán)內(nèi)實(shí)現(xiàn)手自動切換、偏差處理、參數(shù)調(diào)整、控制器初始化、調(diào)用模型動態(tài)鏈接庫文件等功能。這個while循環(huán)每次被調(diào)用時只執(zhí)行一次。這里使用循環(huán)的目的是利用while循環(huán)的移位寄存器來保存數(shù)據(jù)。移位寄存器可用于將上一次循環(huán)的值傳遞至下一次循環(huán),因此可以借助移位寄存器記錄程序的運(yùn)行狀態(tài)和中間結(jié)果,它們在程序再次被調(diào)用時將被用到。上圖中的移位寄存器第一個作為手動輸出的保持器保持保存手動輸出值,第二個寄存器記錄控制器的運(yùn)行狀態(tài)。兩個結(jié)合起來實(shí)現(xiàn)控制器的手自動無擾動切換。
4 控制器的應(yīng)用
為了檢驗(yàn)Fuzzy-PID控制器的實(shí)際控制效果,本文以北京華晟A3000高級過程控制實(shí)驗(yàn)系統(tǒng)中的非線性液位過程作為被控對象,用研華公司生產(chǎn)的ADAM4000 I/O模塊將所設(shè)計(jì)的控制器與被控對象連接,構(gòu)成了具有模糊自整定PID參數(shù)的控制系統(tǒng),并將該系統(tǒng)在受到干擾作用時的控制品質(zhì)與常規(guī)PID控制系統(tǒng)的控制品質(zhì)進(jìn)行比較。兩系統(tǒng)的控制效果如圖6所示。
由圖6可見,當(dāng)系統(tǒng)設(shè)定值或干擾發(fā)生較大的階躍變化時,F(xiàn)uzzy-PID控制系統(tǒng)的抗干擾能力、跟蹤效果、控制品質(zhì)明顯優(yōu)于常規(guī)PID控制。
5 結(jié)論
在MATLAB環(huán)境下,使用模糊邏輯工具箱(FIS)搭建虛擬控制器的Fuzzy-PID算法,利用LabVIEW來設(shè)計(jì)人機(jī)界面、信號采集、數(shù)據(jù)處理與存儲等工程應(yīng)用中所需的其他功能,并通過運(yùn)用LabVIEW內(nèi)部所集成的“MATLAB Script Node”將LabVIEW與MATLAB混合編程,實(shí)現(xiàn)上述兩部分設(shè)計(jì)的集成,完成模糊自整定PID參數(shù)控制器的整機(jī)設(shè)計(jì)。Fuzzy-PID控制系統(tǒng)的實(shí)控結(jié)果表明,所設(shè)計(jì)的虛擬控制器對非線性特性較為嚴(yán)重的被控對象的控制,具有較強(qiáng)的自適應(yīng)能力和魯棒性,其控制品質(zhì)優(yōu)于常規(guī)PID控制器。
pid控制相關(guān)文章:pid控制原理
pid控制器相關(guān)文章:pid控制器原理
評論