摘 要: 隨著科學(xué)技術(shù)的普及發(fā)展,以及計(jì)算機(jī)應(yīng)用進(jìn)入各個(gè)領(lǐng)域,使用科學(xué)計(jì)算軟件已經(jīng)變成越來(lái)越常規(guī)的工作。在這樣的背景下,Matlab(主要是基于數(shù)值式計(jì)算)、MAPLE(主要是基于符號(hào)式計(jì)算)等科學(xué)計(jì)算軟件得到了迅猛發(fā)展。科學(xué)計(jì)算軟件的廣闊發(fā)展前景以及在未來(lái)的普及應(yīng)用,同樣是不可低估的。在此通過(guò)SCILAB軟件對(duì)PID控制器參數(shù)優(yōu)化進(jìn)行仿真分析,看到了SCILAB軟件在PID控制方面的應(yīng)用具有可行性和可靠性,為今后PID控制領(lǐng)域的分析探索出新的領(lǐng)域。
關(guān)鍵詞: SCILAB; PID控制; 參數(shù)優(yōu)化; 科學(xué)計(jì)算軟件
中圖分類(lèi)號(hào): TN710?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)03?0128?03
Analysis of PID controller based on SCILAB/Xcos
ZHAO Li?na, ZHU zhi?ying
(Dalian Institute of Science and Technology, Dalian 116052, China)
Abstract: With the development of science and technology, as well as computer application in all fields, the use of scientific computing software has become more and more routine work. In this context, the Matlab (mainly based on numerical calculation), MAPLE (mainly based on symbolic calculation) and other scientific calculation software has been rapidly developed. The broad development prospect and future universal application of scientific computing softwares should not be underestimated. A simulation analysis for PID controller parameter optimization is conducted with SCILAB software. It is found that the SCILAB software is feasible and reliable in the field of PID control. Some new areas have been explored for analysis in the field of PID control.
Keywords: SCILAB; PID control; parameter optimization; scientific computing software
0 引 言
SCILAB是一種與Matlab類(lèi)似的科學(xué)工程計(jì)算軟件,其數(shù)據(jù)類(lèi)型豐富,可以很方便地實(shí)現(xiàn)各種矩陣運(yùn)算與圖形顯示,能應(yīng)用于科學(xué)計(jì)算、數(shù)學(xué)建模、信號(hào)處理、決策優(yōu)化、線性/非線性控制等各個(gè)方面。它還提供可以滿(mǎn)足不同工程與科學(xué)需要的工具箱,例如SCICOS,信號(hào)處理工具箱,圖與網(wǎng)絡(luò)工具箱等。可以說(shuō),就基本的功能如科學(xué)計(jì)算、矩陣處理及圖形顯示而言,Matlab能完成的工作SCILAB都可以實(shí)現(xiàn)。
主要介紹論文的背景、相關(guān)領(lǐng)域的前人研究歷史與現(xiàn)狀,以及作者的意圖與依據(jù),包括論文的追求目標(biāo),研究范圍和理論依據(jù)、技術(shù)設(shè)計(jì)等;不應(yīng)詳述教科書(shū)上能找到的基本理論。
1 分析方法
1.1 SCILAB簡(jiǎn)介
由于SCILAB的語(yǔ)法與Matlab非常接近,熟悉Matlab編程的人很快就會(huì)掌握SCILAB的使用。同時(shí),SCILAB提供的語(yǔ)言轉(zhuǎn)換函數(shù)可以自動(dòng)將用Matlab語(yǔ)言編寫(xiě)的程序翻譯為SCILAB語(yǔ)言。目前,SCILAB除了WINDOWS與NT版本外,還有多種UNIX或LINUX下的版本,如SGI MIPS Irix,PC Linux,Sun Sparc stations(Sun Solaris)等。
目前SCILAB已經(jīng)發(fā)布到5.4.1版,全世界使用SCILAB的人數(shù)估計(jì)有1 000 000。SCILAB也是以矩陣作為主要的數(shù)據(jù)類(lèi)型,同時(shí)擁有豐富的繪圖功能。SCILAB能處理包括信號(hào)處理、數(shù)據(jù)分析、圖像增強(qiáng)、數(shù)值優(yōu)化、動(dòng)態(tài)系統(tǒng)仿真等方面的問(wèn)題。網(wǎng)絡(luò)上也有不少人為它寫(xiě)了許多延伸庫(kù)、豐富了它的功能。
同Matlab軟件中的Simulink工具箱類(lèi)似,SCILAB也擁有一個(gè)用于混合動(dòng)態(tài)系統(tǒng)建模/仿真的工具箱:Xcos(它代替了SCILAB 5.2之前的Scicos)。用戶(hù)可以自己編寫(xiě)擴(kuò)展的工具模塊并添加于SCILAB中,或者使用別人已編寫(xiě)好的擴(kuò)展模塊。SCILAB提供了一個(gè)模塊管理器(ATOMS)統(tǒng)一對(duì)擴(kuò)展模塊進(jìn)行搜索、安裝和更新。SCILAB的其他一些工具箱:圖像處理(SIP、SIVP)、小波變換(SCILAB Wavelet Toolbox)、串口通信(Serial Communication Toolbox)、圖形和網(wǎng)絡(luò)計(jì)算(Metanet)、GPU計(jì)算(sciGPGPU)、航天動(dòng)力學(xué)分析(CelestLab)等等。
1.2 SCILAB的特點(diǎn)
作為開(kāi)放源碼的軟件,SCILAB的源代碼、用戶(hù)手冊(cè)及二進(jìn)制的可執(zhí)行文件都是免費(fèi)的,公布于INRIA的網(wǎng)站上可以直接下載,在網(wǎng)站也可以下載。用戶(hù)不僅可以在SCILAB的許可證條件下自由使用該軟件,還可以根據(jù)自己需要修改源代碼,使之更加符合自身需要。其主要特點(diǎn)如下:
(1) 目前有大約1 700個(gè)用于科學(xué)和工程計(jì)算的數(shù)學(xué)函數(shù)可以使用;
(2) 能夠?qū)崿F(xiàn)2維和3維可視化數(shù)據(jù)圖形輸出;
(3) 對(duì)約束/無(wú)約束、連續(xù)/離散問(wèn)題的優(yōu)化問(wèn)題的應(yīng)用;
(4) 可以對(duì)數(shù)據(jù)進(jìn)行分析與建模;
(5) 在控制領(lǐng)域?qū)崿F(xiàn)對(duì)控制系統(tǒng)的分析與設(shè)計(jì);
(6) 在信號(hào)處理領(lǐng)域的分析應(yīng)用;
(7) 目前實(shí)現(xiàn)了自定義開(kāi)發(fā)擴(kuò)展功能的API。
1.3 SCILAB軟件國(guó)內(nèi)外應(yīng)用狀況
SCILAB始源于20世紀(jì)80年代在INRIA開(kāi)發(fā)的計(jì)算機(jī)輔助控制系統(tǒng)設(shè)計(jì)軟件Blaise,90年代初,Simulog停止分發(fā)Basile。Basile更名為SCILAB,1994年1月2日,SCILAB的第一個(gè)釋放版本,SCILAB 1.1上傳到一個(gè)匿名ftp站點(diǎn)。直到2002年底,SCILAB都是由6人小組與一些外部開(kāi)發(fā)者一道共同開(kāi)發(fā)并發(fā)布的。從2003年開(kāi)始,由新成立的SCILAB協(xié)會(huì)負(fù)責(zé)SCILAB軟件的后續(xù)開(kāi)發(fā)以及相關(guān)技術(shù)支持。
SCILAB協(xié)會(huì)于2005年啟動(dòng)了基于Java的 SCILAB 5.x 的開(kāi)發(fā),而之前的部分SCILAB開(kāi)發(fā)小組成員(包括ENPC以及部分INRIA成員)則在之前的 SCILAB 4.x 的基礎(chǔ)上另外發(fā)布了基于GTK+的SCILAB版本:ScicosLab(該版本集成了Scicos)。
為了保證SCILAB的長(zhǎng)遠(yuǎn)發(fā)展,在INRIA的支持下,SCILAB事業(yè)公司于2010年6月成立。自2012年7月開(kāi)始,SCILAB事業(yè)公司將完全負(fù)責(zé)對(duì)SCILAB后續(xù)版本的開(kāi)發(fā)與發(fā)布,此外公司也提供關(guān)于SCILAB的專(zhuān)業(yè)服務(wù)與支持。
對(duì)這一優(yōu)秀的自由軟件,國(guó)外已有很多人加以關(guān)注、討論和贊賞。在國(guó)內(nèi),2001年1月SCILAB首次放在旨在推廣開(kāi)放源碼軟件的“共創(chuàng)聯(lián)盟網(wǎng)站”上,短短不到一個(gè)月內(nèi),下載次數(shù)已達(dá)300多次。著名的Springer出版社于1999年6月出版了一本關(guān)于SCILAB的書(shū):《Engineering and Scientific Computing With SCILAB》,介紹了SCILAB的編程語(yǔ)言、函數(shù)、各種工具箱及其在控制、優(yōu)化、圖形、信號(hào)處理中的應(yīng)用實(shí)例。字,以反映論文具有的首創(chuàng)性;凡可用圖形、曲線或表格說(shuō)明的部分,一定不要用累贅的文字描述。避免用圖形和表格重復(fù)地反映同一組數(shù)據(jù);圖、表、公式應(yīng)編排在文中第一次提及時(shí);切忌采用教科書(shū)式的撰寫(xiě)方式,對(duì)已有知識(shí)避免重新描述或論證,盡量采用開(kāi)列參考文獻(xiàn)的方法;對(duì)用到的某些教學(xué)輔佐手段,應(yīng)防止過(guò)分注意細(xì)節(jié)的數(shù)學(xué)推導(dǎo)。
2 PID控制器的原理
在工程實(shí)際中,應(yīng)用最為廣泛的調(diào)節(jié)器控制規(guī)律為比例、積分、微分控制,簡(jiǎn)稱(chēng)PID控制,又稱(chēng)PID調(diào)節(jié)。它以其結(jié)構(gòu)簡(jiǎn)單、穩(wěn)定性好、工作可靠、調(diào)整方便而成為工業(yè)控制的主要技術(shù)之一。當(dāng)被控對(duì)象的結(jié)構(gòu)和參數(shù)不能完全掌握,或得不到精確的數(shù)學(xué)模型時(shí),控制理論的其他技術(shù)難以采用時(shí),系統(tǒng)控制器的結(jié)構(gòu)和參數(shù)必須依靠經(jīng)驗(yàn)和現(xiàn)場(chǎng)調(diào)試來(lái)確定,這時(shí)應(yīng)用PID控制技術(shù)最為方便。即當(dāng)我們不完全了解一個(gè)系統(tǒng)和被控對(duì)象,或不能通過(guò)有效的測(cè)量手段來(lái)獲得系統(tǒng)參數(shù)時(shí),最適合用PID控制技術(shù)。PID控制,實(shí)際中也有PI和PD控制。PID控制器就是根據(jù)系統(tǒng)的誤差,利用比例、積分、微分計(jì)算出控制量進(jìn)行控制的。
PID是工業(yè)生產(chǎn)中最常用的一種控制方式,PID調(diào)節(jié)儀表也是工業(yè)控制中最常用的儀表之一,PID適用于需要進(jìn)行高精度測(cè)量控制的系統(tǒng),可根據(jù)被控對(duì)象自動(dòng)演算出最佳PID控制參數(shù)。PID參數(shù)自整定控制儀可選擇外給定(或閥位)控制功能??扇〈欧糯笃髦苯域?qū)動(dòng)執(zhí)行機(jī)構(gòu)(如閥門(mén)等)。PID外給定(或閥位)控制儀可自動(dòng)跟隨外部給定值(或閥位反饋值)進(jìn)行控制輸出(模擬量控制輸出或繼電器正轉(zhuǎn)、反轉(zhuǎn)控制輸出)。可實(shí)現(xiàn)自動(dòng)/手動(dòng)無(wú)擾動(dòng)切換。手動(dòng)切換至自動(dòng)時(shí),采用逼近法計(jì)算,以實(shí)現(xiàn)手動(dòng)/自動(dòng)的平穩(wěn)切換。PID外給定(或閥位)控制儀可同時(shí)顯示測(cè)量信號(hào)及閥位反饋信號(hào)。
PID控制器的參數(shù)整定是控制系統(tǒng)設(shè)計(jì)的核心內(nèi)容。它是根據(jù)被控過(guò)程的特性確定PID控制器的比例系數(shù)、積分時(shí)間和微分時(shí)間的大小。
PID控制器參數(shù)整定的方法很多,概括起來(lái)有兩大類(lèi):一是理論計(jì)算整定法,它主要是依據(jù)系統(tǒng)的數(shù)學(xué)模型,經(jīng)過(guò)理論計(jì)算確定控制器參數(shù),這種方法所得到的計(jì)算數(shù)據(jù)未必可以直接用,還必須通過(guò)工程實(shí)際進(jìn)行調(diào)整和修改;二是工程整定方法,它主要依賴(lài)工程經(jīng)驗(yàn),直接在控制系統(tǒng)的試驗(yàn)中進(jìn)行,且方法簡(jiǎn)單、易于掌握,在工程實(shí)際中被廣泛采用。
利用該方法進(jìn)行 PID控制器參數(shù)的整定步驟如下:
(1) 首先預(yù)選擇一個(gè)足夠短的采樣周期讓系統(tǒng)工作;
(2) 僅加入比例控制環(huán)節(jié),直到系統(tǒng)對(duì)輸入的階躍響應(yīng)出現(xiàn)臨界振蕩,記下這時(shí)的比例放大系數(shù)和臨界振蕩周期;
(3) 在一定的控制度下通過(guò)公式計(jì)算得到PID控制器的參數(shù)。
PID參數(shù)自整定控制儀可選擇帶有一路模擬量控制輸出(或開(kāi)關(guān)量控制輸出、繼電器和可控硅正轉(zhuǎn)、反轉(zhuǎn)控制)及一路模擬量變送輸出,可適用于各種測(cè)量控制場(chǎng)合。PID參數(shù)自整定控制儀支持多機(jī)通信,具有多種標(biāo)準(zhǔn)串行雙向通信功能,可選擇多種通信方式,如RS 232、RS 485、RS 422等,通信波特率300~9 600 b/s 儀表內(nèi)部參數(shù)自由設(shè)定??膳c各種帶串行輸入輸出的設(shè)備(如電腦、可編程控制器、PLC 等)進(jìn)行通信,構(gòu)成管理系統(tǒng)。
3 實(shí) 驗(yàn)
現(xiàn)以一簡(jiǎn)單PID控制器為例,在Scialb控制臺(tái)窗口下:打開(kāi)兩窗口(組件盤(pán)窗口、模型窗口),選擇拖模塊,連線構(gòu)系統(tǒng);建立Xcos仿真模型。輸入即激勵(lì);系統(tǒng)輸出即響應(yīng);激勵(lì)和響應(yīng)匯入單圖形顯示器顯示,便于對(duì)比。系統(tǒng)框圖構(gòu)建如圖1所示。
圖1 系統(tǒng)框圖
3.1 對(duì)話設(shè)參數(shù)示例
3.1.1 CLR模型對(duì)話框
設(shè)置傳遞函數(shù)的參數(shù)如圖2所示。此例中該組件模塊傳遞函數(shù)設(shè)置為[1(1+0.5s+s2)。]
3.1.2 仿真激勵(lì)
參數(shù)均設(shè)置好后,可直接應(yīng)用“啟動(dòng)”工具鈕,便仿真激勵(lì)了,此時(shí)運(yùn)行期間“啟動(dòng)”工具鈕暗,“停止”工具鈕亮,可利用此工具鈕停止仿真過(guò)程。當(dāng)仿真結(jié)束了,則“啟動(dòng)”工具鈕亮,“停止”工具鈕暗。可利用“啟動(dòng)”工具鈕再次仿真運(yùn)行。仿真結(jié)束,相應(yīng)響應(yīng)曲線應(yīng)出現(xiàn)單圖形顯示器的圖像窗口。
3.1.3 分析響應(yīng)
如果考慮觀察有關(guān)觀察點(diǎn)的坐標(biāo),可以右鍵擊出圖形窗口的選擇觀察點(diǎn)坐標(biāo)方式對(duì)話框,如圖3所示。單圖形顯示器顯示了響應(yīng)曲線,以及選擇的觀察點(diǎn)坐標(biāo)。還可以在編輯菜單下選擇有關(guān)項(xiàng)目欄設(shè)置字體、網(wǎng)格、色彩等屬性,也可以在控制臺(tái)工作區(qū)用xgrid指令給圖像窗口繪制網(wǎng)格。
3.2 結(jié)果分析
對(duì)系統(tǒng)引入反饋前后仿真結(jié)果進(jìn)行比較,如圖4所示。
圖4(a)的仿真結(jié)果是仿真的初始結(jié)果,會(huì)看到與理想值差別較大,圖4(b)則是進(jìn)行了多次循環(huán)仿真之后的調(diào)整仿真結(jié)果。
4 結(jié) 論
通過(guò)循環(huán)仿真前后的對(duì)比,可以看出PID控制的優(yōu)越性,同時(shí)通過(guò)Scilab軟件的仿真運(yùn)行結(jié)果說(shuō)明,PID控制器在該軟件上的分析是可行的,并且具有一定的可靠性。
參考文獻(xiàn)
[1] 尚宏,陳志敏,任永平.一種新型非線性PID控制器及其參數(shù)設(shè)計(jì)[J].控制理論與應(yīng)用,2009(4):45?48.
[2] 王一飛,楊公訓(xùn).基于SCILAB/SCICOS的控制系統(tǒng)仿真方法研究[J].儀器儀表學(xué)報(bào),2004,25(z1):12?16.
[3] 劉志勇.科學(xué)計(jì)算軟件SCILAB及其編程研究[J].湖南工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2008,8(1):22?25.
[4] 謝援朝.Scilab在經(jīng)典控制教學(xué)中的應(yīng)用[J].中國(guó)電力教育,2009(22):46?48.
[5] 蘇玉鑫.非線性機(jī)械系統(tǒng)PID控制漸近穩(wěn)定性分析[J].自動(dòng)化學(xué)報(bào),2008,34(12):32?36.
[6] 楊世勇.模糊控制與PID控制的對(duì)比及其復(fù)合控制[J].自動(dòng)化技術(shù)與應(yīng)用,2011,30(11):41?43.
[7] 劉敏,劉藻珍.基于Matlab的轉(zhuǎn)臺(tái)控制系統(tǒng)仿真[C]//2002系統(tǒng)仿真技術(shù)及其應(yīng)用學(xué)術(shù)論文集(第4卷).北京:中國(guó)自動(dòng)化學(xué)會(huì)系統(tǒng)仿真專(zhuān)業(yè)委員會(huì),2002:101?106.
[8] JUTAN A. A nonlinear PID controller [J]. Canadian Journal of Chemical Engineering, 1989, 30(3): 11?16.
[9] WANG W, ZHANG Y T, CHAI T Y. A survey of advanced PID parameter tuning methods [J]. Acta Automatica Sinica . 2000, 26(3): 348?355.
[10] GAO Z. Special issue on PID control [J]. IEE Proceedings of D?Control Theory and Applications, 2002,149(1): 12?20.