新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 在LABVIEW中實(shí)現(xiàn)網(wǎng)絡(luò)通信的幾種方法

在LABVIEW中實(shí)現(xiàn)網(wǎng)絡(luò)通信的幾種方法

作者: 時(shí)間:2017-01-06 來(lái)源:網(wǎng)絡(luò) 收藏
  1 引言

  隨著計(jì)算機(jī)技術(shù)、大規(guī)模集成電路、通信技術(shù)等的飛速發(fā)展,儀器系統(tǒng)與計(jì)算機(jī)軟件技術(shù)緊密結(jié)合,使得傳統(tǒng)儀器的概念得以突破,出現(xiàn)了一種全新的儀器概念——虛擬儀器。1986年,美國(guó)國(guó)家儀器(national instruments, 簡(jiǎn)稱(chēng)NI)公司研發(fā)推出了圖形化編程環(huán)境的開(kāi)發(fā)平臺(tái)——LabVIEW軟件,隨即就廣泛地被工業(yè)界、學(xué)術(shù)界和研究實(shí)驗(yàn)室認(rèn)可并接受,被公認(rèn)為標(biāo)準(zhǔn)的數(shù)據(jù)采集和儀器控制軟件,成為目前實(shí)現(xiàn)虛擬儀器軟件設(shè)計(jì)最流行的工具之一。

本文引用地址:http://butianyuan.cn/article/201701/337018.htm

  同時(shí)隨著網(wǎng)絡(luò)的迅速發(fā)展,通過(guò)將網(wǎng)絡(luò)技術(shù)和虛擬儀器相結(jié)合,構(gòu)成網(wǎng)絡(luò)化虛擬儀器系統(tǒng),是自動(dòng)測(cè)試儀器系統(tǒng)的發(fā)展方向之一。所以通過(guò)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)共享是各種軟件的發(fā)展趨勢(shì),而LabVIEW軟件平臺(tái)正是適應(yīng)了這一發(fā)展趨勢(shì),它具有強(qiáng)大的網(wǎng)絡(luò)通信功能,使用LabVIEW實(shí)現(xiàn)網(wǎng)絡(luò)通信有4大類(lèi)方法:(1)使用網(wǎng)絡(luò)通信協(xié)議編程實(shí)現(xiàn)網(wǎng)絡(luò)通信,可以使用的通信協(xié)議類(lèi)型包括TCP/IP協(xié)議、UDP、串口通信協(xié)議、無(wú)線(xiàn)網(wǎng)絡(luò)協(xié)議等;(2)使用基于TCP/IP的數(shù)據(jù)傳輸協(xié)議DSTP的DataSocket技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)通信;(3)使用共享變量實(shí)現(xiàn)網(wǎng)絡(luò)通信;(4)通過(guò)遠(yuǎn)程訪(fǎng)問(wèn)來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)通信。

  本文對(duì)以上各種實(shí)現(xiàn)方法進(jìn)行探討,最后簡(jiǎn)單地分析了各種方法的優(yōu)缺點(diǎn)及應(yīng)用場(chǎng)合。

  2 網(wǎng)絡(luò)協(xié)議通信

  2.1 TCP通信技術(shù)

  網(wǎng)絡(luò)通信協(xié)議是網(wǎng)絡(luò)中傳遞、管理信息的一些規(guī)范,是計(jì)算機(jī)之間相互通信需要共同遵守的一些規(guī)則[1]。網(wǎng)絡(luò)通信協(xié)議通常被分為多個(gè)層次,每一層完成一定的功能,通信在對(duì)應(yīng)的層次之間進(jìn)行。LabVIEW中支持的通信協(xié)議類(lèi)型包括TCP/IP、UDP、串口通信協(xié)議、無(wú)線(xiàn)網(wǎng)絡(luò)協(xié)議和郵件傳輸協(xié)議。TCP/IP協(xié)議體系是目前最成功, 使用最頻繁的Internet協(xié)議,有著良好的實(shí)用性和開(kāi)放性。它定義了網(wǎng)絡(luò)層的網(wǎng)際互連協(xié)議IP,傳輸層的傳輸控制協(xié)議TCP、用戶(hù)數(shù)據(jù)協(xié)議UDP等。

  LabVIEW中為網(wǎng)絡(luò)通訊提供了基于TCP/UDP的通訊函數(shù)供用戶(hù)調(diào)用。這樣用戶(hù)可直接調(diào)用TCP模塊中已發(fā)布的TCP VI及相關(guān)的子VI來(lái)完成流程的編寫(xiě),而無(wú)需過(guò)多考慮網(wǎng)絡(luò)的底層實(shí)現(xiàn)。在設(shè)計(jì)上采用C/S(客戶(hù)端/服務(wù)器)通信模式,VI程序分為兩部分:處理主機(jī)工作在Server模式,完成數(shù)據(jù)接收,并提供數(shù)據(jù)的相關(guān)處理;數(shù)據(jù)點(diǎn)計(jì)算機(jī)工作于Client模式,實(shí)現(xiàn)數(shù)據(jù)傳送[5]。TCP傳輸數(shù)據(jù)過(guò)程如下:首先由發(fā)送端發(fā)送連接請(qǐng)求,接收端偵聽(tīng)到請(qǐng)求后回復(fù)并建立連接,然后開(kāi)始傳輸,數(shù)據(jù)傳輸完成后關(guān)閉連接,傳輸過(guò)程結(jié)束。

  2.2 利用TCP協(xié)議通信實(shí)例

  以下通過(guò)C/S(客戶(hù)端/服務(wù)器)通信模式實(shí)現(xiàn)的數(shù)據(jù)傳輸模式。

  在服務(wù)器端,用“TCP Create Listener”節(jié)點(diǎn)創(chuàng)建偵聽(tīng),“TCP Wait on Listener”節(jié)點(diǎn)等待客戶(hù)機(jī)連接,通過(guò)循環(huán)產(chǎn)生100個(gè)正弦信號(hào)數(shù)據(jù),用兩個(gè)“TCP Write”節(jié)點(diǎn)來(lái)發(fā)送數(shù)據(jù),第一個(gè)節(jié)點(diǎn)用來(lái)發(fā)送波形數(shù)據(jù)的長(zhǎng)度,第二個(gè)節(jié)點(diǎn)發(fā)送波形數(shù)據(jù),最后,用“TCP Close Connection”節(jié)點(diǎn)結(jié)束連接。程序框圖如圖1所示:

  圖1 TCP服務(wù)器端程序框圖

  在客戶(hù)端,用“TCP Open Connection”節(jié)點(diǎn)打開(kāi)TCP連接,用兩個(gè)“TCP Read”節(jié)點(diǎn)讀取數(shù)據(jù),第一個(gè)節(jié)點(diǎn)接收波形長(zhǎng)度作為第二個(gè)節(jié)點(diǎn)的輸入,第二個(gè)節(jié)點(diǎn)接收波形數(shù)據(jù),最后,用“TCP Close Connection”節(jié)點(diǎn)結(jié)束連接。程序框圖如圖2所示:

  圖2 TCP客戶(hù)端程序框圖

  運(yùn)行程序,結(jié)果如下圖3、4:

  圖3 服務(wù)器端顯示結(jié)果

  圖4 客戶(hù)端顯示結(jié)果

  3 DataSocket技術(shù)通信

  3.1 DataSocket技術(shù)

  DataSocket技術(shù)是一種面向測(cè)控領(lǐng)域的網(wǎng)上實(shí)時(shí)數(shù)據(jù)交換編程技術(shù)[9],DataSocket技術(shù)基于Microsoft的COM和ActiveX技術(shù),對(duì)TCP/IP協(xié)議進(jìn)行高度封裝,它包括了DataSocket Server Manager、DataSocket Server和DataSocket API這幾個(gè)工具軟件,以及DSTP (DataSocket Transfer Protocol)協(xié)議、通用資源定位符URL (Uniform. Resource Locator)和文件格式等技術(shù)規(guī)范。它能大大簡(jiǎn)化Internet網(wǎng)上計(jì)算機(jī)之間測(cè)控?cái)?shù)據(jù)交換的編程工作。同時(shí),DataSocket也可用于一臺(tái)計(jì)算機(jī)內(nèi)或局域網(wǎng)中多個(gè)應(yīng)用程序之間的數(shù)據(jù)交換。

  DataSocket Server Manager是一個(gè)獨(dú)立運(yùn)行的應(yīng)用程序,它的主要功能是設(shè)置DataSocket Server可連接的客戶(hù)端程序的最大數(shù)目和可創(chuàng)建的數(shù)據(jù)項(xiàng)的最大數(shù)目,設(shè)置用戶(hù)和用戶(hù)組,設(shè)置用戶(hù)可創(chuàng)建數(shù)據(jù)項(xiàng)和讀寫(xiě)數(shù)據(jù)項(xiàng)的權(quán)限,未經(jīng)授權(quán)的用戶(hù)不能在DataSocket Server上創(chuàng)建或讀寫(xiě)數(shù)據(jù)項(xiàng),數(shù)據(jù)項(xiàng)實(shí)際上是DataSocket Server中的數(shù)據(jù)文件。DataSocket Server也是一個(gè)獨(dú)立運(yùn)行的應(yīng)用程序,它能為用戶(hù)解決大部分網(wǎng)絡(luò)通信方面的問(wèn)題,它負(fù)責(zé)監(jiān)管Manager中所設(shè)定的各種權(quán)限的用戶(hù)組和客戶(hù)端程序之間的數(shù)據(jù)交換,自動(dòng)處理底層的網(wǎng)絡(luò)連接及客戶(hù)程序之間的數(shù)據(jù)交換,使網(wǎng)絡(luò)連接對(duì)客戶(hù)端保持透明。DataSocket Server與測(cè)控應(yīng)用程序可安裝在同一臺(tái)計(jì)算機(jī)上,也可以分裝在不同計(jì)算機(jī)上,后一種方法可增加整個(gè)系統(tǒng)的安全性,因?yàn)閮膳_(tái)計(jì)算機(jī)之間可用防火墻加以隔離,而且,DataSocket Server程序不會(huì)占用測(cè)控計(jì)算機(jī)CPU的工作時(shí)間,從而使測(cè)控應(yīng)用程序可以運(yùn)行得更快。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉