<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 紫金橋組態(tài)軟件通過OPC與Matlab進行通信

          紫金橋組態(tài)軟件通過OPC與Matlab進行通信

          作者: 時間:2013-12-02 來源:網(wǎng)絡(luò) 收藏
          7.0以上版本中集成了 0PC工具箱 I5 (MAT—LAB 0Pc Toolb0x),它是一個客戶端軟件,提供了一種服務(wù)器和客戶端互訪的通用機制,應(yīng)用于 0PC客戶端數(shù)據(jù)訪問,通過工具箱不需了解 0PC服務(wù)器的內(nèi)部配置和具體操作,就能連接任何一個 0PC服務(wù)器。可以作為 0PC服務(wù)器與作為 0PC客戶端的 MATLAB相連接,為其提供讀寫內(nèi)部數(shù)據(jù)的功能。

          利用MATLAB Toolbox實現(xiàn) MALTAB與實時通訊需要做下面兩項工作:

          1) 在安裝MatLab時,默認情況下是不安裝工具箱的,如果沒有安裝OPC工具箱,那么在使用 OPC工具箱之前需要安裝到計算機中去,在 MATLAB環(huán)境中使用命令opcregister(‘install’) 來安裝。

          2) 為使 OPC工具箱中的對象和 OPC服務(wù)器對象之間建立連接,還需要在 OPC服務(wù)器和 OPC客戶端進行分布式 COM的環(huán)境設(shè)置。

          為了說明紫金橋與進行通信,我們在紫金橋軟件中建立一個“紫金橋儀表仿真驅(qū)動”:設(shè)備名為“RealInfo”;接著建立兩個點,點類型為:“模擬I/O點”,名分別為:A1和A2;A1連接三角波寄存器,值的范圍為0-300,A2連接正弦波寄存器,值的范圍為0-500;

          一、利用命令訪問紫金橋OPC服務(wù)器的代碼如下:

          Matlab命令行代碼如下:



          Matlab畫面顯示函數(shù):



          運行紫金橋軟件和Matlab。

          下圖是MATLAB采集紫金橋軟件的實時數(shù)據(jù),并進行實時繪制的二條曲線。



          二、利用MATLAB向紫金橋軟件中寫入數(shù)據(jù),代碼與執(zhí)行成功提示信息如下:



          通過上面簡單的操作,就完成了紫金橋軟件和MATLAB進行通信的過程。

          總結(jié):

          在上面的實例中,可以看到兩者優(yōu)勢的結(jié)合對于開發(fā)出一個控制系統(tǒng)是非常方便和容易的。

          由紫金橋完成對現(xiàn)場的數(shù)據(jù)采集、監(jiān)控畫面繪制、歷史數(shù)據(jù)保存等功能,由MATLAB利用其功能完善的工具箱,實現(xiàn)復(fù)雜的控制算法,如神經(jīng)網(wǎng)絡(luò)等等,這樣就可以得到一個完美的控制功能。

          通信相關(guān)文章:通信原理




          關(guān)鍵詞: 紫金橋 組態(tài)軟件 OPC Matlab

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();