亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        PID控制器實(shí)現(xiàn):VB和Matlab混合編程

        2016-09-27 12:01:50張玉葉張小青
        關(guān)鍵詞:被控應(yīng)用程序燃?xì)?/a>

        張玉葉,張小青

        (咸陽(yáng)師范學(xué)院 物理與電子工程學(xué)院,陜西 咸陽(yáng) 712000)

        PID控制器實(shí)現(xiàn):VB和Matlab混合編程

        張玉葉,張小青

        (咸陽(yáng)師范學(xué)院 物理與電子工程學(xué)院,陜西 咸陽(yáng) 712000)

        以小型燃?xì)鉄崴疇t爐溫控制系統(tǒng)為研究對(duì)象,采用VB進(jìn)行人機(jī)界面設(shè)計(jì),Matlab完成系統(tǒng)PID控制算法的計(jì)算。以VB與Matlab接口混合編程技術(shù)為基礎(chǔ),在VB中調(diào)用Matlab的Active X部件實(shí)現(xiàn)VB與Matlab之間的鏈接,并將計(jì)算結(jié)果返回至VB,由VB完成系統(tǒng)關(guān)鍵曲線(xiàn)的顯示。利用Matlab的強(qiáng)大數(shù)值計(jì)算的能力,又結(jié)合VB的可視化友好界面,實(shí)現(xiàn)了小型燃?xì)鉄崴疇t爐溫控制的PID仿真分析,也可進(jìn)一步實(shí)現(xiàn)相關(guān)軟件的開(kāi)發(fā)和設(shè)計(jì)。

        Matlab;Visual Basic;PID算法;Active X部件

        實(shí)際工程應(yīng)用中,通常采用VB可視化高級(jí)語(yǔ)言來(lái)編寫(xiě)應(yīng)用程序的界面,而用Matlab軟件來(lái)進(jìn)行數(shù)值分析、矩陣運(yùn)算、信號(hào)處理和圖形圖像的顯示。如果把這兩種軟件結(jié)合起來(lái)使用既可回避VB軟件在程序編寫(xiě)過(guò)程中過(guò)分繁瑣和抽象的缺點(diǎn),又能夠克服軟件本身數(shù)據(jù)結(jié)構(gòu)單一、數(shù)值計(jì)算和處理能力弱的缺陷,從而方便地實(shí)現(xiàn)了可視化交互界面的操作。另外,Matlab本身的GUI界面設(shè)計(jì)是基于句柄的編程背景,句柄編程是基于界面底層的編程,編程十分繁瑣。因此,Matlab與VB接口編程技術(shù),是將Matlab軟件和VB軟件各自的優(yōu)勢(shì)結(jié)合起來(lái),實(shí)現(xiàn)VB與Matlab的無(wú)縫鏈接,將提高軟件的開(kāi)發(fā)效率,對(duì)解決工程實(shí)際應(yīng)用問(wèn)題有重要意義。本設(shè)計(jì)以一個(gè)工程實(shí)際問(wèn)題——小型燃?xì)鉄崴疇t的爐溫控制系統(tǒng)為例,基于ActiveX技術(shù)實(shí)現(xiàn)VB與Matlab的數(shù)據(jù)交換。根據(jù)被控對(duì)象的參數(shù)和PID控制器的參數(shù),由Matlab軟件進(jìn)行PID算法的計(jì)算,由VB應(yīng)用程序進(jìn)行分析界面設(shè)計(jì)和接口編程,最終在VB界面實(shí)現(xiàn)關(guān)鍵曲線(xiàn)的顯示。從而達(dá)到結(jié)果直觀,分析方便的目的[1]。本文以Visual Basic進(jìn)行人機(jī)界面的開(kāi)發(fā),而以Matlab作為運(yùn)算模塊,進(jìn)行PID控制算法的設(shè)計(jì),從而進(jìn)行VB與Matlab之間雙向的數(shù)據(jù)交換。

        1 被控對(duì)象的PID分析

        1.1控制對(duì)象的數(shù)學(xué)模型

        自動(dòng)控制系統(tǒng)的設(shè)計(jì),首要考慮建立被控對(duì)象的數(shù)學(xué)模型。本文以小型燃?xì)鉄崴疇t控制系統(tǒng)為例。被控對(duì)象是熱水鍋爐,控制量是水溫。影響熱水溫度的因素有很多,如進(jìn)水流量和溫度、燃?xì)饬髁康???紤]到本文所采用的控制算法并不要求被控對(duì)象模型十分精確,所以采用了一個(gè)近似模型作為設(shè)計(jì)的參考對(duì)象[2]。通常,溫度控制系統(tǒng)的模型可近似為一階延遲系統(tǒng)或者二階延遲系統(tǒng)。燃?xì)鉄崴仩t是一個(gè)非線(xiàn)性、具有大滯后的系統(tǒng),本文選擇被控對(duì)象的模型形式為:

        其中K0為鍋爐正常運(yùn)行的開(kāi)環(huán)增益,τ為延遲時(shí)間,T1、T2為時(shí)間常數(shù)。被控對(duì)象模型的參數(shù)獲得是通過(guò)對(duì)樣品鍋爐的實(shí)驗(yàn)測(cè)試得到。實(shí)驗(yàn)的環(huán)境溫度18oC,每5 s采樣一個(gè)數(shù)據(jù)點(diǎn)??刂茍?zhí)行機(jī)構(gòu),將燃?xì)庹{(diào)節(jié)閥調(diào)開(kāi)度由0快速增加至50%,記錄整個(gè)溫升過(guò)程中的溫度變化數(shù)據(jù),用Matlab軟件將溫度數(shù)據(jù)畫(huà)成溫升曲線(xiàn)如圖1所示。

        圖1 燃?xì)鉄崴疇t溫度曲線(xiàn)

        得到了溫升曲線(xiàn)之后,可以利用經(jīng)驗(yàn)公式對(duì)系統(tǒng)進(jìn)行辨識(shí),經(jīng)辨識(shí)得到控制系統(tǒng)近似模型:

        1.2PID控制原理

        PID調(diào)節(jié)技術(shù)是一種有效而實(shí)用的經(jīng)典控制策略,在工業(yè)控制領(lǐng)域應(yīng)用非常廣泛。PID控制的特點(diǎn)是在被控對(duì)象數(shù)學(xué)模型未知或者不精確的前提下,只需對(duì)控制器參數(shù),即比例系數(shù)KP、積分系數(shù)KI和微分系數(shù)KD進(jìn)行調(diào)整,就可獲得滿(mǎn)意的控制效果,PID控制的原理圖如圖2所示。PID控制系統(tǒng)由PID控制器和被控對(duì)象組成,根據(jù)設(shè)定目標(biāo)值r(t)與實(shí)際輸出值y(t)構(gòu)成的控制偏差e(t),將此偏差e(t)的比例,積分和微分通過(guò)線(xiàn)性組合構(gòu)成控制量,對(duì)受控對(duì)象進(jìn)行控制[3]。

        控制器的控制量為偏差信號(hào)e(t),表達(dá)式為:

        控制器時(shí)域輸出u(t)方程為:

        PID控制器的參數(shù)整定是控制系統(tǒng)設(shè)計(jì)的核心內(nèi)容。PID參數(shù)整定依賴(lài)一定的經(jīng)驗(yàn),通常有固有的規(guī)律可循。

        圖2 PID控制原理圖

        1.3PID控制器各參數(shù)對(duì)系統(tǒng)動(dòng)態(tài)性能的影響

        單獨(dú)調(diào)節(jié)參數(shù)P(另外兩個(gè)參數(shù)為常數(shù)):當(dāng)KP增大,系統(tǒng)靈敏度增大,在穩(wěn)定的前提下,穩(wěn)態(tài)誤差減小,而KP過(guò)大,系統(tǒng)振蕩次數(shù)將會(huì)太多。

        單獨(dú)調(diào)節(jié)參數(shù)I:系統(tǒng)控制精度會(huì)提高,可以消除穩(wěn)態(tài)誤差,會(huì)使系統(tǒng)穩(wěn)定性下降,KI過(guò)大系統(tǒng)將不穩(wěn)定[4]。

        微分控制不單獨(dú)使用,經(jīng)常與積分控制或者比例控制聯(lián)合使用,引入微分控制往往會(huì)改善系統(tǒng)動(dòng)態(tài)性能,當(dāng)KD偏小,超調(diào)量較大,調(diào)節(jié)時(shí)間也較長(zhǎng),當(dāng)KD合適,不僅可以提高系統(tǒng)響應(yīng)速度,也可以提高穩(wěn)定性[5]。

        當(dāng)KP、KI和KD在調(diào)節(jié)系統(tǒng)動(dòng)態(tài)性能指標(biāo)方面,往往根據(jù)實(shí)際情況兼顧各方面性能,在實(shí)際系統(tǒng)的參數(shù)調(diào)節(jié)過(guò)程中,可以參閱文獻(xiàn)[5]所給的參數(shù)經(jīng)驗(yàn)法,給出基本的湊法范圍,可選定綜合性良好的參數(shù)。

        2 VB與Matlab接口的實(shí)現(xiàn)

        2.1Active X技術(shù)

        Active X技術(shù)是Microsoft面向?qū)ο蟪绦蚣夹g(shù)的模塊集成的新協(xié)議,最主要的技術(shù)是組件對(duì)象模型COM。它允許應(yīng)用程序或組件控制另一個(gè)應(yīng)用程序或組件的運(yùn)行。在程序中加入Active X部件后,它將成為開(kāi)發(fā)和運(yùn)行環(huán)境的一部分,并為應(yīng)用程序提供新的功能。Active X部件保留了一些普通VB控制的屬性、事件和方法。Active X部件特有的方法和屬性大大地增強(qiáng)了程序設(shè)計(jì)者的能力和靈活性,Active X實(shí)際上是在調(diào)用一種部件,而無(wú)需要求該部件對(duì)應(yīng)的程序正在運(yùn)行,這會(huì)使得其功能更加強(qiáng)大。在VB中創(chuàng)建Matlab的Active X對(duì)象后,就可以使用這個(gè)對(duì)象所包含的各種方法,實(shí)現(xiàn)對(duì)MATLAB的調(diào)用[6]。在VB中創(chuàng)建Matlab Active X的方法如下:

        Dim MatlabAs Object

        Set Matlab=CreatObject(“matlab application”)

        在創(chuàng)建Matlab Active X對(duì)象后。就可以利用該對(duì)象所包含的各種方法實(shí)現(xiàn)對(duì)Matlab的調(diào)用。

        2.2VB與Matlab接口實(shí)現(xiàn)

        實(shí)現(xiàn)VB應(yīng)用程序與Matlab的接口,也就是說(shuō)實(shí)現(xiàn)VB應(yīng)用程序與Matlab之間的數(shù)據(jù)交換的關(guān)鍵步驟為[7]:

        (1)新建項(xiàng)目。

        (2)添加控件,根據(jù)實(shí)際情況在當(dāng)前窗口添加控件,例如Button按鈕控件、Text文本控件等。

        (3)設(shè)置屬性,將Label與Command按鈕的Text屬性設(shè)置為與界面一致。

        (4)添加代碼,代碼提前在Matlab環(huán)境下編輯好,以備調(diào)用。

        (5)運(yùn)行。點(diǎn)擊VB環(huán)境下的運(yùn)行按鈕,則實(shí)現(xiàn)VB對(duì)Matlab的直接調(diào)用結(jié)果,顯示在VB界面下。

        2.3若干接口界面及控制效果對(duì)比分析

        采用時(shí)域分析法分析燃?xì)鉄崴疇t爐溫控制系統(tǒng),在Matlab環(huán)境下,提前在Matlab環(huán)境下編寫(xiě)好時(shí)域分析程序段。在VB環(huán)境下,設(shè)計(jì)好用戶(hù)界面,利用接口鏈接語(yǔ)句達(dá)到VB環(huán)境下調(diào)用Matlab運(yùn)算結(jié)果。圖3即是Matlab的分析結(jié)果在VB用戶(hù)界面下的呈現(xiàn)。從繪圖結(jié)果來(lái)看時(shí)域分析效果,系統(tǒng)調(diào)節(jié)時(shí)間較長(zhǎng),超調(diào)量較大,指標(biāo)不理想。

        燃?xì)鉄崴疇t爐溫控制系統(tǒng)的單位階躍響應(yīng)參數(shù)整定效果如圖4示。界面設(shè)計(jì)了PD、PI、PID 3種整定方案,圖4運(yùn)行的效果是選定參數(shù)為:

        P=0.608 4;I=6.126 9;D=0.145 0。

        PID控制算法提前由Matlab編程并存儲(chǔ),VB調(diào)用Matlab的繪圖函數(shù)即可生成校正曲線(xiàn)。由圖4可知,給系統(tǒng)加PID校正后性能指標(biāo)得到一定的改善,在圖4的界面下,可以方便地修改參數(shù),觀察P、I、D 3種參數(shù)的變化對(duì)系統(tǒng)性能的影響以及改善情況[8],從而選擇相對(duì)合適的參數(shù),以滿(mǎn)足實(shí)時(shí)控制系統(tǒng)動(dòng)態(tài)性能指標(biāo)得要求。

        圖3 VB界面下調(diào)用Matlab時(shí)域分析結(jié)果

        圖4 VB界面下顯示加PID參數(shù)校正后的曲線(xiàn)

        2.4若干接口鏈接代碼

        VB是可視化編程軟件,首先進(jìn)行窗體設(shè)計(jì),將所需要的空間在窗體下進(jìn)行排列,屬性設(shè)置,然后以圖4為例,在圖4所示的窗體下編寫(xiě)的接口實(shí)現(xiàn)代碼如下:

        1:private sub command1_click()//聲明一個(gè)點(diǎn)擊事件

        2:Dim Matlab as Object//聲明要調(diào)用Matlab的Active X

        3:Dim result as string

        4:SetMatlab=CreatObject(“Matlab.application”)//建立聯(lián)系

        5:Call Matlab.minimizecommandwindow

        If Label12.Caption=""Then

        num=Text10.Text

        den=Text11.Text

        Else

        num=Label12.Caption

        den=Label13.Caption

        End If

        6:result=Matlab.execute("sim('mlmx',5,[])")

        7:result=Matlab.execute("set_param('mlmx/PID Controller','P','"&Text1.Text&"','I','"&Text2.Text &"','D','"&Text3.Text&"')")

        8:result=Matlab.execute("set_param('mlmx/Transfer Fcn','Numerator','["&num&"]','Denominator','[" &den&"]')")

        9:result=Matlab.execute("set_param('mlmx/Transfer Fcn1','Numerator','["&num&"]','Denominator',' ["&den&"]')")

        10:result=Matlab.execute("clear")

        11:result=Matlab.execute("sim('mlmx',5,[])")

        12:result=Matlab.execute("plot(t,y1)")

        13:result=Matlab.execute("grid;")

        14:result=Matlab.execute("title('Mutil-loopSystem Step Response')")

        15:result=Matlab.execute("print-f1-dbitmap c: stepphoto.bmp")

        16:Picture1.Picture=LoadPicture("c:stepphoto. bmp")

        17:Call Matlab.quit

        最后點(diǎn)擊運(yùn)行,代碼無(wú)誤的前提下,運(yùn)行結(jié)果正如圖4所示。認(rèn)真理解吃透一個(gè)窗體下的程序代碼,其他界面的代碼編寫(xiě)也是相類(lèi)似的,這樣可以進(jìn)行其他控制系統(tǒng)的性能分析。

        3 結(jié)論

        能力。應(yīng)用Matlab進(jìn)行自動(dòng)控制系統(tǒng)分析或者設(shè)計(jì)大大提高了工作效率。若將Matlab與VB結(jié)合,既可以利用Matlab的運(yùn)算能力,將其作為后臺(tái)運(yùn)行軟件,又可以利用VB強(qiáng)大的界面設(shè)計(jì)能力,將它作為前臺(tái)界面設(shè)計(jì)軟件。這樣,以一個(gè)實(shí)際的PID控制器在工程上的應(yīng)用(小型燃?xì)鉄崴疇t溫度控制)為例,可以做成一個(gè)軟件系統(tǒng),系統(tǒng)界面整潔、便利,參數(shù)可調(diào),只需要按相關(guān)控件即可。這樣的設(shè)計(jì)方法一方面,VB應(yīng)用程序?qū)ID的整定參數(shù)通過(guò)COM傳遞到Matlab,由Matlab應(yīng)用程序完成控制算法的計(jì)算。另一方面,將計(jì)算結(jié)果通過(guò)COM傳遞到VB,這樣的一種混合編程方法是兼顧了VB和Matlab各自的優(yōu)點(diǎn),大大提高了代碼執(zhí)行的效率,這在工程中有廣泛的應(yīng)用性。

        [1]歐陽(yáng)明,李玉清,曾海霞,等.VB與MATLAB混合編程在工程中的應(yīng)用[J].電子技術(shù),2009,15(7):45-47.

        [2]楊長(zhǎng)亮.基于模糊PID控制的燃?xì)鉄崴仩t燃燒控制系統(tǒng)的研究[D].成都:電子科技大學(xué),2010(5):13-18.

        [3]王朝暉,宋軍.自整定PID控制策略在溫度控制中的應(yīng)用[J].計(jì)算技術(shù)與現(xiàn)代化,2006,25(4):45-47.

        [4]吳春,龐洪,陳明,等.一種自整定模糊PID控制仿真[J].桂林航天工業(yè)高等專(zhuān)科學(xué)校學(xué)報(bào),2008(4):17-19.

        [5]許輝,桂波,楊敏.某鍋爐減溫水調(diào)節(jié)方案優(yōu)化與實(shí)施[J].化工自動(dòng)化及儀表,2012,39(6):792-794.

        [6]閆斐,柴茂.ActiveX技術(shù)綜述[J].山西煤炭管理干部學(xué)院學(xué)報(bào),2005,29(4):45-46.

        [7]湯紅梅,張軍.基于ActiveX的Matlab與VB接口技術(shù)在仿真軟件設(shè)計(jì)中的應(yīng)用[J].煤礦機(jī)械,2004,45(12):86-87.

        [8]周慕遜,王正初.基于VB與MATLAB接口的PID控制器實(shí)現(xiàn)[J].測(cè)控技術(shù),2010,29(3):46-47.

        Matlab具有強(qiáng)大的數(shù)據(jù)處理能力和方便的繪圖

        Realization of PID Controller Based on the Interface Programming Technique Between Matlab and VB

        ZHANG Yuye,ZHANG Xiaoqing
        (School of Physics and Electronics Engineering,Xianyang Normal University,Xianyang 712000,Shaanxi,China)

        In this dissertation,the furnace temperature control system of a minitype gas-fired hot water boiler as the study object is mainly focused on.VB is used to build man-machine interface (MMI)of the given system.And the PID control algorithm is carried out by Matlab.Combining programming technology of VB and Matlab,the link of VB and Matlab can be realized by the callback function of ActiveX components of Matlab.And you can have execution results or drowned curve.In this way,integration of the friendly human-machine interfaces of VB and the strong analysis ability of Matlab can be achieved.And the PID simulation and analysis of the furnace temperature control system of a boiler thus can be done.And highly effective application and development of this method help to further develop related softwares.

        Matlab;Visual Basic;PID algorithm;Active X components

        TP31

        A

        1672-2914(2016)04-0038-04

        2016-05-01

        咸陽(yáng)師范學(xué)院大學(xué)生創(chuàng)新訓(xùn)練項(xiàng)目(2015045);咸陽(yáng)師范學(xué)院教改項(xiàng)目(2015Z006)。

        張玉葉(1979—),女,陜西禮泉縣人,咸陽(yáng)師范學(xué)院物理與電子工程學(xué)院講師,碩士,研究方向?yàn)榭刂评碚撆c控制工程。

        猜你喜歡
        被控應(yīng)用程序燃?xì)?/a>
        擰緊燃?xì)狻鞍踩y”
        近期實(shí)施的燃?xì)鈬?guó)家標(biāo)準(zhǔn)
        煤氣與熱力(2022年4期)2022-05-23 12:45:00
        探討燃?xì)夤こ痰脑靸r(jià)控制及跟蹤審計(jì)
        刪除Win10中自帶的應(yīng)用程序
        大慣量系統(tǒng)位置控制策略研究
        燃?xì)膺h(yuǎn)傳抄表系統(tǒng)分析
        河南科技(2014年7期)2014-02-27 14:11:17
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        三星電子將開(kāi)設(shè)應(yīng)用程序下載商店
        微軟軟件商店開(kāi)始接受應(yīng)用程序
        偷拍一区二区三区四区视频| 国产WW久久久久久久久久| 激情亚洲的在线观看| 蜜桃传媒免费观看视频| 日本污ww视频网站| 亚洲av日韩av综合| 精品久久久久一区二区国产| 国产肥熟女视频一区二区三区| 国产av天堂亚洲av刚刚碰| 少妇被粗大的猛烈进出免费视频| 国产成人亚洲不卡在线观看| 国产精品亚洲av国产| 久久在一区二区三区视频免费观看| 丰满人妻一区二区三区视频53| 精品国产看高清国产毛片| 亚洲av一二三又爽又爽又色 | 国产亚洲曝欧美不卡精品| 日韩av一区二区三区精品久久 | 激情偷乱人成视频在线观看| 91精品全国免费观看青青| 中文亚洲一区二区三区| 亚洲欧美综合精品成人网站| 欧美与黑人午夜性猛交久久久| 一区二区三区免费视频网站| 精品国产一区二区三区香| 香港三日本三级少妇三级视频| 久久亚洲欧洲无码中文| 美女被插到高潮嗷嗷叫| 日本道色综合久久影院| 欧洲极品少妇| 欧美精品日韩一区二区三区| 精品人妻av一区二区三区四区| 国产女主播白浆在线观看| 欧美精品区| 日韩精品综合在线视频| 亚洲av成人片色在线观看| 女人色毛片女人色毛片18| jiZZ国产在线女人水多| 亚洲女优中文字幕在线观看| 亚洲av成人无码网站大全| 国产亚洲欧美日韩国产片|