• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      VB和MATLAB在自動控制原理教學(xué)上的應(yīng)用

      2013-12-31 00:00:00萬會敏丁鋒
      電子世界 2013年22期

      【摘要】結(jié)合VB界面友好、編程簡單的特點(diǎn)及MATLAB強(qiáng)大的計(jì)算、圖形表達(dá)功能,利用ActiveX技術(shù),以及將Matlab作為服務(wù)器、VB應(yīng)用程序作為控制端的方式,實(shí)現(xiàn)了從VB調(diào)用Matlab的功能。運(yùn)用這種功能設(shè)計(jì)開發(fā)了“自動控制原理”的計(jì)算機(jī)輔助教學(xué)軟件。該軟件包含數(shù)學(xué)計(jì)算、傳遞函數(shù)、穩(wěn)定性分析、頻率響應(yīng)分析、根軌跡分析等5個主要模塊,操作簡便,界面友好、靈活,對“自動控制原理”的學(xué)習(xí)與教學(xué)具有一定的實(shí)用性。

      【關(guān)鍵詞】MATLAB;VB;ActiveX技術(shù);自動控制原理

      1.引言

      在自動控制原理教學(xué)中[1,2],經(jīng)常要對控制系統(tǒng)的穩(wěn)定性進(jìn)行分析,通過頻域變化、z變換、s變換等來解決時域問題,從而改變和判斷系統(tǒng)的收斂情況。各種方法雖是可以達(dá)到結(jié)果,但繁瑣,計(jì)算起來較慢,且學(xué)生和老師需在計(jì)算機(jī)房花費(fèi)大量時間來驗(yàn)證、編程,對教學(xué)的及時性、串聯(lián)性,學(xué)生的感官性認(rèn)識都有所影響[3]。

      Visual Basic[4]是一種可視化的程序設(shè)計(jì)語言,在其編程環(huán)境中采用了面向?qū)ο蟮目梢暬O(shè)計(jì)工具、事件驅(qū)動的編程機(jī)制、動態(tài)數(shù)據(jù)驅(qū)動等先進(jìn)的軟件開發(fā)技術(shù),為用戶提供了一種所見即所得的可視化程序設(shè)計(jì)方法。但是它的數(shù)值計(jì)算能力不是很強(qiáng),而由美國MathWorks公司推向市場的MATLAB軟件恰好彌補(bǔ)了這一缺陷。該軟件是一種面向科學(xué)和工程計(jì)算的解釋性語言,具有強(qiáng)大的數(shù)值分析、矩陣運(yùn)算、信號處理和圖形顯示能力,為用戶提供了一個強(qiáng)有力的科學(xué)及工程問題分析計(jì)算及程序設(shè)計(jì)的工具,可根據(jù)不同處理對象的需要,通過簡單的編程,方便地完成相應(yīng)的功能[5]。

      基于VB和MATLAB的上述特點(diǎn),本文利用VB來設(shè)計(jì)界面作為主程序,調(diào)用由MATLAB編寫的子程序,從而實(shí)現(xiàn)對自動控制系統(tǒng)中系統(tǒng)的穩(wěn)定性的分析,還可以畫出相應(yīng)的Frequency圖、Nichols圖、Nyquist圖、Bode圖,進(jìn)行自動控制系統(tǒng)的性能分析。有效地提高了自動控制原理課程的教學(xué)計(jì)劃,也提高的學(xué)生的感性認(rèn)識和積極性,提高了教學(xué)質(zhì)量。

      2.軟件工具

      2.1 借助Active X部件

      Active X部件是一些遵循Active X規(guī)范編寫的可執(zhí)行代碼,比如一個.exe、.dll或.ocx文件。它允許應(yīng)用程序或組件控制另一個應(yīng)用程序或組件的運(yùn)行,它包括自動化服務(wù)器和自動化控制器。在程序中加入Active X部件后,它將成為開發(fā)和運(yùn)行環(huán)境的一部分,并為應(yīng)用程序提供新的功能。Active X部件保留了一些普通VB控制的屬性、事件和方法,它特有的方法和屬性大大地增強(qiáng)了程序設(shè)計(jì)者的能力和靈活性。Active X實(shí)際上是在調(diào)用一種部件,而無需要求該部件對應(yīng)的程序正在運(yùn)行,這會使得其功能更加強(qiáng)大。在VB中創(chuàng)建MATLAB的Active X對象后,就可以使用這個對象所包含的各種方法,實(shí)現(xiàn)對MATLAB的調(diào)用[6-8]。

      在VB中創(chuàng)建MATLAB Active X的方法如下:

      Dim Matlab As Object

      Set Matlab=CreatObject(“Matlab.Application”)

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

      2.2 基于MATLAB的自動控制系統(tǒng)性能分析

      一個控制系統(tǒng)的全部性質(zhì)都取決于其閉環(huán)傳遞函數(shù),如穩(wěn)定性取決于其極點(diǎn),穩(wěn)定精度取決于其比例系數(shù),動態(tài)性能既取決于其極點(diǎn),又與零點(diǎn)有關(guān)。閉環(huán)傳遞函數(shù)的零點(diǎn)和開環(huán)傳遞函數(shù)的零點(diǎn)相同,比例系數(shù)之間也有簡單的關(guān)系,都不難確定[9,10]。唯有閉環(huán)傳遞函數(shù)的極點(diǎn),即閉環(huán)特征方程的根,計(jì)算比較困難??刂葡到y(tǒng)的這些基本性能在經(jīng)典控制理論中主要通過時域響應(yīng)曲線分析法、根軌跡法與頻率響應(yīng)法等對系統(tǒng)進(jìn)行設(shè)計(jì)、分析,為此我們借助Matlab強(qiáng)大的專業(yè)繪圖功能(如響應(yīng)曲線、Bode圖、Nyquist圖、Frequency圖、Nichols圖等),對系統(tǒng)的各種性能進(jìn)行分析。控制系統(tǒng)傳遞函數(shù)模型:

      (1)

      在MATLAB中,直接用分子/分母的系數(shù)表示,即:

      num=[b1,b2,b3,…,bm]

      den=[a1,a2,a3,…,am]

      則該系統(tǒng)的頻率響應(yīng)數(shù)據(jù)可由式(2)得出。

      (2)

      3.基于Visual Basic及MATLAB接口實(shí)現(xiàn)的自動控制系統(tǒng)

      例如某控制系統(tǒng)的開環(huán)傳遞函數(shù)為:

      本例設(shè)計(jì)的是利用VB來設(shè)計(jì)界面作為主程序,借助與Active X部件調(diào)用由MATLAB編寫的子程序,畫出相應(yīng)的Frequency圖、Nichols圖、Nyquist圖、Bode圖、step圖和rlocus圖,并對自動控制系統(tǒng)的穩(wěn)定性從頻域和時域進(jìn)行了分析。

      3.1 該系統(tǒng)的頻域分析

      用戶界面設(shè)計(jì)如下:

      在VB中編寫的頻域分析主程序如下:

      Private Sub Command1_Click()

      Dim matlab As Object

      Dim result As String

      Set matlab = CreateObject(\"matlab.application\")

      Call matlab.minimizecommandwindow

      result = matlab.execute(\"clear\")

      result = matlab.execute(\"\" Text1.Text \"\")

      result = matlab.execute(\"freqs(num, den,w)\")

      result = matlab.execute(\"print -f1 -dbitmap e:\ freqs.bmp\")

      Picture1.Picture = LoadPicture(\"e:\ freqs.bmp\")

      Call matlab.quit

      Set matlab = Nothing

      End Sub

      Private Sub Command5_Click()

      Unload Me

      End Sub

      Private Sub Form_Load()

      Me.Left = 0

      Me.Top = 0

      Me.Width = Screen.Width

      Me.Height = Screen.Height

      End Sub

      在Matlab下編寫的函數(shù)子程序如下:

      num=[250];

      den=[1 20 75 0] ;

      w=0:0.1:100;

      [m1,p1]=bode(num,den,w);

      p1=p1-T*w'*180/pi;

      subplot(211),semilogx(w,20*log10(m1));

      subplot(212),semilogx(w,p1);

      [x,y]=nyquist(num,den,w);

      clg;plot(x,y);

      [x1,y1]=freqz(num,den,sqrt(-1)*w);

      [mag,pha]=nichols(num,den,w)[7];

      3.2 該系統(tǒng)的穩(wěn)定性分析

      3.2.1 利用Bode圖進(jìn)行分析

      此系統(tǒng)開環(huán)傳遞函數(shù)的特征根全部位于虛軸左側(cè),即p=0。由圖中可以知道,在的頻率范圍內(nèi),未穿越-180o線,故該系統(tǒng)閉環(huán)后是穩(wěn)定的。

      3.2.2 利用Nyquist穩(wěn)定判據(jù)進(jìn)行分析

      要判斷閉環(huán)狀態(tài)的穩(wěn)定性,必須繪制出的幅相特性圖,根據(jù)繪制幅相頻率特性圖的規(guī)則,特性曲線的起點(diǎn)在實(shí)軸上,終點(diǎn)是以-270o進(jìn)入原點(diǎn)。系統(tǒng)閉環(huán)穩(wěn)定與否,主要取決于特性曲線與實(shí)軸的交點(diǎn)。

      (3)

      由得。將代入得:

      (4)

      的幅相頻率特性圖如4所示。由圖知的幅相特性繞(-1,j0)的轉(zhuǎn)角為零。所以該系統(tǒng)閉環(huán)狀態(tài)是穩(wěn)定的[6]。

      4.結(jié)論

      通過對VB和Matlab的鏈接進(jìn)行了總結(jié)性研究,以Active X部件為基礎(chǔ)的鏈接方法,實(shí)現(xiàn)對自動控制原理中控制系統(tǒng)進(jìn)行了教學(xué)編程,可對系統(tǒng)的連續(xù)函數(shù)和離散函數(shù)進(jìn)行分析,并舉例說明和分析了系統(tǒng)開環(huán)傳遞函數(shù)的穩(wěn)定性,畫出了系統(tǒng)的Bode圖、Nyquist圖、Frequency圖、Nichols圖來驗(yàn)證設(shè)計(jì)的鏈接的正確性。很好的改變了老師在教學(xué)中枯燥的現(xiàn)象,豐富了課堂的活躍性,提高了教學(xué)質(zhì)量,是可以推廣應(yīng)用的好的教學(xué)手段。

      參考文獻(xiàn)

      [1]趙仕良.用MATLAB語言輔助《自動控制原理》的教學(xué)[J].四川師范大學(xué)學(xué)報(自然科學(xué)版),1999,22(3):341-343.

      [2]周竹生,陳靈君,張賽民.VB實(shí)現(xiàn)對MATLAB程序的調(diào)用[J].電腦開發(fā)與應(yīng)用,2004,5:21-23.

      [3]湯海紅,張君.基于Active X的Matlab與VB接口技術(shù)在仿真軟件設(shè)計(jì)中的應(yīng)用[J].煤礦機(jī)械,2004,12:86-88.

      [4]杜春雷.如何使用Visual Basic 6.0中文版[M].北京:機(jī)械工業(yè)出版社,1999,5.

      [5]李蓉萍.MATLAB在控制系統(tǒng)仿真中的應(yīng)用[J].電訊技術(shù),2001,5:95-97.

      [6]陳耀東.VB應(yīng)用程序與Matlab接口技術(shù)的實(shí)現(xiàn)[J].新余高專學(xué)報,2004,2:11-13.

      [7]吳文進(jìn).自動控制原理課程的MATLAB輔助教學(xué)[J].安慶師范學(xué)院學(xué)報(自然科學(xué)版),2010,16(1):114-116.

      [8]柴瑞娟.MATLAB語言在自動控制原理教學(xué)中的應(yīng)用[J].電氣電子教學(xué)學(xué)報,2001,23(6):25-27.

      [9]魏克新.MATLAB語言與自動控制系統(tǒng)設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,1997,2.

      [10]張春峰,鄒新杰,余張國.用MATLAB語言開發(fā)自動控制原理的輔助教學(xué)系統(tǒng)[J].西南科技大學(xué)《高教研究》,2006,2:18-20.

      作者簡介:

      萬會敏(1985—),女,西華師范大學(xué)教育學(xué)院2014屆現(xiàn)代教育技術(shù)專業(yè)教育學(xué)碩士研究生在讀,主要從事計(jì)算機(jī)教學(xué)、編程和網(wǎng)絡(luò)設(shè)計(jì)方面的工作。

      丁鋒(1984—),男,碩士,工程師,現(xiàn)供職于中石化中原石油勘探局勘察設(shè)計(jì)研究院,主要從事電子設(shè)計(jì),信號解調(diào),化工儀表維護(hù)和集散控制系統(tǒng)設(shè)計(jì)及油氣加工設(shè)計(jì)等方面的應(yīng)用研究。

      泊头市| 吉安市| 平定县| 绵竹市| 惠来县| 德阳市| 科技| 崇礼县| 霞浦县| 茌平县| 嘉鱼县| 自贡市| 丘北县| 富源县| 道孚县| 垫江县| 保康县| 金溪县| 乌海市| 临洮县| 清丰县| 潢川县| 芦溪县| 元氏县| 芦山县| 云霄县| 太原市| 威远县| 财经| 慈利县| 铁岭县| 绿春县| 武宁县| 洛宁县| 黄大仙区| 瓮安县| 汝南县| 通道| 长春市| 潢川县| 鄂托克旗|