日本在线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.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 六月婷婷国产精品综合-六六影院午夜伦理-六级黄色片-六度影院最新-最近的2019中文字幕国语完整版-最近的2019中文字幕国语版 | 亚洲女同在线观看-亚洲女同在线-亚洲女同视频-亚洲女同精品中文字幕-美国激情ap毛片-美国黄色一级毛片 | 日韩视频在线免费观看,精品国产电影在线看免费观看,韩国演艺圈一区二区三区,国产欧美在线观看不卡,久久久久亚洲精品美女,精品一区二区三区五区六区七区 | 五月天婷婷视频,九九爱这里只有精品,热和尚三区四区,善良的嫂子3在线播放,久久久久久久久久久久久久,热er99久久6国产精品免费 | 在线久色-在线久草-在线久-在线精品自拍亚洲第一区-久久在视频-久久在精品线影院精品国产 | 一个色综合高清在线观看-一个色在线视频-一个色在线-一个人在线免费观看www-久久99网-久久99视频免费 | 99久久免费视频-99久久免费看精品国产一区-99久久免费看国产精品-99久久免费精品视频-欧美ⅹxxxx视频-欧美ⅹxxxhd3d | 7788理论片在线观看-7788av-777午夜精品免费播放-777奇米影视一区二区三区-蜜桃传媒在线-蜜桃成熟时1997在线看免费看 | 国产毛片高清,精品综合,日韩亚洲欧美综合,精品国产一区二区三区免费看,精品久久久久久国产牛牛app,亚洲欧美国产精品第1页 | 91精品国产综合久久久久-91精品国产综合久久久久久-91精品国产综合久久青草-91精品国产综合久久婷婷-91精品国产综合久久香蕉-91精品国产综合久久消防器材 | 欧美日韩在线成人免费-欧美日韩在线成人看片a-欧美日韩在线不卡-欧美日韩在线播放-自拍偷拍三级-自拍偷拍欧美亚洲 | 精品国产无码一区二区-精品国产无套在线观看-精品国产无限资源免费观看-精品国产午夜福利在线观看-精品国产午夜久久久久九九-精品国产午夜肉伦伦影院 | 国产成人18黄网站免费网站-国产成人18黄网站免费-国产成人+亚洲欧洲-国产成年网站-国产成年-国产成a人亚洲精v品久久网 | 欧美日韩 国产区 在线观看-欧美日操-欧美日本综合一区二区三区-欧美日本中文字幕-欧美日本中文-欧美日本在线一区二区三区 | 亚洲中文字幕特级毛片-亚洲制服丝袜中文字幕-亚洲制服丝袜在线观看-亚洲制服欧美自拍另类-免费一级黄色-免费一级国产生活片 | 双性人bbwsex-双性花蒂产奶h-双性大奶肉文-双性产奶-国产福利在线观看 极品美女-国产福利在线播放 | 亚洲精品在线免费观看,在线日韩欧美,午夜高清在线观看免费完整版,亚洲综合久久久,久久一区二区三区免费,日韩小视频在线 | 中文高清无码人妻-中文超碰中文字幕-中日韩一卡二卡三卡四卡在线观看-中日韩精品卡一卡二卡3卡-制服丝袜中文在线-制服丝袜在线观看 | 亚洲尹人-亚洲伊人久久综合影院2021-亚洲伊人久久在-亚洲伊人久久网-免费网站在线观看人数在哪里看的-免费网站在线观看国产v片 | 亚洲另类电击调教在线观看-亚洲理论片在线中文字幕-亚洲看黄-亚洲卡一卡2卡三卡4麻豆-韩国xxxxx视频在线-韩国mmwutv福利视频 | 天堂网在线观看-天堂网在线www最新版在线-天堂网在线www资源在线-天堂网在线www资源网-精品久久一区二区-精品久久一区 | 在线免费观看国产精品,日韩经典在线,香蕉久久网,爽妇网s,国内在线观看精品免费视频,欧美另类图片亚洲偷 | 人人澡人人爽人人精品-人人澡人人擦人人免费-人人在线碰碰视频免费-人人听力网mp3下载-俺也去最新地址-俺来也俺去也视频久久 | aaak7美国发布站-a v 在线视频 亚洲免费-99综合色-99在线这精品视频-国产成人综合洲欧美在线-国产成人综合在线观看网站 | 国产三级在线观看视频-国产三级在线免费-国产三级在线免费观看-国产三级自拍亚洲性爱在线-国产三级做爰在线播放-国产三級三級三級A片视频 | 亚洲精品色情影片-亚洲精品沙发午睡系列-亚洲精品深夜AV无码一区二区-亚洲精品天堂在线观看-亚洲精品偷拍AV一区二区-亚洲精品偷拍影视在线观看 | 日本a天堂,亚洲精品乱码久久久久久,欧美精品一区二区三区在线播放,国产亚洲视频在线观看,国产丰满眼镜女在线观看,亚洲日韩欧美综合 | 天天干天天操天天碰-天天干天天操天天摸-天天干天天操天天干-天天干天天操天天插-欧美一级久久久久久久久大-欧美一区二区VA毛片视频 | 自拍偷拍另类-自拍偷拍国内-自拍偷拍国产-自拍偷拍第6页-自拍偷拍第4页-自拍偷拍第3页 | 欧美日日射-欧美日视频-欧美日穴-欧美日一级-草久久免费视频-草久伊人 | 国产夜色福利院在线观看免费-国产夜趣福利免费视频-国产野花视频天堂视频免费-国产亚洲综合一区二区在线-日韩精品在线观看免费-日韩精品在线电影 | 免费毛片网站在线观看-免费毛片网-免费毛片基地-免费乱理伦片在线观看八戒-亚洲一级毛片免费看-亚洲一级黄色片 | 九九激情网,日韩色综合,成人小视频网站,国产永久在线观看,污黄视频在线观看,看国产一级片 | 国产日韩精品欧美一区-国产日韩高清一区二区三区-国产日韩不卡免费精品视频-国产日产欧美精品一区二区三区-午夜国产精品免费观看-午夜国产精品理论片久久影院 | 黄色在线免费播放-黄色在线免费-黄色在线看网站-黄色在线观看网站-色综合小说天天综合网-色综合小说久久综合图片 | 亚洲中文字幕特级毛片-亚洲制服丝袜中文字幕-亚洲制服丝袜在线观看-亚洲制服欧美自拍另类-免费一级黄色-免费一级国产生活片 | 国产一级一级一级成人毛片-国产一级一级片-国产一级网站-国产一级特黄在线播放-午夜影院一区二区三区-午夜影院小视频 | 亚洲1卡二卡3卡四卡不卡-亚洲1卡2卡三卡3卡4卡网站-亚洲18gay1069-亚洲18gay video-国内精品久久久久久-国内精品久久久久激情影院 | 欧美性xxxxxx性,国产精彩视频在线观看,亚洲欧美视屏,久艹网,国产日韩欧美中文,亚洲欧美经典 | 免费色黄网站-免费人成在线看-免费人成在线观看网站视频-免费人成在线观看网站-伊人蕉久中文字幕无码专区-伊人蕉久影院 | 日本久色-日本久久综合视频-日本久久综合-日本久久中文字幕-日本久久一区二区-日本久久网站 |