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