文章編號:1003-6199(2011)04-0038-04
摘 要:通過LabVIEW與MATLAB進行混合編程的方式,借助兩軟件各自的優勢,設計出具有模糊自適應PID控制算法的虛擬儀器,并對不同的對象特性進行控制系統的仿真與三容水箱液位的實時測控。實驗結果表明,模糊自適應PID控制系統的控制效果良好,具有較強的魯棒性。
關鍵詞:LabVIEW與MATLAB的混合編程; 模糊自適應PID; 魯棒性;虛擬儀器
中圖分類號: TP273.4 文獻標識碼:A
Fuzzy Adaptive PID Realization Based on LabVIEW
QI Xiaokun ,PENG Yuning , LU Chao , HE Xin,MENG Fanyu
(School of Electrical Engineering, Guangxi University, Nanning 530004, China)
Abstract:With advantage of LabVIEW and MATLAB, the paper which gets LabVIEW and MATLAB mixed, designs a fuzzy adaptive PID control algorithm of virtual instrument. It not only simulates of control system for different object characteristics, but also measures and controls three let water level of the real-time. According to the results of experiment, the effect of fuzzy adaptive PID control system control having the strong robustness is superior.
Key words:mixed programming of LabVIEW and MATLAB; fuzzy parameter selfadjusting PID;robustness;virtual instrument
1 引 言
自PID算法誕生以來,以其結構簡單、穩定性好、工作可靠、調整方便而成為工業應用中的首選控制策略之一,其在模型確定、線性系統中具有良好的控制效果,但在非線性、強耦合、大滯后、模型不確定的情況下則顯得力不從心。在工業技術快速發展的今天,許多的工業過程仍具有不同程度的非線性、參數時變、模糊不確定等特性,對此,傳統的PID控制效果并不理想。
隨著計算機技術的飛速發展,和智能控制器的出現,使先進和新型的控制算法用于實際工業過程的控制成為了現實,模糊控制算法便是其中之一。模糊控制算法具有容易建立語言控制規則,對于那些數學模型難以確定、動態特性不易掌握或變化非常顯著的對象適用能力強,此外,它還具有一定的智能水平,魯棒性強,對非線性、時變及滯后系統的控制效果好的優點。將模糊控制與PID控制兩者相結合,使之兼具兩者的優點,即構成模糊自適應PID控制算法。本文采用LabVIEW與MATLAB混合編程技術,借助LabVIEW中的“MATLAB Script Node”節點,充分發揮兩軟件各自的優勢,編寫控制算法,設計人機界面,實現模糊自適應PID控制器的開發,并進行控制系統的仿真與實時測控。
2 模糊自適應PID控制算法的實現
模糊自適應PID控制由軟件和硬件等構成,硬件部分包括計算機、A/D、D/A轉換接口等,軟件部分包括模糊環節連接等,其基本結構包括模糊化、模糊規則基(知識庫)、模糊推理、解模糊、輸入、輸出量化等環節[1]。
所設計的模糊控制器具有如下功能:
1)將系統偏差、偏差變化率進行量化,從模擬量轉換為計算機控制器可以接受的數字量。
2)對模糊后的量值按照所設計的規則進行模糊推理。
3)將推理結果的模糊輸出量進行解模糊,轉換為實際系統可以接受的精確模擬量或者數字量。
模糊控制器的設計關鍵在于怎樣建立有效的知識庫,即數據庫和規則庫,而決策邏輯控制實際上是取決于規則庫實現的。
模糊自適應PID控制器采取誤差E和誤差變化率EC作為輸出,利用模糊控制規則自整定PID參數進行調整,即構成自適應模糊整定PID控制器, 完整的模糊自適應PID控制系統如圖1示。
依據P(比例)、I(積分)、D(微分)各個參數對系統控制作用的影響,其各自的調節規則如下:
1)P (比例) 根據系統偏差進行作用,通過偏差產生調節作用以減小偏差,當P參數值大時,可以加快系統的調節速度,減小誤差,但是,隨著參數值的增大,系統穩定性隨之降低,甚至會造成系統的振蕩,使得系統無法穩定。
2)I(積分)可以消除系統偏差的存在,使得系統達到設定值,但是,I作用的加入會使得系統的響應速度降低,穩定性變差,一般不單獨使用。
3)D(微分)反映系統偏差變化率,具有超前調節作用,可以改變系統動態特性,D參數選取得當,一方面可以減小系統超調量,加快系統過渡過程,另一方面,其對干擾信號具有放大作用,過強的微分作用反而對系統抗干擾不利。
PID參數整定需要考慮在不同時刻各自的作用及相互作用,模糊自整定PID是在PID控制的基礎上,通過實時計算E和EC,利用模糊規則進行推理,自動調整PID在不同時刻的各個參數值。
kp、ki、kd模糊規則表如下[2]。
利用各個模糊集合的隸屬度賦值表,應用模糊合成推理設計的PID參數模糊矩陣表,查出修正參數代入下面的式子進行計算。
kp=kp0+Ei+ECip
ki=ki0+Ei+ECii
kd=kd0+Ei+ECid
控制系統通過模糊規則的結果進行處理、查表和計算,實現參數的自動調整,即在線修正控制器的PID參數,使得每時刻所對應的PID參數可以很好地適應系統的變化。
3 LabVIEW模糊自適應PID控制器的
設計與應用
LabVIEW是由美國NI公司研制開發的虛擬儀器程序開發環境,與C和BASIC開發環境類似。用戶可以根據自己需要靈活地定義儀器的功能,通過不同功能模塊的組合可構成多種儀器,而不受限于儀器廠商提供的特定功能,可以快速地搭建交互系統的用戶界面。所設計的虛擬儀器能簡單、方便、快捷地與多種硬件設備無縫連接。
本文利用LabVIEW與MATLAB的混合編程技術設計模糊自適應PID控制器。設計思路與方法:
1)由于LabVIEW在大型計算方面的欠缺,為了保證模糊自適應PID運算的實時特性,我們使用了計算引擎優秀的MATLAB作為模糊自適應PID控制算法的運算平臺,利用LabVIEW中的“MATLAB Script Node”編寫模糊自適應PID控制算法,即使用MATLAB服務器進行后臺運算,將所編寫的算法設計為LabVIEW的一個子VI,命名為FuzzyPID.VI。算法主程序如下。
%Using fuzzy inference to tunning PID
k_pid=evalfis([e_1,ec_1],a);
kp=kp0+k_pid(1);
ki=ki0+k_pid(2);
kd=kd0+k_pid(3);
detu=kp*x(1)+kd*x(2)+ki*x(3);
u=detu+u_1;
if u>100.0
u=100.0;
end
if u<-100.0
u=-100.0;
end
x(1)=error-error_1;% Calculating P
x(2)=error-2*error_1+error_2; % Calculating D
x(3)=error; % Calculating I
e_1=x(1);
ec_1=x(2);
在算法中,根據不同的系統對象特性,運算出相適應的PID參數進行調整,使得控制系統獲得最佳的控制效果。
2)通過輸入值(SP)修改系統的給定值,實時觀察系統的運行情況,確定系統的跟隨特性。在程序執行過程中,系統可通過實時趨勢圖 Chart控件將調控過程及其參數變化情況直觀地呈現出來。
在LabVIEW中編寫仿真程序,讓傳遞函數H(s)的模型可以進行修改。所編寫的模糊自適應PID控制算法子VI——FuzzyPID.VI,其P、I、D三參數可根據需要自動實時調整,無須人為修改。當用戶在控制面板中改變設定值(SP)時,系統做出相應地響應,P、I、D三參數便自動地調節到某個適當值,使系統輸出能快速、精準地跟隨設定值的變化而變化,以得到理想的控制效果。設置傳遞函數H(s) ,運行程序,所得仿真結果如圖2所示:
其中,左邊圖H(s)為10010470s+1,右邊圖H(s)為523500s2+10470s+1。
將所編寫好的控制算法子VI(FuzzyPID.VI)嵌入到用LabVIEW開發的虛擬儀器主程序中,并對A3000高級過程控制系統實驗裝置上的三容水箱(具有三階特性)液位進行控制,控制效果如圖3所示。
圖3中,黑色曲線為設定值(SP),綠色曲線為三容水箱液位過程量(PV),紅色曲線為電動調節閥開度(MV)。所設計的模糊自適應PID控制算法,可根據描述被控對象——三階水箱特性的參數變化自動調整控制器的PID三參數,實現參數的最佳調整,使得系統獲得良好的控制效果。
通過仿真與實控可知,系統在設定值(SP)發生改變,甚至傳遞函數發生變化的情況下,依然獲得理想的控制效果。
4 結 論
文章通過LabVIEW與MATLAB的混合編程方法,借助兩軟件各自的優點,實現在LabVIEW環境下編寫模糊自適應PID控制算法,開發出相應的控制系統。利用LabVIEW具有簡明、直觀、易用的特點,將控制系統的變化過程實時動態地顯示出來,同時為了彌補LabVIEW在大型復雜運算及先進控制算法實現方面的欠缺,用具有優秀運算引擎、可高效地執行大型復雜運算的MATLAB編寫控制算法程序,并通過LabVIEW中的“MATLAB Script Node”節點建立兩軟件的通信,實現數據交換與處理。由模糊自適應PID控制系統的仿真和實際控制結果可知,該系統具有較強的自適應能力和魯棒特性,在跟隨過程特性變化、控制品質等方面均優于經典的PID控制。
參考文獻
[1] 孫優賢,褚健.工業過程控制技術方法篇[M].北京:化學工業出版社,2005.
[2] 劉金琨.先進 P I D控制 MAT LAB仿真 [M ].北京:電子工業出版社,2004.
[3] 劉立靜.基于LabVIEW的鍋爐燃燒監控關鍵技術研究[D].青島:中國海洋大學碩士論文,2006:11-13.
[4] 彭宇寧,黃世奎.基于LabVIEW與MATLAB的模糊參數自整定PID控制[J].儀器儀表學報,2008:2-3.
[5] 張佩,王靜,許偉明,等.基于LabVIEW變工作點智能控制的實現[J].微計算機信息, 2007 (1):146-147,2.
[6] 彭宇寧,朱后. 利用DLL技術實現LabVIEW和MATLAB混合編程[J].計算機與現代化,2007(8):93-95.
收稿日期:2011-10-18
基金項目:廣西壯族自治區教育廳項目(200808MS155);廣西大學國家大學生創新性實驗計劃項目(201009)
作者簡介:齊小坤 (1987—),男 , 河南省許昌縣人,學士,研究方向:測控、過程控制等(E-mail:qilxiao2kun@163.com);彭宇寧(1959—),女,四川成都人,教授,碩士,研究方向:過程控制工程,網絡化技術,虛擬儀器。