當前位置:機電之家首頁 >> 電工園地>> 應用案例 >> 設計參考 >> 羅克韋爾RSView32和MATLAB之間的通訊
羅克韋爾RSView32和MATLAB之間的通訊




摘 要: MATLAB是一種具有強大的矩陣處理功能和繪圖功能的應用軟件.在許多復雜工程應用中,需要將MATLAB和其他軟件交互協(xié)同工作.本文介紹了MATLAB與羅克韋爾公司的RSView32的特點,并重點論述了他們之間的通訊方法.

關鍵詞: MATLAB軟件 RSView32軟件 動態(tài)數(shù)據(jù)交換 ActiveX對象 VBA程序

The Communication between RSView32 and MATLAB
Electric Department of Liaoning Technical University Zhulei Leijianjun Changxiaoheng Liaoning Fuxin 123000
Automatic Department of Northeastern University at Qinhuangdao Gudeying Hebei Qinhuangdao 066004

Abstract: MATLAB is an internet application which has powerful function in matrix disposing and plotting. There is growing requirement of interbbbbbb between MATLAB and other applications. This paper introduces the characteristic of MATLAB and RSView32. It also emphasizes the communication bbbbbbs between the two applications.
Keywords: MATLAB RSView32 DDE ActiveX VBA


一.MATLAB簡介
  MATLAB是MathWorks公司于1984年推出的一套高性能的數(shù)值計算軟件,它集數(shù)值分析,矩陣運算,信號處理和圖形顯示于一體,構成了一個方便,界面友好的用戶環(huán)境.它還將各類問題的求解工具集成在不同的ToolBox(工具箱)中,可用來求解特定學科問題,具有可擴展性,易學易用性和高效性.由于MATLAB具有如此之多的優(yōu)點,它已經(jīng)成為應用于線性代數(shù),自動控制理論,數(shù)理統(tǒng)計,數(shù)字信號處理,時間序列分析,動態(tài)系統(tǒng)仿真等高級課程的基本教學工具.在研究單位,工業(yè)部門,MATLAB也被廣泛用于研究和解決各種工程問題.
  雖然MATLAB本身是個完整的程序開發(fā)和數(shù)據(jù)處理環(huán)境,但由于自身存在一些不足,如人機界面設計不方便,不能訪問硬件等,也經(jīng)常要和其他軟件協(xié)同工作.

二.RSView32簡介
  RSView32是由Rockwell Software公司開發(fā)的一種對自動控制設備或生產(chǎn)過程進行高速與有效的監(jiān)視和控制,以Microsoft bbbbbbs NT或bbbbbbs 95 為平臺的MMI(人機接口)軟件包; 它是第一個在圖形顯示中利用ActiveX,VisualBasic Application,OPC(面向過程控制的OLE)的MMI產(chǎn)品,提供了監(jiān)視,控制和數(shù)據(jù)采集功能;是一個可擴展性強,監(jiān)視性能高并有很高再利用性的監(jiān)控組態(tài)軟件包.它具有提供面向對象的動畫圖形,開放的數(shù)據(jù)庫格式,歷史數(shù)據(jù)存儲,增強的趨勢分析,報警,引導的標簽創(chuàng)建和事物探測的能力.

三. 建立RSView32和MATLAB的通訊
  因為RSView32和MATLAB在各自的領域中有著極強的特點,將二者連接起來會充分發(fā)揮各自的優(yōu)勢,在控制系統(tǒng)仿真,教學軟件開發(fā)等領域有著廣泛的應用. MATLAB與RSView32的通訊大致有兩種.一種是使用動態(tài)數(shù)據(jù)交換DDE來實現(xiàn),另一種是通過ActiveX控件來實現(xiàn).
  下面分別就這兩種建立通訊方法進行介紹.

1.使用DDE服務建立MATLAB和組態(tài)軟件RSView32的通訊.
(1)DDE簡介
  動態(tài)數(shù)據(jù)交換(Dynamic Data Exchange)技術,是隨著Microsoft bbbbbbs的應用而發(fā)展起來的一門新技術.因為bbbbbbs允許用戶進行多窗口,多任務工作,所以它提供了一種支持在兩個應用程序之間動態(tài)地交換數(shù)據(jù)信息的功能,這樣的功能就是DDE. 在bbbbbbs環(huán)境下, DDE是應用程序之間實時交換數(shù)據(jù)的有效方法, 它是不同應用程序之間共享數(shù)據(jù)的一個協(xié)議. DDE有三種會話方式.分別為冷鏈接,熱鏈接和溫鏈接.
• 冷鏈接
由客戶程序傳播一條啟動觸發(fā)消息來開始冷鏈接,則服務器程序向客戶程序提供一次數(shù)據(jù).當客戶還需要服務器提供更多次的數(shù)據(jù)時,客戶程序必須重新傳播啟動觸發(fā)消息.
• 熱鏈接
服務器程序已經(jīng)被訪問的數(shù)據(jù)可能會隨著時間的推移而發(fā)生變化,在冷鏈接中, 如果客戶不傳播啟動觸發(fā)消息, 則變化了的數(shù)據(jù)不會傳給客戶, 而在熱鏈接中, 服務器會自動將變化了的數(shù)據(jù)傳送給客戶.
• 溫鏈接
溫鏈接綜合了熱鏈接和冷鏈接的特點,客戶只希望被通知數(shù)據(jù)是否發(fā)生了變化而不一定要立刻得到新的數(shù)據(jù), 只有當客戶知道數(shù)據(jù)發(fā)生了變化并需要獲得它時, 再啟動與冷鏈接相同的會話.
MATLAB支持兩種鏈接方式,一種為熱鏈接方式,一種為溫鏈接方式.
(2)在MATLAB中使用DDE
  MATLAB提供了有關DDE的一些基本函數(shù),這里做一個簡單介紹:
• ddeadv():在 MATLAB與應用程序之間建立連接.
• ddeexec():發(fā)出執(zhí)行命令給應用程序.
• ddeinit():初始化 MATL AB 與其它應用程序之間的 DDE會話.
• ddepoke():MATLAB發(fā)送數(shù)據(jù)給 DDE應用程序.
• ddereq():從應用程序請求數(shù)據(jù).
• ddeterm():在 MATLAB與應用程序之間終止DDE會話.
• ddeunadv():在 MATLAB 與應用程序之間釋放連接.
(3)設置RSView32的DDE通訊
  在MATLAB中設計完程序之后,還需要在RSView32中啟動DDE服務器. 方法有兩種:
•用啟動宏文件來啟動DDE服務器 在RSView32項目管理器中,選擇邏輯與控制文件夾中的宏文件,在宏文件中輸入啟動時要執(zhí)行的啟動DDE服務的命令DDEServeOn和DDEPokeEnable.
•直接在項目管理器中的STARTUP窗口中選中OPC/DDE服務器也將啟動DDE服務器. 這里舉個例子:
我們想在MATLAB中求出轉速反饋單閉環(huán)直流調速系統(tǒng)時域響應,將速度值送回到RSView32的"oneloop\n"標記中,并繪制出仿真趨勢圖.由于用MATLAB求時域響應是一次性的計算,只能求出最終穩(wěn)態(tài)的常數(shù),不適合仿真時域響應曲線,因此想到了使用DDE的熱鏈接功能,從RSView32中每隔一秒向MATLAB中送入一個時間值,將該時間值送入已經(jīng)建立好的轉速反饋單閉環(huán)直流調速系統(tǒng)時域響應函數(shù)中,計算出函數(shù)值(即速度值)再送回到RSView32的"oneloop\n"標記中.
  操作步驟為:
•在MATLAB的Simubbbb中建立轉速反饋單閉環(huán)直流調速系統(tǒng)的仿真模型.
•以系統(tǒng)時鐘為基礎,在RSView32中創(chuàng)建衍生標記(Derive Tag)oneloop\t=system\Second/100, 使該標記相當于送入系統(tǒng)時域響應的仿真時鐘.
• 編制一個M文件,將DDE功能集成在其中.RSView32作為服務器端,MATLAB作為客戶端,因此Service設為'RTData',這是RSView32在DDE通訊中通用的服務者名稱;topic設為該RSView32項目名稱;item選擇要傳送數(shù)據(jù)的RSView32中的標記, 這里選擇"oneloop\t",這樣使用DDE就可以將MATLAB和組態(tài)軟件RSView32動態(tài)鏈接起來,并實現(xiàn)了動態(tài)數(shù)據(jù)的交換.
•在RSView32中啟動DDE.
•在RSView32中嵌入趨勢圖并設置相應的標記(Tag),這里設為oneloop\n. 這樣,在MATLAB中仿真調速模型的時候就能在RSView32的趨勢圖中實時表現(xiàn)出來.

2.使用ActiveX控件建立MATLAB與組態(tài)軟件RSView32的通訊
(1) ActiveX簡介
  ActiveX是Microsoft公司提供的一種用于模塊集成的新協(xié)議.它是Visual Basic工具箱的擴充部分.ActiveX部件是一些遵循ActiveX規(guī)范編寫的可執(zhí)行代碼,例如一個.exe,.dll, .ocx文件.在程序中加入ActiveX控件后,它將成為開發(fā)和運行環(huán)境的一部分,并為應用程序提供更新的功能.ActiveX部件特有的方法和屬性大大的增強了程序設計者的能力和靈活性.
  當前的新軟件一般都支持ActiveX控件的嵌入,MATLAB提供了ActiveX控件的嵌入,RSView32不但有ActiveX控件的嵌入,還提供了Visual Basic編輯器,因此MATLAB和RSView32的通訊可以通過ActiveX控件實現(xiàn).
(2)在RSView32 中創(chuàng)建ActiveX對象
  在VBA應用程序中可以創(chuàng)建ActiveX對象.值得注意的是,在系統(tǒng)注冊表中MATLAB的
ActiveX對象名固定為"Matlab. Application".具體如下:
Dim Matlab as bbbbbb
Set Matlab=Createbbbbbb("Matlab.Application")
  這樣就可以使用這個對象所包含的各種方法來實現(xiàn)對MATLAB的調用.
MATLAB Application對象含有3個方法,具體功能如下表:
Execute 執(zhí)行一條由字符串決定的MATLAB命令.
PutFullMarix 向MATLAB寫入一個一或二維數(shù)組的數(shù)據(jù).
GetFullMatrix 從MATLAB讀取一個一或二維數(shù)組的數(shù)據(jù).
  舉個例子:在RSView32的VBA中創(chuàng)建一個窗口Userbbbb1,在上面創(chuàng)建一個按鈕,編程如下:
Private Sub CommandButton1_Click()
Dim Matlab As bbbbbb
Dim Result As bbbbbb
Set Matlab = Createbbbbbb("Matlab.Application")
Result = Matlab.Execute("surf(peaks)")
End Sub
在ThisProject中編寫如下函數(shù):
Public Sub begin()
Userbbbb1.Show
End Sub
  這樣在RSView32中只要使用使用命令 vbaExec begin就會彈出你設定的窗口,點擊上面的按鈕,就會啟動MATLAB命令窗并出現(xiàn)你需要的圖形.

四. 結 論
  MATLAB軟件包具有強大的數(shù)值計算功能 RSView32具有強大的人機界面,實時數(shù)據(jù)庫系統(tǒng),第三方程序接口和控制組件控制功能,將二者結合起來,會使控制系統(tǒng)的計算機輔助設計和有關的多媒體課件的開發(fā)更加方便,有效.

參考文獻:
【1】 王穎 , 《ActiveX:從Visual Basic 6.0 調用MATLAB的實現(xiàn)方法》, 機電工程,1999年第5期.
【2】 劉滿華,任正云, 邵惠鶴. 《監(jiān)控平臺軟件與MATLAB的DDE通訊》,微型電腦應用 ,2002年第18卷第一期.
【3】 薛定宇 , 《科學運算語言MATLAB 5.3 程序設計與應用》, 清華大學出版社, 2000.
【4】 Rockwell Software Inc.,RSView32 User's Guide ,1998.
 

 
遼寧工程技術大學電氣工程系 祝磊 雷建軍 常曉恒 遼寧阜新 123000

東北大學秦皇島分校自動化工程系 顧德英 河北秦皇島 066004
作者:未知 點擊:1041次 [打印] [關閉] [返回頂部]
本文標簽:羅克韋爾RSView32和MATLAB之間的通訊
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《羅克韋爾RSView32和MATLAB之間的通訊》相關權利人與機電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個人求購

吳小姐 【求購】  粉碎機  2025-12-5
 【求購】  冶煉用的重...  2025-12-5
柳女士 【求購】  斷路器  2025-12-5
林志揚 【求購】  無石棉墊片  2025-12-4
張一帆 【求購】  首件測試儀  2025-12-4
王飛 【求購】  gf流量計  2025-12-4
 【求購】  全自動印刷...  2025-12-4
 【求購】  LED屏  2025-12-3
VIP公司推薦