色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 基于DataSocket技術的LabVIEW遠程測控

          基于DataSocket技術的LabVIEW遠程測控

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


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

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

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

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

          2、DataSocket技術

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

          2.1 DataSocket邏輯構成

          本文引用地址:http://cafeforensic.com/article/201701/337108.htm

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

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

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

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

          2.2 DataSocket 資源定位

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

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

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

          3.1 前面板控件直接連接

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

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

          3.2 DataSocket功能函數(shù)

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

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


          上一頁 1 2 下一頁

          評論


          技術專區(qū)

          關閉