米一博,石紅瑞
(東華大學 信息科學與技術學院,上海 201620)
?
模糊PID算法在溫度對象中的應用
米一博,石紅瑞
(東華大學 信息科學與技術學院,上海 201620)
針對加熱爐溫度存在慣性、滯后等現(xiàn)象,在傳統(tǒng)PID控制的基礎上,利用模糊控制規(guī)則在線修正PID參數(shù),實現(xiàn)對溫度更加精準的控制。實驗采用MCGS工控組態(tài)軟件,結合VB及Matlab的COM技術,開發(fā)了模糊PID控制算法,應用于實驗加熱爐的溫度控制。實驗結果表明: 模糊PID控制方案在超調量、調節(jié)時間等方面具有較好的控制性能。
模糊PID溫度控制MCGS組態(tài)軟件COM技術
溫度是工業(yè)中常見的一個控制參數(shù),在不同程度上存在慣性、滯后及非線性等特點。常規(guī)的PID控制器經(jīng)過參數(shù)整定后能夠實現(xiàn)對溫度對象的控制,但當溫度對象發(fā)生改變時,控制器通常難以適應變化后的對象,從而產(chǎn)生偏差和震蕩,難以實現(xiàn)對溫度對象精確的控制[1-3]。模糊控制是一種智能化控制策略,它的特點是魯棒性較好,對過程參數(shù)的變化具有較強的適應能力,具備較好的動態(tài)響應性能[4-5]。筆者將模糊控制與常規(guī)PID控制器相結合,設計了模糊PID控制方案應用于溫度對象。
以電加熱爐實驗裝置為被控對象,設計如圖1所示的溫度控制系統(tǒng)。系統(tǒng)以工控機和I/O卡板件(泓格i7017 I/O卡件,泓格i7024O/I卡件,泓格i7052串口通信卡件)為硬件設備,監(jiān)控軟件采用MCGS工業(yè)組態(tài)軟件,實現(xiàn)對電加熱爐溫度對象的控制。
模糊PID控制器是以響應偏差e及偏差變化率ec作為輸入,用模糊控制規(guī)則對PID控制器的參數(shù)P(KP),I(KI),D(KD)進行實時修改,以適應不同時刻的偏差及偏差變化率對PID參數(shù)的要求。模糊PID控制器的控制原理如圖2所示。
圖1 溫度控制系統(tǒng)示意
圖2 模糊PID控制器原理示意
模糊PID控制器的算法主要包括模糊化、模糊策略以及解模糊三部分:
1) 模糊化。定義e的模糊論域為{-6,-4, -2, 0, 2, 4, 6};ec的模糊論域為{-3,-2, -1, 0, 1, 2, 3};KP,KI,KD的模糊論域為{1/2,3/5,3/4,1,4/3,5/3,2 }。然后以等腰三角形為隸屬函數(shù),對所得e和ec進行量化得到模糊論域。
2) 模糊規(guī)則。即KP,KI,KD與e,ec的關系,其主要的控制規(guī)則[6-7]: 當|e|較大時,應該增大KP,減小KD,以提高控制系統(tǒng)的跟蹤性能,同時為了避免系統(tǒng)超調過大,應限制積分作用;當|e|中等時,為了降低系統(tǒng)的超調量,應該減小KP,同時保持KI,KD的值應該適中,以保證系統(tǒng)的響應速度;當|e|較小時,KP,KI,KD都應該增大,以提高系統(tǒng)的穩(wěn)態(tài)性能;同時為了避免系統(tǒng)在設定值附近抖動,提高抗干擾性,當ec較小時,KD可以取大一些;而當ec較大時,KD取得應該小一些。具體的KP,KI,KD的模糊控制規(guī)則見表1~表3所列。
表1 KP控制規(guī)則
表2 KI控制規(guī)則
表3 KD控制規(guī)則
MCGS是一種通用的工業(yè)組態(tài)軟件,基于獲取的現(xiàn)場數(shù)據(jù),通過其軟件包中的工具對硬件、數(shù)據(jù)及圖像等進行組態(tài)以快速構成控制系統(tǒng),為用戶提供工程解決方案[8]。MCGS中系統(tǒng)的實現(xiàn)步驟包括硬件組態(tài)、數(shù)據(jù)配置、策略組態(tài)及畫面組態(tài)等,每個步驟都有對應的軟件包以供使用,其中策略組態(tài)部分包括自編程序和調用功能構件兩種方式。MCGS自帶的編程器只能進行有限行數(shù)的代碼編寫,且支持的語句類型亦有限,而由于模糊PID控制算法的復雜性,需要應用功能構件的方式來實現(xiàn)。利用MCGS和MCGS高級開發(fā)包實現(xiàn)模糊自適應控制算法的過程如下:
1) 生成程序框架。MCGS使用Active DLL方式實現(xiàn)功能構件,通過規(guī)范的OLE接口將構件掛接到軟件中,將它與VB進行交互鏈接,利用VB的強大軟件開發(fā)功能,可以開發(fā)出用戶定制功能的功能構件[9]。
a) 安裝MCGS高級開發(fā)包,然后啟動VB,選擇“外接程序菜單”—“MCGS開發(fā)向導”—“運行策略功能構件”,即可生成功能構件的源程序框架。
b) 需要進行兩個步驟: 進行構件界面的設計;根據(jù)構件功能按照MCGS規(guī)范接口進行編程。根據(jù)模糊PID算法的原理,首先設計構件在MCGS組態(tài)和運行環(huán)境中的兩個顯示界面,在組態(tài)界面中設置輸入值誤差e,誤差變化率ec及PID各參數(shù)KP,KI,KD所對應的數(shù)據(jù)對象,運行界面中顯示當前誤差,誤差變化率及PID各參數(shù)的變化量。
c) 根據(jù)界面中每個對象的功能對接口進行編寫,MCGS的規(guī)范接口包括執(zhí)行菜單命令,設置構件的屬性,執(zhí)行構件的功能和編譯查錯時調用,這里的重點是按照各個接口的性質及標準格式,將功能寫入程序中,便能實現(xiàn)所需的基本構件功能。
2) VB與Matlab的實時數(shù)據(jù)交換。VB中可以自行編寫代碼進行數(shù)據(jù)處理,但是實現(xiàn)的速度和效果遠不及Matlab,而Matlab在強化自身數(shù)據(jù)分析能力的同時,還積極擴展軟件的外部開發(fā)功能。利用Matlab的COM技術能夠輕松實現(xiàn)VB與Matlab的通信,進行實時數(shù)據(jù)交換[10-11]。首先根據(jù)模糊自適應算法原理在Matlab中編寫實現(xiàn)模糊PID控制的M文件,然后在Matlab界面輸入“mbuilder-setup”,選擇外部編譯器,輸入“comtool”,在彈出的對話框中新建工程,載入編輯好的M文件,點擊Build編譯生成COM組件,此時會生成一個Library文件,這是一個進程內組件,以.dll形式存在,可脫離軟件獨立運行。完成之后在VB的開發(fā)環(huán)境中選擇引入COM組件,即添加Library文件,引入該組件后,在VB中配置好輸入和輸出的參數(shù),實現(xiàn)算法功能。
3) MCGS調試與調用。這里需要啟動MCGS工程(新建或打開原有工程)才能進行調試,根據(jù)輸入輸出數(shù)據(jù)的顯示對VB程序進行修改,修改完成后將VB工程重新編譯,生成**.dll文件,最后將文件拷貝到“目錄: MCGSProgramAddIns用戶定制構件”中,啟動MCGS在“工具”—“策略構建管理”—“用戶定制構建”選擇“模糊PID控制器(在編程環(huán)節(jié)自命名)”進行安裝。安裝完成之后在運行策略的組態(tài)窗口的策略工具箱內,會顯示“模糊自適應控制器”,可在系統(tǒng)組態(tài)時直接調用。
首先新建MCGS工程,構建實時數(shù)據(jù)庫,配置好各種數(shù)據(jù)參數(shù);然后進行組態(tài)畫面的設計,實時顯示溫度參數(shù)曲線和功能畫面;之后對設備窗口進行配置,在該窗口中選擇所構成的溫度系統(tǒng)硬件進行驅動以獲取數(shù)據(jù),同時在此窗口中調用“模糊PID控制器”,根據(jù)彈出的對話框選擇參數(shù)進行匹配;最后編譯運行,系統(tǒng)開始工作。
實驗中,在設備窗口分別選擇軟件自帶的“PID控制器”與編寫的“模糊PID控制器”進行實驗。設定目標溫度為40℃,調節(jié)的結果如圖3所示,圖3a)為調用PID控制器(參數(shù)為KP=2,KI=0.2,KD=0.05)的結果,圖3b)為調用模糊PID控制器(初始參數(shù)設為KP=2, KI=0.2, KD=0.05,穩(wěn)態(tài)參數(shù)為KP=1.89, KI=0.54, KD=0.26)的結果。
實驗結果顯示,PID控制器的超調量較大,當設定值為40℃時,最高溫度達到77℃,且系統(tǒng)調節(jié)時間較長,持續(xù)將近650s;模糊PID算法的超調量較小,且調節(jié)時間為300s左右。模糊PID控制方案體現(xiàn)了較為優(yōu)越的動態(tài)性能,無論在超調量、調節(jié)時間還是抗干擾方面都具備較好的控制性能。
圖3 實驗結果
將模糊算法與PID算法相結合,通過模糊規(guī)則在線修正PID控制算法的參數(shù),以適應過程中對象的變化,且在溫度對象中進行應用,體現(xiàn)了算法較好的動態(tài)性能。模糊PID算法無需精確模型便能實現(xiàn)對對象的控制,對溫度對象的控制具有不錯的效果,實際系統(tǒng)中具備可行性。
[1]YOSHITANI N, HASEGAWA A. Model-based Control of Strip Temperature for the Heating Furnace in Continuous Annealing[J].Control Systems Technology, 1998, 6(02): 146-156.
[2]封子文,李宏光,陳蘭朋,等.基于PID控制器性能評價[J].石油化工自動化, 2012, 48(03): 30-33.
[3]俞仁皓,宋家海,王建.松散回潮工序回風溫度PID控制參數(shù)的優(yōu)化[J].煙草科技, 2010(07): 8-10.
[4]王永富,柴天佑.自適應模糊控制理論的研究綜述[J].控制工程,2006,13(03): 193-198.
[5]王樹東,張東,劉旭東,等.模糊控制在城市污水處理中的應用[J].工業(yè)儀表與自動化裝置,2010(02): 16-18.
[6]高憲文,趙亞平.焦爐模糊免疫自適應PID控制方法的應用研究[J].控制與決策,2005,20(12): 1346-1349.
[7]石紅瑞,劉璽,劉勇,等.二次開發(fā)WinCC嵌入模糊控制算法[J].石油化工自動化,2002,38(01): 39-41.
[8]鄒偉,楊平,徐德.基于MCGS組態(tài)軟件的上位機控制系統(tǒng)設計[J].制造業(yè)自動化,2008,30(12): 103-108.
[9]陳超洋,陳華德,馬龍博. MCGS組態(tài)軟件與VB數(shù)據(jù)交換的實現(xiàn)[J].工業(yè)儀表與自動化裝置,2009(02): 86-88.
[10]黃錫泉,龍藝秋.基于COM組件的VB與Matlab接口編程[J].電腦編程技巧與維護,2005(01): 34-36.
[11]潘愛民.COM原理及應用[M].北京: 清華大學出版社,1999: 152-220.
Application of Fuzzy-PID Algorithm in Temperature Control
Mi Yibo, Shi Hongrui
(College of Information Science and Technology, Donghua University,Shanghai, 201620, China)
Abstracts: Aiming at problems of temperature inertia and lag, fuzzy control rules are applied to tune PID parameters to realize more accurate temperature control based on classic PID control. The fuzzy-PID control algorithm is developed with adopting MCGS and combination of VB and Matlab’s COM technology, and is applied in temperature control of a heating furnace. The experiment results show fuzzy-PID algorithm has better performance on overshoot and setting time.
fuzzy-PID;temperature control;MCGS configuration software;COM technology
米一博(1991—),男,東華大學在讀碩士研究生,主要研究方向為先進工業(yè)控制技術。
TP273
B
1007-7324(2016)04-0029-03
稿件收到日期: 2016-03-11。