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

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于DataSocket技術(shù)的LabVIEW遠(yuǎn)程測控

          基于DataSocket技術(shù)的LabVIEW遠(yuǎn)程測控

          作者: 時間:2017-01-06 來源:網(wǎng)絡(luò) 收藏
          DataSocket技術(shù)基于TCP/IP協(xié)議并對其進(jìn)行高度封裝,能在測試測量過程中實(shí)現(xiàn)服務(wù)器與多用戶的實(shí)時數(shù)據(jù)交換與共享,而用戶不必關(guān)心程序底層的細(xì)節(jié)。本文分析DataSocket的內(nèi)部組成及利用URL進(jìn)行資源定位的方式,詳細(xì)討論基于DataSocket的LabVIEW遠(yuǎn)程測控方法。通過局域網(wǎng)開發(fā)的典型應(yīng)用實(shí)現(xiàn)網(wǎng)絡(luò)測控數(shù)據(jù)的實(shí)時發(fā)布與讀取。隨著測控系統(tǒng)的網(wǎng)絡(luò)化,其應(yīng)用前景將越來越廣闊。


          1、LabVIEW及其網(wǎng)絡(luò)通信

          LabVIEW是NI(National Instruments)公司具有革命性的圖形化虛擬儀器開發(fā)環(huán)境,它內(nèi)置信號采集、測量分析與數(shù)據(jù)顯示功能,集開發(fā)、調(diào)試、運(yùn)行于一體,目前版本為LabVIEW 7.1。LabVIEW 51及以后的版本充分考慮測控系統(tǒng)的網(wǎng)絡(luò)化要求,集成各種通信協(xié)議,提供豐富的網(wǎng)絡(luò)化組件。

          使用LabVIEW實(shí)現(xiàn)網(wǎng)絡(luò)通信有4種方法:①無須具體協(xié)議的遠(yuǎn)程桌面連接;②使用DataSocket技術(shù)進(jìn)行網(wǎng)絡(luò)通信;③現(xiàn)成實(shí)時發(fā)布測控程序的網(wǎng)頁,異地使用瀏覽器(如Internet Explorer,Netscape Communicator等)進(jìn)行監(jiān)控;④使用TCP、DDP等傳輸控制協(xié)議編程進(jìn)行網(wǎng)絡(luò)通信。

          測試數(shù)據(jù)在網(wǎng)上的發(fā)布和共享是遠(yuǎn)程測控系統(tǒng)工程應(yīng)用的關(guān)鍵技術(shù)之一。雖然現(xiàn)存的TCP/IP和DDE(動態(tài)數(shù)據(jù)交換)等多種技術(shù)可以實(shí)現(xiàn)應(yīng)用程序間的數(shù)據(jù)共享,但大多數(shù)使用起來并不方便,開發(fā)效率不高,甚至不能滿足數(shù)據(jù)實(shí)時傳輸?shù)男枨?,日益廣泛和復(fù)雜的網(wǎng)絡(luò)應(yīng)用勢必需要大量的編程工作。DataSocket專為測量數(shù)據(jù)的實(shí)時傳送而涉及,是虛擬儀器涉及過程中面向網(wǎng)絡(luò)測控的技術(shù)擴(kuò)展,能簡化系統(tǒng)開發(fā)過程,滿足正確傳輸,實(shí)時通信和網(wǎng)絡(luò)安全的涉及要求,特別適合于遠(yuǎn)程數(shù)據(jù)采集、監(jiān)控和數(shù)據(jù)共享等應(yīng)用程序的開發(fā)。

          2、DataSocket技術(shù)

          DataSocket機(jī)遇Microsoft的COM和ActiveX技術(shù),源于TCP/IP協(xié)議并對其進(jìn)行高度封裝,面向測量和自動化應(yīng)用,用于共享和發(fā)布實(shí)時數(shù)據(jù),是一種易用的高性能數(shù)據(jù)交換編程接口。它能有效地支持本地計算機(jī)上不同應(yīng)用程序?qū)μ囟〝?shù)據(jù)地同時應(yīng)用,以及網(wǎng)絡(luò)上不同計算機(jī)地多個應(yīng)用程序之間的數(shù)據(jù)交互,實(shí)現(xiàn)跨及其、跨語言、跨進(jìn)程的實(shí)時數(shù)據(jù)共享。用戶只需要知道數(shù)據(jù)源和數(shù)據(jù)宿及需要交換的數(shù)據(jù)就可以直接進(jìn)行高層應(yīng)用程序的開發(fā),實(shí)現(xiàn)高速數(shù)據(jù)傳輸,而不必關(guān)心底層的實(shí)現(xiàn)細(xì)節(jié),從而簡化通信程序的編寫過程,提高編程效率。

          2.1 DataSocket邏輯構(gòu)成

          本文引用地址:http://www.ex-cimer.com/article/201701/337108.htm

          DataSocket包括DataSocket Server Manager(以下簡稱Manager),DataSocket Server和DataSocket API一部分。

          Manager是一個獨(dú)立運(yùn)行的程序,主要功能有:設(shè)置DataSocket Server連接的客戶端程序的最大數(shù)目和創(chuàng)建數(shù)據(jù)項(xiàng)的最大數(shù)目:創(chuàng)建用戶組和用戶;設(shè)置用戶創(chuàng)建和讀寫數(shù)據(jù)項(xiàng)的權(quán)限;限制身份不明的客戶對服務(wù)器進(jìn)行訪問和攻擊。例如,將Manager中的Default Reader設(shè)置為everyhost,則網(wǎng)中的每臺客戶計算機(jī)都可以讀取服務(wù)器上的數(shù)據(jù)。Manager對DataSocket Server 的配置必須在本地計算機(jī)上進(jìn)行,而不能遠(yuǎn)程配置或通過運(yùn)行程序來配置。

          DataSocket Server 是一個必須運(yùn)行在服務(wù)器端的程序,負(fù)責(zé)監(jiān)管Manager中所設(shè)定的具有各種權(quán)限的用戶組和客戶端程序之間的數(shù)據(jù)交換。DataSocket Server通過內(nèi)部數(shù)據(jù)自描述格式對TCP/IP進(jìn)行優(yōu)化和管理,簡化Internet通信方式,提供自由的數(shù)據(jù)傳輸,可以直接傳送虛擬儀器程序所采集到的布爾型、數(shù)字型、字符串型、數(shù)組型和波形等常用類型的數(shù)據(jù)。它可以和測控應(yīng)用程序安裝在同一臺計算機(jī)上,也可以分裝在不同的計算機(jī)上,以便用防火墻進(jìn)行隔離來增加整個系統(tǒng)的安全性。DataSocket Server不會占用測控計算機(jī)CPU的工作時間,測控應(yīng)用程序可以運(yùn)行得更快。使用DataSocket技術(shù)進(jìn)行通信時服務(wù)器和客戶端得計算機(jī)上筆形都進(jìn)行DataSocket Server。

          DataSocket API提供獨(dú)立的接口,用于不同的語言平臺內(nèi)部多種數(shù)據(jù)類型的通讀。在LabVIEW中,DataSocket API被制作成ActiveX控件和一系列功能VI(Virtual Instrument),用戶可以方便地使用。一般由服務(wù)器進(jìn)行數(shù)據(jù)采集,根據(jù)需要將測量地數(shù)據(jù)寫入DataSocket 數(shù)據(jù)公共區(qū),然后客戶端通過網(wǎng)絡(luò)充數(shù)據(jù)公共區(qū)讀取所需地測量數(shù)據(jù)。

          2.2 DataSocket 資源定位

          DataSocket 對外提升資源定位接口和功能調(diào)用接口,通過同意資源定位符(URL)對數(shù)據(jù)的傳輸目的地進(jìn)行定位,讀數(shù)據(jù)時為源地址,寫數(shù)據(jù)時為宿地址。在資源定位符中標(biāo)明數(shù)據(jù)的傳輸協(xié)議、網(wǎng)絡(luò)計算機(jī)標(biāo)志和數(shù)據(jù)緩沖區(qū)變量。DataSocket支持多種數(shù)據(jù)傳送協(xié)議,不同的URL前綴表示不同的協(xié)議或數(shù)據(jù)類型。主要包括:(1)dstp(DataSocket Transfer Protocol):DataSocket 的專門通信協(xié)議,可以傳輸各種類型的數(shù)據(jù),當(dāng)使用這個協(xié)議時,VI與DataSocket Server連接,用戶必須為數(shù)據(jù)提供一個附加到URL的標(biāo)識Tag,DataSocket連接利用Tag在DataSocket Server上為一個特殊的數(shù)據(jù)項(xiàng)目指定地址,目前應(yīng)用虛擬儀器技術(shù)組建的測量網(wǎng)絡(luò)大多采用該協(xié)議;(2)http(Hyper Text Transfer Protocol,超文本傳輸協(xié)議);(3)ftp(File Transfer Protocol,文件傳輸協(xié)議);(4)opc (OLE for Process Control,操作計劃和控制);特別為實(shí)時產(chǎn)生的數(shù)據(jù)而涉及,例如工業(yè)自動化操作而產(chǎn)生的數(shù)據(jù)。要使用該協(xié)議,必須首先運(yùn)行一個OPC Server;(5)fieldpoint,logos,lookout:分別為NI FieldPoint 模塊,LabVIEW數(shù)據(jù)記錄與監(jiān)控(DSC)模塊及NI Lookout模塊的通信協(xié)議;(6)file(local file servers,本地文件服務(wù)器);可提供一個到包含數(shù)據(jù)的本地文件或網(wǎng)絡(luò)文件的連接。

          3、DataSocket網(wǎng)絡(luò)通信實(shí)現(xiàn)途徑

          在LabVIEW中運(yùn)用DataSocket技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)通信有兩種途徑:前面板控件屬性直接連接和利用DataSocket VI編程。

          3.1 前面板控件直接連接

          LabVIEW為每一前面板控件都設(shè)定一個DataSocket Connection屬性,利用它可以實(shí)現(xiàn)不同計算機(jī)上相對應(yīng)得兩個甚至多個同類型控件之間的DataSocket通信。通過規(guī)定URL和控件連接方式就可以在本地和遠(yuǎn)程進(jìn)行實(shí)時無誤差的數(shù)據(jù)發(fā)布(Publish)和讀取(Subscribe)。

          連接方式中的Publish和Subscribe方式為雙向傳輸提供方便,兩臺計算機(jī)中的任何一臺都可以控制另外一臺計算機(jī)的控件數(shù)值。例如,要將本地波形顯示器(Waveform Graph)的數(shù)據(jù)與網(wǎng)絡(luò)中的其他計算機(jī)共享,可在本地波形顯示器的DataSocket Connection屬性對話框中指定URL,并選擇Publish連接方式,異地波形顯示器的DataSocket Connection對話框中URL應(yīng)符合以下格式:dstp://servernamecom/waveformdata,其中servername com是本地計算機(jī)的網(wǎng)址,它可以是計算機(jī)名、IP地址或計算機(jī)域名:waveformdata是數(shù)據(jù)的名稱標(biāo)識(tag),用以區(qū)別不同的DataSocket連接。這樣兩異地控件就建立連接。運(yùn)行兩程序,當(dāng)控件右上角的方框?qū)泳G色時,標(biāo)明數(shù)據(jù)發(fā)送或接收得到正確連接,本地控件的數(shù)據(jù)就可實(shí)時地傳動到異地控件中;當(dāng)方框呈紅色時,表明數(shù)據(jù)與DataSocket Server連接失敗。

          3.2 DataSocket功能函數(shù)

          利用控件屬性直接連接實(shí)現(xiàn)汪凌數(shù)據(jù)傳輸居庸無需編程、簡單易用地特點(diǎn),但缺點(diǎn)時數(shù)據(jù)不透明,在客戶端處理服務(wù)器傳入的數(shù)據(jù),就必須利用DataSocket函數(shù)庫提供的VI。DataSocket函數(shù)庫包含有ReadHE Write等功能節(jié)點(diǎn)。Read節(jié)點(diǎn)用于充服務(wù)器的數(shù)據(jù)公共區(qū)下載數(shù)據(jù);Write節(jié)點(diǎn)用于把數(shù)據(jù)寫入服務(wù)器的數(shù)據(jù)公共區(qū)。DataSocket在讀數(shù)據(jù)文件時,支持text,txt,wave和dsd等格式;在寫數(shù)據(jù)文件時,支持text和dsd等格式。

          要寫入數(shù)據(jù)公共區(qū)的數(shù)據(jù)類型必須與數(shù)據(jù)公共區(qū)設(shè)定的數(shù)據(jù)類型一致。當(dāng)有多個不同類型數(shù)據(jù)需要寫入時,可以多次發(fā)送和讀取或開辟多個相應(yīng)類型的數(shù)據(jù)公共區(qū),也可以利用功能函數(shù)Variant把多個不同類型數(shù)據(jù)轉(zhuǎn)換變?yōu)閂ariant類型而寫入一個數(shù)據(jù)公共區(qū)。當(dāng)有多個相同類型的數(shù)據(jù)先后寫入數(shù)據(jù)公共區(qū)時,后寫入的數(shù)據(jù)會覆蓋前一個寫入的數(shù)據(jù)。


          上一頁 1 2 下一頁

          評論


          技術(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); })();