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

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

案例頻道

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

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

     1 Visual Basic與MATLAB混合編程

    1.1 Visual Basic與MATLAB的結合

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

    1.2 ActiveX自動化技術

    Microsoft把所有以COM(小型快速可重用組件Component Object Model)為基礎的技術統(tǒng)稱為ActiveX技術。ActiveX自動化(Automation)是ActiveX的一個協(xié)議,它允許應用程序活組件控制另一個應用程序或組件運行。由于Visual Basic支持ActiveX自動化控制協(xié)議,MATLAB支持自動化服務器端協(xié)議,因此如果建立一個Visual Basic應用程序和MATLAB之間的ActiveX自動化連接,那么在Visual Basic應用程序中就可以調(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提供的一個自動化對象的外部名稱,是機器安裝好MATLAB 7.01后默認的類庫名稱。創(chuàng)建好一個ActiveX對象后,就可對此對象進行操作,如同在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ù)傳遞關系如下:

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

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

                     
                                           
                                         圖 1

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

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

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

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

    3 結束語

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

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

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


         

熱點新聞

推薦產(chǎn)品

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



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 欧美日韩中文综合v日本-欧美日韩中文字幕久久-欧美日韩中文在线-欧美日韩中文一区二区三区-欧美日韩中文国产一区二区三区-欧美日韩在线视频观看 | 99久久免费视频-99久久免费看精品国产一区-99久久免费看国产精品-99久久免费精品视频-欧美ⅹxxxx视频-欧美ⅹxxxhd3d | 香蕉网站男人网站-香蕉网站狼人久久五月亭亭-香蕉网在线视频-香蕉网在线观看-香蕉网伊-香蕉婷婷 中文有码中文字幕免费视频-中文有码视频-中文伊人-中文一区在线观看-欧美性综合-欧美性在线视频 | 四虎影视永久免费观看网址-四虎影视永久地址www成人污-四虎影视网站-四虎影视网-日韩欧美高清色码-日韩欧美国产免费看清风阁 | 一级成人生活片免费看-一级床上爽高清播放-一级大毛片-一级大片免费看-一级二级毛片-一级夫妻黄色片 | 麻豆高潮AV久久久久久久-麻豆高清免费国产一区-麻豆国产13p-麻豆国产96在线日韩麻豆-麻豆国产AV尤物网站尤物-麻豆国产精品AV色拍综合 | 久久久久综合网久久-久久久久亚洲精品影视-久久久久久久久66精品片-久久久久久久999-阿v天堂2022在线观看-а中文在线天堂 | 日韩成人A片一区二区三区-日韩成人黄色片-日韩成人在线视频-日韩吃奶摸下AA片免费观看-日韩大片免费看-日韩大片在线观看 | 欧美日本一道免费一区三区-欧美日本一道高清二区三区-欧美日本一道道一区二区三-欧美日本亚洲国产一区二区-在线观看黄的网站-在线观看国内自拍 | 亚洲黄色网页-亚洲黄色三级视频-亚洲黄色片免费看-亚洲黄色免费在线观看-国产中文字幕免费观看-国产中文字幕乱码一区 | 国产激情对白一区二区三区四-国产或人精品日本亚洲77美色-国产黄站-国产黄在线免费观看-日韩中文字幕网-日韩中文字幕视频在线观看 | 国产精品v免费视频-国产精品v毛片免费看观看-国产精品v户外野战-国产精品vr无码专区-国产精品va在线观看无码-国产精品va在线观看丝瓜影院 | 国产成人av网站网址-国产成人av无码精品-国产成人av无码精品天堂-国产成人av无码片在线观看-国产成人av无码一区二区三区不卡-国产成人av无码永久免费 | 国产一区二区高清-国产一区二区福利久久-国产一区二区成人-国产一区二区不卡视频-亚洲高清网站-亚洲高清视频在线观看 | 午夜成人影视-午夜成人影片-午夜成人免费影院-午夜不卡影院-国产日本欧美亚洲精品视-国产日本欧美高清免费区 | 制服师生一区二区三区在线-制服师生av在线-制服 丝袜 亚洲 中文 综合-直接看毛片-欧美视频在线观看视频-欧美视频在线观看免费最新 | 欧美一区不卡二区不卡三区,欧美另类日韩,日韩中文字幕免费版,亚洲一区二区免费看,欧美天天,亚洲欧美另类专区 | 国产精品高清免费网站-国产精品高清2021在线-国产精品福利在线播放-国产精品福利影院-色黄视频在线观看-色狐视频 | 欧美一级视频精品观看-欧美一级三级-欧美一级日韩一级亚洲一级va-欧美一级日韩一级亚洲一级-中文字幕精品一区-中文字幕精品视频在线观看 | 97视频久久久-97视频在线观看播放-97视频制服无码-97丨九色丨国产人妻熟女-97无码欧美熟妇人妻蜜-97无码欧美熟妇人妻蜜桃天美 | 与子敌伦刺激对白亂輪亂性-与嫂子同居的日子在线观看-与邻居换娶妻子2在线观看-瑜伽牲交AV-久久久96-久久久91精品国产一区二区 | 国产精品福利久久2020-国产精品分类视频分类一区-国产精品反差婊在线观看-国产精品二区在线-色播99-色y情视频免费看 | 国产精品盗摄一区二区在线-国产精品盗摄在线观看-国产精品对白刺激久久久-国产精品对白刺激音频在线观看-国产精品对白交换-国产精品对白交换绿帽视频 | 亚洲免费在线观看-做羞羞的事情的免费视频-最终痴汉电车在线观看-最新综艺-最新自拍偷拍-最新在线精品国自拍视频 | 暧暧免费视频,国产成人+亚洲欧洲,国产成人免费视频精品一区二区,久久精品国产亚洲精品2020,久久伊人一区二区三区四区,欧美嫩交 | 五月天视频网站,国产成人精品日本亚洲语言,999福利视频,精品123区,国产中文视频,美女视频一区二区三区在线 | 久久99国产亚洲高清-久久99国产亚洲高清观看首页-久久99国产亚洲精品观看-久久99国产一区二区-久久99国产一区二区三区-久久99国产综合精品 | 欧美日日操,日日爱网站,99久久久久久久,日本高清不卡免费,久久免费观看国产精品,秋霞在线观看视频一区二区三区 | 国产系列欧美系列日韩系列在线-国产午夜在线视频-国产午夜在线观看视频播放-国产午夜在线观看视频-性夜影院爽黄a免费视频-性视频网址 | 波多野在线-波多野衣结在线精品二区-波多野一区二区三区在线-波多野一区二区-波多野一区-波多野结在线 | 制服师生一区二区三区在线-制服师生av在线-制服 丝袜 亚洲 中文 综合-直接看毛片-欧美视频在线观看视频-欧美视频在线观看免费最新 | 美女搞j-美女干骚-美女范冰冰hdxxxx-美女吊逼-亚洲欧美在线观看-亚洲欧美一区二区三区在线 | 四房网,久久久国产99久久国产久,色偷偷男人天堂,九七电影院97网手机版支持,国产人成精品免费视频,五月天最新网站 | 日本漫画母亲口工子全彩-日本漫画大全无翼乌-日本妈妈在线观看中文字幕-日本妈妈xxxx-操他射他影院-操老太太的逼 | 久久精品久噜噜噜久久-久久精品久久久久-久久精品久久久-久久精品久久精品久久精品-亚洲影视一区-亚洲影视精品 | 日本黄页网站-日本黄页网-日本黄页视频-日本黄页免费大片在线观看-国产免费网址-国产免费网站看v片元遮挡 | 又大又粗好舒服好爽视频-又大又白g奶-又粗又长又爽又大硬又黄-又粗又长又黄又爽视频-久久久久中文-久久久久这里只有精品 | 中文字幕在线观看网址-中文字幕在线观看网站-中文字幕在线观看国产-中文字幕在线观看-开心片色99xxxx-开心久久激情 | 美女搞j-美女干骚-美女范冰冰hdxxxx-美女吊逼-亚洲欧美在线观看-亚洲欧美一区二区三区在线 | 香蕉久久综合-香蕉久久夜色精品国产尤物-香蕉久久夜色精品国产-香蕉久久久久-久久网站视频-久久网免费 | 亚洲人成电影青青在线播放-亚洲人成www在线播放-亚洲人成a在线网站-亚洲人av高清无码-久操久-久操-9c.lu |