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

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

案例頻道

VB與MATLAB混合編程實現控制系統分析
  • 企業:控制網     領域:儀器儀表     行業:綜合    
  • 點擊數:3533     發布時間: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.詳細的需求:
姓名:
單位:
電話:
郵件:
韩国三级香港三级日本三级la | 四虎影视久久久| 国产91丝袜在线播放0| 亚洲第一色在线| 日韩专区一区| 成人a大片高清在线观看| 日本在线不卡视频| 精品久久久久久影院免费| 日本免费区| 欧美a免费| 国产伦精品一区二区三区无广告| 亚洲天堂免费观看| 99色播| 天堂网中文字幕| 91麻豆tv| 亚洲天堂免费| 免费国产一级特黄aa大片在线| 九九热国产视频| 国产精品123| 亚洲wwwwww| 午夜久久网| 久久99欧美| 91麻豆国产| 国产精品自拍在线| 超级乱淫伦动漫| 精品视频在线观看视频免费视频| 国产不卡在线看| 亚洲 欧美 成人日韩| 日本在线播放一区| 欧美18性精品| 可以在线看黄的网站| 免费国产一级特黄aa大片在线| 夜夜操天天爽| 精品视频在线观看一区二区| 欧美日本免费| 亚洲第一色在线| 九九久久99综合一区二区| 国产欧美精品| 亚欧成人乱码一区二区| 国产原创视频在线| 日本在线不卡视频| 精品国产一区二区三区国产馆 | 亚洲精品中文字幕久久久久久| 日日爽天天| 99久久网站| 韩国三级香港三级日本三级| 日本免费乱理伦片在线观看2018| 久久国产影视免费精品| 免费的黄视频| 欧美大片a一级毛片视频| 国产国产人免费视频成69堂| 中文字幕一区二区三区 精品| 超级乱淫伦动漫| 麻豆午夜视频| 精品视频免费在线| 精品视频在线观看视频免费视频| 香蕉视频久久| 99色视频在线| 高清一级片| 国产高清在线精品一区二区| 麻豆午夜视频| 91麻豆精品国产自产在线| 国产不卡高清在线观看视频 | 日本伦理网站| 97视频免费在线观看| a级精品九九九大片免费看| 久久精品免视看国产明星| 日日爽天天| 欧美a免费| 久久成人性色生活片| 麻豆午夜视频| 成人在免费观看视频国产| 亚欧成人乱码一区二区| 日韩中文字幕一区| 国产欧美精品午夜在线播放| 亚洲女人国产香蕉久久精品| 一级片片| 91麻豆精品国产自产在线| 成人免费网站视频ww| 欧美激情伊人| 午夜在线亚洲男人午在线| 91麻豆国产福利精品| 亚洲天堂免费观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产极品精频在线观看| 美女免费精品视频在线观看| 精品在线观看一区| 天堂网中文在线| 亚洲精品久久玖玖玖玖| 国产一区二区精品久| 日韩中文字幕在线观看视频| 麻豆污视频| 国产成a人片在线观看视频| 99热精品在线| 青草国产在线观看| 99久久精品国产免费| 青青久久网| 国产欧美精品午夜在线播放| 欧美1区| 黄色福利| 精品视频在线看 | 国产一区二区精品久久| 久久国产一久久高清| 精品久久久久久中文字幕一区| 国产原创中文字幕| 999久久狠狠免费精品| 亚洲天堂免费| 超级乱淫伦动漫| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 麻豆系列 在线视频| 999久久狠狠免费精品| 午夜在线亚洲男人午在线| 精品国产一区二区三区免费 | 午夜在线亚洲| 中文字幕一区二区三区 精品| 亚洲精品久久玖玖玖玖| 国产91丝袜在线播放0| 久久国产一区二区| 亚洲精品永久一区| 青青久热| 日本特黄一级| 亚洲精品久久玖玖玖玖| 国产视频一区二区在线观看| 国产国语对白一级毛片| 亚洲精品中文字幕久久久久久| 欧美国产日韩久久久| 高清一级淫片a级中文字幕| 精品国产亚洲人成在线| 日本特黄一级| 精品国产香蕉在线播出| 999久久狠狠免费精品| 日韩中文字幕在线播放| 台湾毛片| 成人免费网站久久久| 999精品影视在线观看| 四虎影视库| 欧美电影免费| 九九免费精品视频| 天堂网中文在线| 欧美国产日韩久久久| 国产成a人片在线观看视频| 日韩在线观看视频网站| 国产福利免费视频| | 黄视频网站免费观看| 亚洲第一色在线| 日韩av片免费播放| 国产一区二区精品久久| 日韩欧美一及在线播放| 天天色色色| 二级特黄绝大片免费视频大片| 深夜做爰性大片中文| 91麻豆爱豆果冻天美星空| 国产一区二区精品| 成人免费观看视频| 欧美激情一区二区三区视频高清 | 成人高清视频在线观看| 国产网站免费观看| 久久99欧美| 久久国产精品自线拍免费| 尤物视频网站在线| 精品国产一区二区三区国产馆 | 青青青草视频在线观看| 亚洲女初尝黑人巨高清在线观看| 国产91素人搭讪系列天堂| 黄色短视频网站| 999久久久免费精品国产牛牛| 国产不卡在线观看视频| 欧美激情一区二区三区视频高清 | 999精品影视在线观看| 亚洲天堂在线播放| 韩国三级一区| 久久久成人网| 成人高清免费| 九九久久国产精品| 国产成+人+综合+亚洲不卡| 九九久久国产精品大片| 成人免费观看男女羞羞视频| 欧美a级大片| 99久久精品国产国产毛片| 一级毛片视频免费| 国产成+人+综合+亚洲不卡| 九九干| 亚欧成人乱码一区二区| 韩国三级视频在线观看| | 精品国产一区二区三区精东影业| 精品国产亚洲一区二区三区| 欧美国产日韩精品| 欧美大片a一级毛片视频| 精品在线免费播放| 天天色色色| 九九久久国产精品| 午夜精品国产自在现线拍| 青青青草影院| 国产不卡精品一区二区三区| 久草免费资源| 久草免费在线观看| 成人免费一级毛片在线播放视频| 久久成人综合网|