日本在线www-日本在线播放一区-日本在线不卡免费视频一区-日本在线不卡视频-成人影院久久久久久影院-成人影院一区二区三区

ABB25年11月
關(guān)注中國自動化產(chǎn)業(yè)發(fā)展的先行者!
工業(yè)智能邊緣計算2025年會
2025工業(yè)安全大會
CAIAC 2025
OICT公益講堂
當(dāng)前位置:首頁 >> 案例 >> 案例首頁

案例頻道

VB與MATLAB混合編程實現(xiàn)控制系統(tǒng)分析
  • 企業(yè):控制網(wǎng)     領(lǐng)域:儀器儀表     行業(yè):綜合    
  • 點(diǎn)擊數(shù):3531     發(fā)布時間:2009-11-27 12:01:43
  • 分享到:
    摘  要: 分析控制系統(tǒng)的性能可以采用Visual Basic與MATLAB的混合編程實現(xiàn),用Visual Basic編寫圖形化界面進(jìn)行參數(shù)輸入和初步處理并應(yīng)用ActiveX自動化技術(shù)發(fā)送給MATLAB服務(wù)器,由MATLAB在后臺完成對控制系統(tǒng)的分析與計算任務(wù)并將計算結(jié)果傳回Visual Basic圖形化界面顯示。

    關(guān)鍵詞:
  ActiveX自動化;MATLAB服務(wù)器;控制系統(tǒng);Visual Basic
    Abstract:Control system analysis can be realized by merging Visual Basic and MATLAB.Visual Basic is supposed to provide the interface of control system parameters which is roughly dealt and and passed to MATLAB Server using ActiveX automation technology. MATLAB then does the relevant calculation and analysis in the background and returns the results to Visual Basic interface.

    Keywords
ActiveX Automation;MATLAB Server; Control System;Visual Basic

    引言

    正確的分析控制系統(tǒng)的性能無論是在研究領(lǐng)域還是在工業(yè)生產(chǎn)過程中都有重要的意義,而一個好的分析工具自然可以簡化分析過程,提高效率,節(jié)約時間。MATLAB是現(xiàn)在比較常用的控制系統(tǒng)分析工具,其功能雖然強(qiáng)大,但是命令復(fù)雜難記,對數(shù)據(jù)的輸入格式有嚴(yán)格要求,不適合初學(xué)者,尤其是英語和編程語言基礎(chǔ)薄弱的用戶。解決此問題的辦法之一是設(shè)計圖形化界面的分析軟件包供用戶輸入?yún)?shù)和顯示對應(yīng)結(jié)果。Visual Basic是由微軟公司開發(fā)的,以 “所見即所得”效果著稱的圖形化編程語言,無需編輯大量代碼就可以輕松實現(xiàn)比較復(fù)雜的圖形界面。因此如果將上述兩種軟件結(jié)合,用Visual Basic開發(fā)前臺界面,MATLAB進(jìn)行后臺數(shù)據(jù)處理,通過簡單編程就可以初步實現(xiàn)控制系統(tǒng)的計算機(jī)輔助分析,降低了分析復(fù)雜控制系統(tǒng)的編程難度,縮短了編程周期,提高工作效率。

     1 Visual Basic與MATLAB混合編程

    1.1 Visual Basic與MATLAB的結(jié)合

    Visual Basic是MicroSoft公司推出的應(yīng)用程序開發(fā)工具,雖然它簡單易學(xué)而又功能強(qiáng)大,尤其在開發(fā)圖形用戶界面(GUI)方面表現(xiàn)卓越,但是提供的數(shù)學(xué)函數(shù)卻及其有限,在數(shù)值計算和圖形處理方面顯得力不從心。MATLAB是MathWorks公司開發(fā)的一種科學(xué)計算語言。用這種語言可以解決很多工程計算問題,主要功能包括數(shù)學(xué)計算、數(shù)據(jù)分析與可視化等。將二者結(jié)合,在Visual Basic可視化界面下憑借MATLAB強(qiáng)大的數(shù)據(jù)計算和圖形顯示功能,勢必可以簡化編程步驟,輕松實現(xiàn)控制系統(tǒng)的計算機(jī)輔助分析。

    1.2 ActiveX自動化技術(shù)

    Microsoft把所有以COM(小型快速可重用組件Component Object Model)為基礎(chǔ)的技術(shù)統(tǒng)稱為ActiveX技術(shù)。ActiveX自動化(Automation)是ActiveX的一個協(xié)議,它允許應(yīng)用程序活組件控制另一個應(yīng)用程序或組件運(yùn)行。由于Visual Basic支持ActiveX自動化控制協(xié)議,MATLAB支持自動化服務(wù)器端協(xié)議,因此如果建立一個Visual Basic應(yīng)用程序和MATLAB之間的ActiveX自動化連接,那么在Visual Basic應(yīng)用程序中就可以調(diào)用MATLAB的命令了。

    1.3 Visual Basic創(chuàng)建ActiveX對象

     Visual Basic能通過不同的方式實現(xiàn)對自動化對象的使用和操作。要創(chuàng)建一個ActiveX對象,只要將CreateObject函數(shù)方法返回的對象賦給一個對象變量,并在聲明對象變量時使用As Object子句。

        Dim MATLAB As Object

        Set MATLAB =CreateObject(“MATLAB.application”)

    MATLAB.application是MATLAB提供的一個自動化對象的外部名稱,是機(jī)器安裝好MATLAB 7.01后默認(rèn)的類庫名稱。創(chuàng)建好一個ActiveX對象后,就可對此對象進(jìn)行操作,如同在Visual Basic中對其它對象的操作一樣。

    1.4 ActiveX對象的操作

      MATLAB.application對象提供的常用方法有一下幾種:

       Execute 

       [out] BSTR result = Execute([in] BSTR "command")

    本方法將調(diào)用MATLAB執(zhí)行字符串變量Command中的MATLAB命令,同時返回一個字符串表示命令的執(zhí)行情況。任何能在MATLAB命令行窗口執(zhí)行的命令均可被包括在Command字符串中。同時命令所產(chǎn)生的任何圖形窗口都將被直接顯示在屏幕上。

      GetFullMatrix

      ([in] BSTR varname,[in] BSTR workspace,

      [in,out] SAFEARRAY(double)* xreal,

      [in, out] SAFEARRAY(double)* ximag)

   GetFullMatrix 方法將MATLAB中的一個矩陣變量傳送到Visual Basic指定的數(shù)組中。varname為MATLAB中的矩陣變量名,workspace指定了該矩陣所在的MATLAB工作區(qū),xreal是Visual Basic程序中的實部數(shù)組,ximag是指Visual Basic程序中的虛部數(shù)組。

PutFullMatrix     
    
([in] BSTR name,    
    
[in] BSTR workspace,

[in] SAFEARRAY(double) xreal,

[in] SAFEARRAY(double) ximag);

PutFullMatrix方法用來將Visual Basic程序中的一個一維或二位數(shù)組傳送到MATLAB的矩陣變量中。

PutCharArray          

([in] BSTR name,

[in] BSTR workspace,
[in] BSTR string)
     PutCharArray  方法將Visual Basic程序中一個字符串變量string的值傳到MATLAB命令空間的變量name中。

     1.5 Visual Basic與MATLAB數(shù)據(jù)傳遞關(guān)系如下:

                    
 
     2  數(shù)據(jù)處理與傳遞

      圖1 是根據(jù)控制系統(tǒng)的參數(shù)繪制BODE圖的界面:

                     
                                           
                                         圖 1

    用戶根據(jù)提示信息在在文本框中輸入對應(yīng)參數(shù)并按確定按鈕之后,Visual Basic先對文本框中的數(shù)據(jù)進(jìn)行合法性的檢查和處理,再將其傳到MATLAB的工作空間中進(jìn)行繪制BODE圖有關(guān)的處理計算,再向MATLAB發(fā)出繪圖命令繪制系統(tǒng)的BODE圖,最后將MATLAB的數(shù)據(jù)計算結(jié)果(圖中為增益裕度、相位裕度等)顯示在文本框中,將圖像顯示在圖形框中。

     2.1 矩陣數(shù)據(jù)的傳遞與處理

    用戶在軟件包的界面輸入的矩陣數(shù)據(jù)在傳遞到MATLAB的命令空間之前首先要經(jīng)過Visual Basic環(huán)境下編寫的矩陣處理函數(shù)進(jìn)行初步的處理,包括非法字符的過濾與有效性檢查等,如果數(shù)據(jù)不符合要求的數(shù)據(jù)輸入格式,則給用戶發(fā)出警告。在檢查無誤后,Visual Basic通過ActiveX對象的putfullmatrix命令將矩陣數(shù)據(jù)傳遞到MATLAB的命令空間,同時對MATLAB發(fā)出數(shù)據(jù)分析與繪圖命令,MATLAB響應(yīng)該請求并進(jìn)行運(yùn)算,最后把計算結(jié)果的實部和虛部通過GetFullMatrix函數(shù)傳至Visual Basic中。
     2.2圖像數(shù)據(jù)的傳遞與處理

     MATLAB繪制完圖形以后并沒有直接傳遞給Visual Basic,而是將圖像保存在本地磁盤的某一路徑下面,保存完以后通知Visual Basic圖形的保存路徑。Visual Basic根據(jù)該路徑調(diào)用LoadPicture(picpathname)函數(shù)將圖形導(dǎo)入圖形框,picpathname是該圖形存儲的路徑的字符串。

    3 結(jié)束語

    研究控制系統(tǒng)的計算機(jī)輔助分析有重要意義,將Visual Basic和MATLAB結(jié)合開發(fā)分析工具可以綜合Visual Basic和MATLAB的優(yōu)勢,可簡化編程步驟,提高控制程序的開發(fā)效率。
 
    參考文獻(xiàn)
    [1] 龔沛曾、陸慰民、楊志強(qiáng).Visual Basic 程序設(shè)計教程(6.0)[M],北京:高等教育出版社,2000年7月,P231~P250(書籍類)。

    [2] 李國勇、謝克明.控制系統(tǒng)數(shù)字仿真與CAD[M],北京:電子工業(yè)出版社,2005年7月,P6~P87(書籍類)。

    [3] (美) 克里斯 H. 帕帕斯、 威廉 H. 默里.Visual Basic進(jìn)階Windows API編程,   西安-西安交通大學(xué)出版社,2001年04月,P100-P150(書籍類)。


         

熱點(diǎn)新聞

推薦產(chǎn)品

x
  • 在線反饋
1.我有以下需求:



2.詳細(xì)的需求:
姓名:
單位:
電話:
郵件:
天天做日日干| 你懂的福利视频| 精品久久久久久免费影院| 亚洲天堂免费| 青青久久网| 一级毛片视频免费| 国产不卡在线播放| 韩国三级视频网站| 黄视频网站免费观看| 国产精品1024永久免费视频| 你懂的福利视频| 香蕉视频一级| 青青久久国产成人免费网站| 国产高清在线精品一区二区| 国产一级强片在线观看| 尤物视频网站在线观看| 国产麻豆精品hdvideoss| 黄视频网站在线免费观看| 精品国产一区二区三区久 | 99色视频在线| 精品国产一区二区三区久 | 一级毛片视频在线观看| 美女免费黄网站| 成人a级高清视频在线观看| 天天做日日干| 四虎论坛| 精品国产一区二区三区久| 九九久久国产精品| 亚洲女人国产香蕉久久精品| 国产一区二区精品| 中文字幕Aⅴ资源网| 精品视频一区二区三区| 精品久久久久久中文字幕一区 | 亚洲天堂免费观看| 亚洲 男人 天堂| 国产视频一区二区三区四区| 可以在线看黄的网站| 精品视频在线观看一区二区| 亚洲www美色| 精品在线观看国产| 亚欧视频在线| 韩国毛片 免费| 精品视频在线观看一区二区| 999久久狠狠免费精品| 日韩中文字幕在线观看视频| 国产成人精品在线| 亚洲 国产精品 日韩| 精品视频在线看| 黄色免费网站在线| 国产美女在线一区二区三区| 国产高清在线精品一区二区| 青草国产在线| 日韩中文字幕在线播放| 国产福利免费观看| 成人在免费观看视频国产| 国产网站免费观看| 国产一级强片在线观看| 免费国产一级特黄aa大片在线| 国产一区精品| 欧美一级视| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产一区二区福利久久| 精品视频在线观看免费| 精品毛片视频| 精品视频在线观看视频免费视频| 日本免费看视频| 成人免费观看视频| 麻豆系列国产剧在线观看| 国产美女在线观看| 黄色短视频网站| 青青久久国产成人免费网站| 在线观看成人网 | 亚洲 男人 天堂| 色综合久久天天综合观看| 一级毛片视频免费| 欧美α片无限看在线观看免费| 欧美a级片视频| 国产极品白嫩美女在线观看看| 免费的黄色小视频| 国产成人精品综合在线| 欧美激情一区二区三区在线播放| 日韩中文字幕在线观看视频| 欧美激情中文字幕一区二区| 国产不卡福利| 日本特黄特黄aaaaa大片| 国产国产人免费视频成69堂| 国产一区二区精品久| 你懂的福利视频| 九九干| 国产国语在线播放视频| 精品视频在线看| 九九精品在线| 黄色免费三级| 久久国产影院| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 成人高清免费| 国产成人精品综合久久久| 国产成人精品影视| 欧美a级大片| 国产网站免费| 日本特黄一级| 亚洲 激情| 国产伦久视频免费观看 视频| 国产国产人免费视频成69堂| 免费国产在线观看不卡| 国产伦精品一区二区三区无广告| 成人a级高清视频在线观看| 二级片在线观看| 亚洲天堂在线播放| 天天做日日干| 国产伦理精品| 麻豆网站在线看| 久久国产精品自线拍免费| 亚洲精品中文一区不卡| 成人免费网站久久久| 久久国产一区二区| 亚洲精品永久一区| 色综合久久天天综合| 日韩在线观看视频网站| 韩国三级香港三级日本三级| 99色视频在线观看| 四虎影视久久久| 国产成人啪精品视频免费软件| 国产欧美精品| 国产一区二区精品| 香蕉视频三级| 国产成人精品影视| 国产成人啪精品| 欧美1区| 国产极品精频在线观看| a级毛片免费观看网站| 四虎影视久久| 成人免费观看的视频黄页| 欧美国产日韩久久久| 黄视频网站免费看| 你懂的福利视频| 久久99这里只有精品国产| 日韩专区一区| 国产福利免费视频| 欧美国产日韩在线| 九九热国产视频| 国产一区二区高清视频| 国产a网| 美国一区二区三区| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 欧美大片a一级毛片视频| 亚洲天堂一区二区三区四区| 99色视频在线| 在线观看导航| 99热精品在线| 亚洲女初尝黑人巨高清在线观看| 天天做日日爱| 成人高清视频在线观看| 国产伦久视频免费观看视频| 成人av在线播放| 美国一区二区三区| 国产不卡福利| 国产91精品一区| 欧美一级视频免费观看| 久久99欧美| 午夜在线观看视频免费 成人| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 日韩中文字幕在线播放| 黄视频网站在线看| 国产一区精品| 黄视频网站在线免费观看| 国产一区二区精品久久91| 国产精品自拍在线观看| 免费国产在线观看不卡| 毛片成人永久免费视频| 免费毛片播放| 国产一区二区精品久久91| 成人高清护士在线播放| 一本高清在线| 欧美激情一区二区三区在线播放| 你懂的福利视频| 欧美一级视| 韩国毛片免费大片| 精品视频一区二区三区| 欧美爱色| 久久99这里只有精品国产| 国产国产人免费视频成69堂| 国产不卡高清在线观看视频| 一级毛片视频免费| 欧美日本二区| 国产成人啪精品视频免费软件| 国产极品白嫩美女在线观看看| 欧美a级片视频| 欧美大片一区| 高清一级毛片一本到免费观看| 国产激情一区二区三区| 国产高清视频免费观看| 国产综合成人观看在线| 久久成人亚洲| 国产视频一区二区在线播放| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 精品国产香蕉伊思人在线又爽又黄| 欧美18性精品| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 |