畢業(yè)設計(論文)基于GA的雙容水箱液位PID控制系統(tǒng)設計_第1頁
畢業(yè)設計(論文)基于GA的雙容水箱液位PID控制系統(tǒng)設計_第2頁
畢業(yè)設計(論文)基于GA的雙容水箱液位PID控制系統(tǒng)設計_第3頁
畢業(yè)設計(論文)基于GA的雙容水箱液位PID控制系統(tǒng)設計_第4頁
畢業(yè)設計(論文)基于GA的雙容水箱液位PID控制系統(tǒng)設計_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、目 錄0. 前言11. 方案設計22. dde通信的實現(xiàn)方法22.1 組態(tài)王中的dde通信設計32. 2 matlab中的dde通信32.3 matlab與組態(tài)王的dde通信實現(xiàn)43. 組態(tài)王界面的開發(fā)53.1 建立組態(tài)王新工程63.2 com1的建立73.3 定義變量83.4 動畫連接94. 系統(tǒng)的設備實現(xiàn)104.1 液位壓力傳感器124.2 電動調(diào)節(jié)閥135. 軟件編程136. 系統(tǒng)調(diào)試和結(jié)果分析167. 結(jié)論及進一步設想17參考文獻19基于ga的雙容水箱液位pid控制系統(tǒng)設計(二) 沈陽航空航天大學自動化學院摘要:本次課設是畢業(yè)設計的一部分,主要研究雙容水箱液位pid控制系統(tǒng)的設計,為相

2、同題目(一)的基于ga的pid控制算法提供驗證平臺。該系統(tǒng)需要建立組態(tài)王和matlab的動態(tài)數(shù)據(jù)交換(dde),充分集合了matlab計算功能強和組態(tài)王具有很好的可視化界面的優(yōu)點。設計方案采用組態(tài)王對控制過程進行監(jiān)控,在組態(tài)王中開發(fā)組態(tài)界面、定義相應的變量和設備,并實現(xiàn)動畫連接;同時利用matlab作為后臺主控,通過編輯pid控制算法計算控制量,采用dde方式傳遞給組態(tài)王以控制電動調(diào)節(jié)閥的開度,從而實現(xiàn)對水箱液位的監(jiān)控。關鍵詞:matlab程序;組態(tài)界面;pid控制;dde通信。0. 前言隨著自動化技術(shù)的快速發(fā)展,許多領域中都引入了計算機自動檢測與控制技術(shù),并取得了驚人的成果。在現(xiàn)代工業(yè)生產(chǎn)過

3、程自動化中,過程控制起了大大的推動作用。過程控制廣泛應用于石油、化工、電力、冶金等工業(yè)部門。液體的液位測量在工業(yè)生產(chǎn)中非常普遍,應用領域也比較廣,例如自來水水位的測量和控制,油田、煉油廠的油罐和儲油槽的油位的測量等。液位測量的方法很多,鍋爐液位控制的穩(wěn)定與否,是關系到生產(chǎn)安全的重要因素之一。液位太高,易使供出的蒸汽帶水,高溫高速的蒸汽水珠會損壞后工段的工藝設備;而液位太低,有造成鍋爐燒干的危險。組態(tài)軟件是近年來在工業(yè)自動化領域興起的一種新型的軟件開發(fā)技術(shù),是數(shù)據(jù)采集與過程控制的專用軟件。開發(fā)人員通常不需要編制具體的指令和代碼,只要利用組態(tài)軟件包中的工具,通過硬件組態(tài)(硬件配置)、數(shù)據(jù)組態(tài)、圖形

4、圖像組態(tài)等工作即可完成所需應用軟件的開發(fā)工作,它具有二次開發(fā)簡便、開發(fā)周期短、通用性強、可靠性高等優(yōu)點。matlab具有強大的數(shù)值分析和圖形繪制功能,這與組態(tài)王的可視化界面功能相結(jié)合,實現(xiàn)了用組態(tài)王和matlab混合編程的方法進行系統(tǒng)組態(tài)設計。應用此方法設計雙容水箱液位pid控制系統(tǒng),用組態(tài)王編制人機交互界面,用matlab完成控制算法,二者通過dde進行實時數(shù)據(jù)交換,系統(tǒng)在線運行穩(wěn)定。這種裝置的實時控制系統(tǒng)現(xiàn)在應用十分廣泛。 本次課設整體方案及要求內(nèi)容:(1)根據(jù)設計要求,進行整體方案設計 。(2)建立組態(tài)王與matlab之間的dde通信。(3)進行pid參數(shù)程序的流程設計。(4)完成上位機

5、的組態(tài)畫面設計。(5)進行調(diào)試,達到設計要求。1. 方案設計本文主要研究雙容水箱液位pid控制系統(tǒng)的設計,由于本次課設是畢業(yè)設計的一部分,主要是從方案論證來完成本次課程設計。本設計將基于a3000過程控制實驗系統(tǒng),以液位為被控參數(shù),利用matlab主控程序的pid算法,作為雙容水箱液位控制系統(tǒng)的上位機應用組態(tài)軟件實現(xiàn)系統(tǒng)的監(jiān)測和控制。上位機組態(tài)界面顯示實時數(shù)據(jù),主控程序根據(jù)實時的數(shù)據(jù)與給定數(shù)據(jù)進行比較計算輸出數(shù)據(jù)對調(diào)節(jié)閥開度進行調(diào)節(jié)。a3000過程控制實驗系統(tǒng)作為下位機負責采集硬件設備的數(shù)據(jù),并且根據(jù)組態(tài)王pid參數(shù)得出相應的命令對硬件設備做相應調(diào)節(jié),使液位達到設定值。本方案充分發(fā)揮了組態(tài)王的

6、可視化界面功能與matlab強大的數(shù)值分析和圖形繪制功能的各自優(yōu)勢,利用dde技術(shù),實現(xiàn)了組態(tài)王與matlab之間的通信,形成了實現(xiàn)裝置的實時監(jiān)控系統(tǒng)。首先完成上位機的組態(tài)畫面的設計,其中包括連接設備、定義變量、動畫連接等任務。其次在matlab中編寫pid控制程序,建立matlab與組態(tài)王之間的dde通信,組態(tài)王把從下位機中讀取的數(shù)據(jù)通過dde通信傳給matlab程序中,matlab程序把接收數(shù)據(jù)與給定值作差值用pid算出輸出值返回給組態(tài)王以實現(xiàn)對調(diào)節(jié)閥進行控制,從而達到對下位機液位控制。最后進行調(diào)試得到理想波形從而達到控制的技術(shù)要求。2. dde通信的實現(xiàn)方法dde是windows平臺上的

7、一個完整的通訊協(xié)議,它使應用程序能彼此交換數(shù)據(jù)和發(fā)送指令。dde通訊可以比喻為兩個人的對話,一方向另一方提出問題,然后等待回答。提問的一方稱為顧客,回答的一方稱為服務器。一個應用程序可以是顧客和服務器,當它向其他應用程序請求數(shù)據(jù)時,它充當?shù)氖穷櫩?,若有其他的應用程序需要它提供?shù)據(jù)時,它又變成了服務器。dde對話的內(nèi)容通過三個標識來實現(xiàn)。應用程序名(application):進行dde通訊的雙方名稱;主題(topic):被討論的數(shù)據(jù)域(domain)對組態(tài)王來說主題規(guī)定為:“tagname”;項目(item):這是被討論的特定數(shù)據(jù)對象。dde交換數(shù)據(jù)的方法根據(jù)連接方式主要有三種:冷鏈(cold

8、link),溫鏈(warm link)和熱鏈(hot link)。由客戶申請數(shù)據(jù),服務器發(fā)送數(shù)據(jù)的這種方式稱為冷鏈;服務器的數(shù)據(jù)變化時,服務器通知客戶,再由客戶來取數(shù)據(jù),這種方式稱為溫鏈;服務器的數(shù)據(jù)變化時,服務器通知客戶,由客戶對對這些數(shù)據(jù)進行處理,這種方式稱為熱鏈。2.1 組態(tài)王中的dde通信設計組態(tài)王既可以作為客戶應用程序也可以作為服務器應用程序。當它作為客戶應用程序時,需進行兩步工作。第一步在組態(tài)王中定義dde設備,并為該設備指定邏輯名稱、設置程序服務明、朱提名和選擇標準的windows項目數(shù)據(jù)交換形式。第二步定義i/o變量,連接dde設備,確認允許dde訪問。當組態(tài)王作為服務器應用程

9、序時,它的工作是驅(qū)動程序下位機采集數(shù)據(jù),并向客戶應用程序發(fā)送數(shù)據(jù)。2. 2 matlab中的dde通信matlab是矩陣實驗室(matrix laboratory)之意。它除了具備卓越的數(shù)值計算功能外,還提供了專業(yè)水平的符號計算,文字處理,可視化建模仿真和實時控制等功能。matlab主要特點有功能強大;語言簡單;擴充能力強,可開發(fā)性強;編程容易,效率高。matlab5.1版本后都提供了有關dde的一些基本函數(shù),如ddeinit()、ddepoke()、ddereq()、ddeterm()等。dde通訊中,matlab作為一個“server”時的通訊示意圖如圖1所示。在“client”應用程序中

10、的dde函數(shù)與matlab的dde“server”模塊進行通訊,“client”的dde函數(shù)能被應用程序或matlabengine library提供。圖1 matlab作為服務器時的通訊示意圖當matlab作為一個“client”時的通訊示意圖如圖2,在“server”應用程序中的dde“server”模塊與matlab的dde“client”模塊進行通訊。matlab作為一個“client”和windows應用程序之間進行動態(tài)數(shù)據(jù)交換時比較方便,只需使用matlab的dde函數(shù)來建立和維持雙方的對話。圖2 matlab作為客戶機時的通訊示意圖matlab作為客戶應用程序時,支持本格式的數(shù)據(jù)

11、傳送,可以使用matlab中的dde客戶端模塊所提供的函數(shù)與服務器進行數(shù)據(jù)通信。matlab提供了七個客戶函數(shù),它們分別是ddeinit函數(shù)與服務器建立對話,建立成功則該函數(shù)返回一個通道號。以后的操作均對這個通道號進行。ddeadv函數(shù)請求建立熱鏈。ddereq函數(shù)向服務器索要數(shù)據(jù),返回值是存有數(shù)據(jù)的矩陣。ddepoke函數(shù)向服務器發(fā)送數(shù)據(jù)。ddeterm函數(shù)請求撤消與服務器已建立的熱鏈連接。ddecxec函數(shù)用于向dde服務器應用程序發(fā)送執(zhí)行命令。ddeunadv函數(shù)是釋放連接。2.3 matlab與組態(tài)王的dde通信實現(xiàn)在本次設計中,matlab和組態(tài)王為實現(xiàn)雙向數(shù)據(jù)自動傳輸,matlab

12、應用程序和組態(tài)王應用程序都既是客戶程序又是服務器程序,所以采用熱鏈方式。組態(tài)王具有dde動態(tài)數(shù)據(jù)通訊功能,能夠和matlab進行數(shù)據(jù)交換。當組態(tài)王作為服務器或客戶機程序時,設置dde的方法基本相同,都需要在定義io 變量時設置服務器程序的三個標識名,即:服務程序名、話題名、項目名。matlab和組態(tài)王同時作為dde服務器和客戶機的使用方法如圖3所示:圖3 matlab和組態(tài)王的雙向數(shù)據(jù)自動傳輸示意圖matlab 的dde 傳輸程序設計在本次設計中,組態(tài)王編制的主控程序?qū)南挛粰C讀取的數(shù)據(jù)送到matlab 程序進行仿真計算,計算后將結(jié)果返回主程序,采用熱鏈方式。dde 熱鏈工作方式需要用ddea

13、dv。在matlab中建立m文件,輸入以下程序,下面是matlab以熱鏈方式與服務器連接的程序結(jié)構(gòu):matlab客戶程序主體:%dde. m ,初始化dde 程序function dde = dde()global channel;channel = ddeinit(view,agname);if channel = = 0disp (dde initialization failed);elsedisp (dde initialization is ready);endrc = ddeadv(channel,ad. ai0,control(x),x); %ad.ai0為組態(tài)王中定義的io寄存

14、器。上述函數(shù)將matlab 與組態(tài)王的ad設備的ai0通道之間建立了熱鏈接,一旦ai0的數(shù)據(jù)有變化,則調(diào)用control()函數(shù)進行處理。%control . m , 數(shù)據(jù)計算處理模塊function uk = control (pv)channel = ddeinit (view,tagname);pv = ddereq(channel,ad. ai0) ; %將現(xiàn)場采集值賦給pvuk = (pv) ; %具體的計算式,如pid計算式ddepoke (channel ,da. ao0, uk) ; %將計算結(jié)果uk送給da.ao0寄存器control()函數(shù)根據(jù)現(xiàn)場測量值pv的變化進行相應的

15、計算處理后通過ddepoke將結(jié)果uk返回組態(tài)王的da.ao0寄存器,再經(jīng)過da轉(zhuǎn)換成模擬信號后到執(zhí)行機構(gòu)(調(diào)節(jié)閥)執(zhí)行。組態(tài)王和matlab之間的dde通訊方便及時,從而可使用二者混合編程的方法實現(xiàn)一些具有復雜控制算法的控制系統(tǒng)的設計。3. 組態(tài)王界面的開發(fā)進入組態(tài)王開發(fā)系統(tǒng)后,就可以為每個工程建立數(shù)目不限的畫面,在每個畫面上生成互相關聯(lián)的靜態(tài)或動態(tài)圖形對象。這些畫面都是由“組態(tài)王”提供的類型豐富的圖形對象組成的。系統(tǒng)為用戶提供了矩形(圓角矩形)、直線、橢圓(圓)、扇形(圓?。?、點位圖、多邊形(多邊線)、文本等基本圖形對象,及按鈕、趨勢曲線窗口、報警窗口、報表等復雜的圖形對象。提供了對圖形對

16、象在窗口內(nèi)任意移動、縮放、改變形狀、復制、刪除、對齊等編輯操作,全面支持鍵盤、鼠標繪圖,并可提供對圖形對象的顏色、線型、填充屬性進行改變的操作工具。進入新建的組態(tài)王工程,選擇工程瀏覽器左側(cè)大綱項“文件畫面”,在工程瀏覽器右側(cè)用鼠標左鍵雙擊“新建”圖標,在彈出對話框中選擇相應的屬性后,就可以在開發(fā)系統(tǒng)中利用工具箱進行組態(tài)畫面的設置,本文設計的組態(tài)畫面如圖4所示:圖4 組態(tài)界面上圖是左面是水箱、調(diào)節(jié)閥、傳感器等器件在組態(tài)王軟件中的連接圖;右上角的圖本課題設計中的面板設置;右下角的圖是測量過程中的實時曲線。3.1 建立組態(tài)王新工程要建立新的組態(tài)王工程,首先為工程指定工作目錄(或稱“工程路徑” )。組

17、態(tài)王用工作目錄標識工程,不同的工程應置于不同的目錄。工作目錄下的文件由組態(tài)王自動管理。啟動組態(tài)王工程管理器(projmanager),選擇菜單“文件新建工程”或單擊“新建”按鈕,彈出如圖5所示的對話框:圖5 新建工程向?qū)c擊下一步, 在工程路徑文本框中輸入一個有效的工程路徑,再點擊下一步,為新建工程命名為“水箱液位仿人智能控制”,工程描述為“實驗室建設”,并將新建的工程設置為當前工程,點擊“完成”,其信息如圖6所示:圖6 新建工程基本信息3.2 com1的建立在工程瀏覽器中,從左邊的工程目錄顯示區(qū)中選擇“設備/com1”,然后在右邊的內(nèi)容顯示區(qū)中雙擊“新建”圖標,則彈出“設備配置向?qū)А?。然后?/p>

18、據(jù)其提示配置dde設備。在com1設備配置中,連接對象設為xm類儀表,邏輯名稱設為baitel,設備地址設為1,通訊方式為串口。其信息總結(jié)列表框如圖7所示:圖7 com1信息總結(jié)列表3.3 定義變量數(shù)據(jù)庫是組態(tài)王軟件的核心部分,工業(yè)現(xiàn)場的生產(chǎn)狀況要以動畫的形式反映在屏幕上,操作者在計算機前發(fā)布的指令也要迅速送達生產(chǎn)現(xiàn)場,所有這一切都是以實時數(shù)據(jù)庫為中介環(huán)節(jié),所以說數(shù)據(jù)庫是聯(lián)系上位機和下位機的橋梁。在touchview運行時,它含有全部數(shù)據(jù)變量的當前值。變量在畫面制作系統(tǒng)組態(tài)王畫面開發(fā)系統(tǒng)中定義,定義時要指定變量名和變量類型,某些類型的變量還需要一些附加信息。數(shù)據(jù)庫中變量的集合形象地稱為“數(shù)據(jù)詞

19、典”,數(shù)據(jù)詞典記錄了所有用戶可使用的數(shù)據(jù)變量的詳細信息。在本文的設計中,共需要定義6個變量。選擇工程瀏覽器左側(cè)大綱項“數(shù)據(jù)庫數(shù)據(jù)詞典”,在工程瀏覽器右側(cè)用鼠標左鍵雙擊“新建”圖標,然后就可以根據(jù)提示完成各個變量的定義及修改。定義變量時主要需要設置變量的名字、變量類型、寄存器和變量類型。變量“測量值a”的信息總列表框如圖8所示,它的主要作用是用于存儲采樣值。變量“過程值b”的信息總結(jié)列表框如圖9所示,它的主要作用是存儲matlab計算出來的控制量,其連接設備為采樣設備。變量“設定值p”的信息總結(jié)列表框如圖10所示,主要用于存儲操作者想要控制的液位值。圖8 變量“測量值a”的信息總結(jié)列表框圖9 變

20、量“過程值b”的信息總結(jié)列表框圖10 變量“設定值p”的信息總結(jié)列表框3.4 動畫連接定義動畫連接是指在畫面的圖形對象與數(shù)據(jù)庫的數(shù)據(jù)變量之間建立一種關系,當變量的值改變時,在畫面上以圖形對象的動畫效果表示出來;或者由軟件使用者通過圖形對象改變數(shù)據(jù)變量的值。一共有21種動畫連接方式:屬性變化:線屬性變化、填充屬性變化、文本屬性變化。位置與大小變化:填充、縮放、旋轉(zhuǎn)、水平移動、垂直移動。值輸出: 模擬值輸出、離散值輸出、字符串輸出。值輸入:模擬值輸入、離散值輸入、字符串輸入。特殊:閃爍、隱含、流動?;瑒訔U輸入:水平、垂直。命令語言:按下時、彈起時、按住時。雙擊圖形對象,可彈出“動畫連接”對話框,如

21、圖11所示:圖11 動畫連接對話框然后根據(jù)變量的性質(zhì),設置模擬值輸出或輸入等,比如變量“fmtov”的動畫連接,點擊模擬值輸出彈出對話框如圖12所示。在表達式中輸入“本站點 fmtov”即可,其它的動畫連接與此相似。圖12 變量fmtov的動畫連接對話框圖 4. 系統(tǒng)的設備實現(xiàn)設計的下位機連的是a3000過程控制實驗系統(tǒng),整個部分設計在一個工業(yè)機柜中,開放性極強。一個前門,保證了設備防塵、散熱等需要。控制系統(tǒng)結(jié)構(gòu)圖如圖14所示。a3000過程控制實驗系統(tǒng)過程控制系統(tǒng)包括a3000過程控制實驗系統(tǒng)常規(guī)現(xiàn)場系統(tǒng)和a3000過程控制實驗系統(tǒng)控制系統(tǒng)兩個部分。a3000過程控制實驗系統(tǒng)高級過程控制實驗

22、系統(tǒng)獨創(chuàng)現(xiàn)場系統(tǒng)概念,而不是對象系統(tǒng)?,F(xiàn)場系統(tǒng)包括三個水箱,一個大儲水箱,一個鍋爐,一個工業(yè)用板式換熱器,兩個水泵,大功率加熱管,滯后時間可以調(diào)整的滯后系統(tǒng),一個硬件連鎖保護系統(tǒng)。傳感器和執(zhí)行器系統(tǒng)包括5個溫度、3個液位、1個壓力,1個電磁流量計,1個渦輪流量計,1個電動調(diào)節(jié)閥,兩個電磁閥,2個液位開關。現(xiàn)場系統(tǒng)包含兩個支路。支路1有1#水泵,換熱器,鍋爐,還可以直接注水到三個水箱以及鍋爐。支路2有2#水泵,壓力變送器,電動調(diào)節(jié)閥,三個水箱,還有一路流入換熱器進行冷卻。a3000過程控制實驗系統(tǒng)現(xiàn)場系統(tǒng)結(jié)構(gòu)原理圖如圖13所示。在本次設計中,我們主要采用去支路2中的3#水箱和4#水箱,fv101

23、電調(diào)節(jié)閥,pt101壓力傳感器。a3000過程控制實驗系統(tǒng)控制系統(tǒng)(a3000過程控制實驗系統(tǒng)-cs)包括了傳感器執(zhí)行器i/o連接板、三個可換的子控制系統(tǒng)板,第三方控制系統(tǒng)接口板。圖13 控制系統(tǒng)結(jié)構(gòu)圖標準機柜傳感器執(zhí)行器連接板第一級控制系統(tǒng)第三級控制系統(tǒng)第二級控制系統(tǒng)網(wǎng)關系統(tǒng)控制系統(tǒng)結(jié)構(gòu)舉例常規(guī)儀表,ddc,或plc實驗接口rs485到以太網(wǎng)網(wǎng)絡接入設備過程級管理級圖14 a3000過程控制實驗系統(tǒng)控制系統(tǒng)結(jié)構(gòu)4.1 液位壓力傳感器本設計要用到一個液位壓力傳感器,接在下水箱的下部,用于測量下水箱的液位。液位傳感器實際是一個壓力傳感器。當水箱液位高度不同時,傳感器把接收到的不同信號傳給matl

24、ab主控程序,實現(xiàn)其功能。液位壓力傳感器是兩線制接法,輸出信號為420ma電流信號。如圖15所示: 圖15 壓力傳感器接線原理圖端口ab之間接負載(250500)。檢驗壓力傳感器信號時,在ab之間串一個標準電阻,然后測其上的壓降,可以算出ab間的電流。無水時應顯示3.854.00ma,吹入空氣,電流值增大。液位傳感器實際是一個壓力傳感器。當水箱中沒有水時,ab間的電流應當為4.00ma(標準狀態(tài)),但由于安裝位置原因,ab間的電流約為3.84.0ma(百特儀表量程范圍設為420ma)。如果誤差比較大,則可以在控制系統(tǒng)中進行校正。例如如果測量值低于4毫安,則直接顯示0。然后測量值上加上一定高度,

25、從而獲得比較準確的液位高度。一般過程控制不要求這個絕對高度。液位的控制范圍在0%-85%之間,而電流范圍在4-17.5ma之間。壓力的控制范圍在35%-70%之間,而電流范圍10-15.5ma之間。4.2 電動調(diào)節(jié)閥本設計使用的調(diào)節(jié)閥為智能電動單座調(diào)節(jié)閥,主要由閥座和執(zhí)行機構(gòu)組成。等百分比特性。如圖16所示。輸入信號:420madc,輸入阻抗:250/500。正作用,也就是隨著輸入的電流加大,開度加大。閥位反饋信號:420madc,輸出最大負載:小于500斷信號閥位置:可任意設置為保持/全開/全關。出廠設置為保持原來狀態(tài)。電源:220v10%/50hz,溫度0-50度,相對濕度小于85%。死區(qū)

26、:0.5-5%連續(xù)可調(diào),出廠設置為1.5%。 圖16 電動調(diào)節(jié)閥5. 軟件編程在過程控制中,按偏差的比例(p)、積分(i)和微分(d)進行控制的pid控制器(亦稱pid調(diào)節(jié)器)是應用最為廣泛的一種自動控制器。它具有原理簡單,易于實現(xiàn),適用面廣,控制參數(shù)相互獨立,參數(shù)的選定比較簡單等優(yōu)點;而且在理論上可以證明,對于過程控制的典型對象“一階滯后純滯后”與“二階滯后純滯后”的控制對象,pid控制器是一種最優(yōu)控制。pid調(diào)節(jié)規(guī)律是連續(xù)系統(tǒng)動態(tài)品質(zhì)校正的一種有效方法,它的參數(shù)整定方式簡便,結(jié)構(gòu)改變靈活(pi、pd、)??刂泣c目前包含三種比較簡單的pid控制算法,分別是:增量式算法,位置式算法,微分先行。

27、本次設計中采用的是增量式算法在matlab中m文件編寫控制算法。在增量式算法中,比例項與積分項的符號有以下關系:如果被控量繼續(xù)偏離給定值,則這兩項符號相同,而當被控量向給定值方向變化時,則這兩項的符號相反。由于這一性質(zhì),當被控量接近給定值的時候,反號的比例作用阻礙了積分作用,因而避免了積分超調(diào)以及隨之帶來的振蕩,這顯然是有利于控制的。但如果被控量遠未接近給定值,僅剛開始向給定值變化時,由于比例和積分反向,將會減慢控制過程。 為了加快開始的動態(tài)過程,我們可以設定一個偏差范圍v,當偏差|e(t)|= 時,則不管比例作用為正或為負,都使它向有利于接近給定值的方向調(diào)整,即取其值為|e(t)-e(t-1

28、)|,其符號與積分項一致。利用這樣的算法,可以加快控制的動態(tài)過程。在pid增量算法中,由于執(zhí)行元件本身是機械或物理的積分儲存單元,如果給定值發(fā)生突變時,由算法的比例部分和微分部分計算出的控制增量可能比較大,如果該值超過了執(zhí)行元件所允許的最大限度,那么實際上執(zhí)行的控制增量將時受到限制時的值,多余的部分將丟失,將使系統(tǒng)的動態(tài)過程變長,因此,需要采取一定的措施改善這種情況。糾正這種缺陷的方法是采用積累補償法,當超出執(zhí)行機構(gòu)的執(zhí)行能力時,將其多余部分積累起來,而一旦可能時,再補充執(zhí)行。在matlab中建立m文件,在m文件中編寫程序,其主程序要實現(xiàn)與組態(tài)王的dde通信功能,子程序?qū)崿F(xiàn)pid算法。工作流程

29、圖如圖17所示圖17 增量型pid工作流程圖matlab以熱鏈方式與服務器連接的程序結(jié)構(gòu):matlab客戶程序主體:%dde. m ,初始化dde 程序function dde = dde()global channel;channel = ddeinit(view,agname);0if channel = = 0disp (dde initialization failed);elsedisp (dde initialization is ready);endrc = ddeadv(channel,ad. ai0,control(x),x); %ad.ai0為組態(tài)王中定義的io寄存器。上述

30、函數(shù)將matlab 與組態(tài)王的ad設備的ai0通道之間建立了熱鏈接,一旦ai0的數(shù)據(jù)有變化,則調(diào)用control()函數(shù)進行處理。%control . m , 數(shù)據(jù)計算處理模塊function uk = control (pv)channel = ddeinit (view,tagname);pv = ddereq(channel,ad. ai0) ; %將現(xiàn)場采集值賦給pvuk = (pv) ; %具體的計算式,如pid計算式ddepoke (channel ,da. ao0, uk) ; %將計算結(jié)果uk送給da.ao0寄存器control()函數(shù)根據(jù)現(xiàn)場測量值pv的變化進行相應的計算處理

31、后通過ddepoke將結(jié)果uk返回組態(tài)王的da.ao0寄存器,再經(jīng)過da轉(zhuǎn)換成模擬信號后到執(zhí)行機構(gòu)(調(diào)節(jié)閥)執(zhí)行。主程序%liuyuyan.mglobal chann;chann=ddeinit(view,tagname);range40=real2;range43=real5;cb=ddeadv(chann,range43,control2(x),x);cc=ddeadv(chann,range40,control2(x),x);子程序%control.mfunction uk=control(pv)chann=ddeinit(view,tagname);range40=real2;pv=d

32、dereq(chann,range40);range41=real4;range42=real3;range43=real5;uk1=ddereq(chann,range41);e1=ddereq(chann,range42);p=ddereq(chann,range43);e=p-pv;fe=e-e1;接pid控制算法,由于本次設計與畢業(yè)設計是同一題目,所以這部分算法的編程有待于下學期繼續(xù)完成。if uk=100 uk=100;endddepoke(chann, range42,e);ddepoke(chann, range41,uk);pause(10);6. 系統(tǒng)調(diào)試和結(jié)果分析調(diào)試過程的

33、一般步驟如下:(1)在a3000過程控制實驗系統(tǒng)-fs上,打開手動調(diào)節(jié)閥pt102、jv102,調(diào)節(jié)下水箱閘板開度(可以稍微大一些),其余閥門關閉。(2)在a3000過程控制實驗系統(tǒng)-cs上,將電磁調(diào)節(jié)閥輸出連接到ai0,ao0輸出連到電動調(diào)節(jié)閥上。(3)打開a3000過程控制實驗系統(tǒng)電源。在a3000過程控制實驗系統(tǒng)-fs上,啟動右邊水泵。(4)啟動計算機組態(tài)軟件,點擊進入工程式:雙容水箱液位過程監(jiān)控系統(tǒng)設計。(5)進入組態(tài)王的運行環(huán)境。(6)啟動調(diào)節(jié)器,設置控制液位。在組態(tài)王監(jiān)控畫面中,觀察控制效果,并進行相應參數(shù)的修改,直到達到最佳控制效果。在組態(tài)王的運行界面,觀察下水箱液位的時時曲線圖

34、,將實際控制效果與我們計算的控制效果進行比較,找出其中失敗的原因,根據(jù)其原因在控制程序中對相應的參數(shù)進行修改,直到達到最佳控制效果。進入組態(tài)王的運行界面時,顯示不能與設置的dde設備進行連接。原因分析:在組態(tài)王中新建dde設備時,配置的dde設備的服務程序名、應用程序名和話題名可能不對。matlab在dde通訊中作為服務器使用時,有一個固定的dde名稱體系,其話題名只能是system和engine,得根據(jù)其通訊情況選擇其中的一個作為話題名,而不能選取別的。解決方法:在配置dde設備時,服務程序名任意選取,如matlab,應用程序名應設為固定的“matlab”,而話題名設為“engine”。7.

35、 結(jié)論及進一步設想本次課程設計是畢業(yè)設計的一部分,所以要求掌握的東西要多一些,還涉及到以前沒接觸過的內(nèi)容如dde通信。通過兩周的學習我能過熟練的創(chuàng)建組態(tài)界面、定義變量及動畫連接。基本了解了matlab的dde通信,組態(tài)王的dde通信及matlab于組態(tài)王的dde通信。這些收獲讓我很高興。本次課程設計能夠順利完成,很大部分都歸功于王昱老師的幫助,正是她耐心的幫助與指導,才使我順利完成了任務。同時在我做課程設計的過程中,許多同學也給我提出了寶貴的意見,也給了許多幫助,在此一并向他們表示最真摯的謝意!本文設計基于ga的雙容水箱液位pid控制系統(tǒng)是在matlab、組態(tài)王和a3000過程控制實驗系統(tǒng)三個獨立應用軟件組合應用的基礎上實現(xiàn)的,它充分發(fā)揮了三個應用軟件各自的優(yōu)點,達到了比較好的控制效果。整個課題的開發(fā)過程主要包括了三個方面的內(nèi)容,一是windows操作系統(tǒng)下組態(tài)王和a300

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論