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