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

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

案例頻道

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

    關鍵詞:
  ActiveX自動化;MATLAB服務器;控制系統;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

    引言

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

     1 Visual Basic與MATLAB混合編程

    1.1 Visual Basic與MATLAB的結合

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

    1.2 ActiveX自動化技術

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

    1.3 Visual Basic創建ActiveX對象

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

        Dim MATLAB As Object

        Set MATLAB =CreateObject(“MATLAB.application”)

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

    1.4 ActiveX對象的操作

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

       Execute 

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

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

      GetFullMatrix

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

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

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

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

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

[in] SAFEARRAY(double) xreal,

[in] SAFEARRAY(double) ximag);

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

PutCharArray          

([in] BSTR name,

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

     1.5 Visual Basic與MATLAB數據傳遞關系如下:

                    
 
     2  數據處理與傳遞

      圖1 是根據控制系統的參數繪制BODE圖的界面:

                     
                                           
                                         圖 1

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

     2.1 矩陣數據的傳遞與處理

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

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

    3 結束語

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

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

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


         

熱點新聞

推薦產品

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



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 极品美女在线观看国产一区-极品嫩模一区二区三区-极品人妻被黑人中出-极品少妇xxxxⅹ另类-极品少妇xxxx精品少妇-极品少妇XXXX精品少妇偷拍 | 久久久久久一级毛片免费野外-久久久久久一级毛片免费无遮挡-久久久久久亚洲精品影院-久久久久久亚洲精品不卡-午夜久久精品-午夜精品在线视频 | youjizz日本人-youjizz亚洲-youpornyoujizz中国-yy6080久久-欧美日韩国产在线-欧美日韩国产在线播放 | 日韩精品电影在线观看-日韩精品电影在线-日韩精品电影一区-日韩精品电影-国产日韩欧美综合-国产日韩欧美在线一区二区三区 | 北条麻妃在线观看,国产播放器一区,日本丶国产丶欧美色综合,亚洲一区二区三区高清,九九九国产,亚洲欧美久久精品一区 | 国产三级高清午夜羞羞视频-国产三级高清在线观看-国产三级观看久久-国产三级国产av品爱网-国产三级国产精品-国产三级国产精品国产国在线观看 | 一个人看的www观看免费-一个人看的www高清在线观看-一个人看的www高清视频-一个人看的www高清免费资源-久久999-久久996热精品xxxx | 欧美精品综合-欧美精品自拍-欧美精品专区免费观看-欧美精品在线一区二区三区-欧美精品在线一区-欧美精品在线视频观看 | 亚洲六月丁香婷婷综合,久久精品亚洲精品国产欧美,玖玖精品视频在线,国产日本精品,www成人在线观看,精品日产一区二区 | 麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a | 亚洲 欧美 日韩 在线,97热久久免费频精品99国产成人,另类激情亚洲,久久99九九精品免费,久久综合精品国产一区二区三区,2020精品极品国产色在线观看 | 国产欧美精品一区二区三区四区-国产欧美精品一区二区三区-国产欧美精品一区二区-国产欧美精品系列在线播放-天天爽天天-天天视频一区二区三区 | 国产免费看-国产免费久久精品久久久-国产免费久久精品99-国产免费久久精品44-天天干天天天天-天天干天天爽天天射 | 精品国产互换人妻麻豆-精品国产经典三级在线看-精品国产精品人妻久久无码五月天-精品国产九九-精品国产剧情AV在线观看-精品国产露脸久久AV麻豆 | 六月丁香七月婷婷,欧美老女人逼,久久亚洲国产高清,国产一级在线观看视频,日产wv二区三区四区,瑟瑟网站在线观看 | 在线播放波多野结衣-在线播放91撕破艺校舞蹈系-在线播放69热精品视频-在线www天堂资源网-欧美裸色美妆大全-欧美伦理三级 | 欧美日日操,日日爱网站,99久久久久久久,日本高清不卡免费,久久免费观看国产精品,秋霞在线观看视频一区二区三区 | 国产一级免费-国产一级毛片网站-国产一级毛片潘金莲的奶头-国产一级毛片大陆-日本中文字幕免费-日本中文字幕高清 | 九九香蕉-九九线精品视频-九九五月天-九九天天影视-天天干b-天天干2018 | 欧美youjizz-欧美xxxx做受性欧美88-欧美xxxx做受视频-欧美xxxx做受欧美精品-一级精品视频-一级黄网 | 国产亚洲精品a在线观看app-国产亚洲精品A久久777777-国产亚洲精品AV片在线观看播放-国产亚洲精品AV麻豆狂野-亚洲 欧美 国产在线视频-亚洲 欧美 国产 综合五月天 日韩精品免费观看,亚洲精品国产综合一线久久,99精品国产高清一区二区三区香蕉,亚洲图区欧美,日韩电影免费在线观看中文字幕,999国产精品999久久久久久 | 国产精品va在线播放我和闺蜜-国产精品va在线观看无码不卡-国产精品V日韩精品V在线观看-国产精品V无码A片在线看-国产精品wwwcom976con-国产精品XXXXX免费A片 | 极品美女在线观看国产一区-极品嫩模一区二区三区-极品人妻被黑人中出-极品少妇xxxxⅹ另类-极品少妇xxxx精品少妇-极品少妇XXXX精品少妇偷拍 | 欧美日韩中文综合v日本-欧美日韩中文字幕久久-欧美日韩中文在线-欧美日韩中文一区二区三区-欧美日韩中文国产一区二区三区-欧美日韩在线视频观看 | 久久久青青久久国产精品,www男人天堂,国产一级影视,成人伊人青草久久综合网破解版,四虎成人www国产精品,蜜臀精品 | 国产精品va在线播放我和闺蜜-国产精品va在线观看无码不卡-国产精品V日韩精品V在线观看-国产精品V无码A片在线看-国产精品wwwcom976con-国产精品XXXXX免费A片 | 欧美精品综合-欧美精品自拍-欧美精品专区免费观看-欧美精品在线一区二区三区-欧美精品在线一区-欧美精品在线视频观看 | 自拍偷拍另类-自拍偷拍国内-自拍偷拍国产-自拍偷拍第6页-自拍偷拍第4页-自拍偷拍第3页 | 亚洲精品在线观看视频-亚洲精品在线观看-亚洲精品在线第一页-亚洲精品在线播放视频-护士伦理-护士撩起裙子让你桶的视频 | 婷婷五色,五月天激情婷婷大综合,亚洲综合久久久久久中文字幕,国产ww久久久久久久久久,婷婷综合缴情亚洲五月伊,欧美日韩不卡在线 九九香蕉-九九线精品视频-九九五月天-九九天天影视-天天干b-天天干2018 | 奇米影视一区二区三区-奇米影视一区-奇米影视久久-奇米影视777四色米奇影院-国产高清视频免费-国产高清日韩 | 国产精品va在线播放我和闺蜜-国产精品va在线观看无码不卡-国产精品V日韩精品V在线观看-国产精品V无码A片在线看-国产精品wwwcom976con-国产精品XXXXX免费A片 | 国产探花在线视频-国产探花在线观看-国产探花视频在线观看-国产探花视频-无人区在线观看免费完整版免费-无人区在线观看免费视频国语 | 日本久久久久久久,97久久精品一区二区三区,狠狠色噜噜狠狠狠狠97,日日干综合,五月天婷婷在线观看高清,九色福利视频 | 欧美精品综合-欧美精品自拍-欧美精品专区免费观看-欧美精品在线一区二区三区-欧美精品在线一区-欧美精品在线视频观看 | 日韩成人A片一区二区三区-日韩成人黄色片-日韩成人在线视频-日韩吃奶摸下AA片免费观看-日韩大片免费看-日韩大片在线观看 | 91导航在线-91岛国-91第一页-91短视频在线高清hd-91粉嫩萝控精品福利网站-91粉色视频在线观看 | 色综合天天综合网国产国产人-色综合天天综合网国产成人网-色综合天天综合网国产成人-色综合天天综合给合国产-国产成人精彩在线视频50-国产成人禁片在线观看 | 一道本在线,国产成人综合精品一区,亚洲v日韩v欧美在线观看,欧美精品国产综合久久,精品日本一区二区三区在线观看,久久精品一区二区三区不卡牛牛 | 午夜国产小视频-午夜国产视频-午夜国产情侣拍视频-午夜国产精品影院在线观看-国产日产高清欧美一区二区三区-国产日本在线视频 | 日本xxxxx18护士xxx-日本xxxxwwww-日本xxxx1819黑人-日本xxxbbb0oo-国产精品免费看久久久-国产精品免费久久久免费 |