在LABVIEW中實現(xiàn)網絡通信的幾種方法
隨著計算機技術、大規(guī)模集成電路、通信技術等的飛速發(fā)展,儀器系統(tǒng)與計算機軟件技術緊密結合,使得傳統(tǒng)儀器的概念得以突破,出現(xiàn)了一種全新的儀器概念——虛擬儀器。1986年,美國國家儀器(national instruments, 簡稱NI)公司研發(fā)推出了圖形化編程環(huán)境的開發(fā)平臺——LabVIEW軟件,隨即就廣泛地被工業(yè)界、學術界和研究實驗室認可并接受,被公認為標準的數(shù)據采集和儀器控制軟件,成為目前實現(xiàn)虛擬儀器軟件設計最流行的工具之一。
本文引用地址:http://m.butianyuan.cn/article/201701/337018.htm同時隨著網絡的迅速發(fā)展,通過將網絡技術和虛擬儀器相結合,構成網絡化虛擬儀器系統(tǒng),是自動測試儀器系統(tǒng)的發(fā)展方向之一。所以通過網絡進行數(shù)據共享是各種軟件的發(fā)展趨勢,而LabVIEW軟件平臺正是適應了這一發(fā)展趨勢,它具有強大的網絡通信功能,使用LabVIEW實現(xiàn)網絡通信有4大類方法:(1)使用網絡通信協(xié)議編程實現(xiàn)網絡通信,可以使用的通信協(xié)議類型包括TCP/IP協(xié)議、UDP、串口通信協(xié)議、無線網絡協(xié)議等;(2)使用基于TCP/IP的數(shù)據傳輸協(xié)議DSTP的DataSocket技術實現(xiàn)網絡通信;(3)使用共享變量實現(xiàn)網絡通信;(4)通過遠程訪問來實現(xiàn)網絡通信。
本文對以上各種實現(xiàn)方法進行探討,最后簡單地分析了各種方法的優(yōu)缺點及應用場合。
2 網絡協(xié)議通信
2.1 TCP通信技術
網絡通信協(xié)議是網絡中傳遞、管理信息的一些規(guī)范,是計算機之間相互通信需要共同遵守的一些規(guī)則[1]。網絡通信協(xié)議通常被分為多個層次,每一層完成一定的功能,通信在對應的層次之間進行。LabVIEW中支持的通信協(xié)議類型包括TCP/IP、UDP、串口通信協(xié)議、無線網絡協(xié)議和郵件傳輸協(xié)議。TCP/IP協(xié)議體系是目前最成功, 使用最頻繁的Internet協(xié)議,有著良好的實用性和開放性。它定義了網絡層的網際互連協(xié)議IP,傳輸層的傳輸控制協(xié)議TCP、用戶數(shù)據協(xié)議UDP等。
LabVIEW中為網絡通訊提供了基于TCP/UDP的通訊函數(shù)供用戶調用。這樣用戶可直接調用TCP模塊中已發(fā)布的TCP VI及相關的子VI來完成流程的編寫,而無需過多考慮網絡的底層實現(xiàn)。在設計上采用C/S(客戶端/服務器)通信模式,VI程序分為兩部分:處理主機工作在Server模式,完成數(shù)據接收,并提供數(shù)據的相關處理;數(shù)據點計算機工作于Client模式,實現(xiàn)數(shù)據傳送[5]。TCP傳輸數(shù)據過程如下:首先由發(fā)送端發(fā)送連接請求,接收端偵聽到請求后回復并建立連接,然后開始傳輸,數(shù)據傳輸完成后關閉連接,傳輸過程結束。
2.2 利用TCP協(xié)議通信實例
以下通過C/S(客戶端/服務器)通信模式實現(xiàn)的數(shù)據傳輸模式。
在服務器端,用“TCP Create Listener”節(jié)點創(chuàng)建偵聽,“TCP Wait on Listener”節(jié)點等待客戶機連接,通過循環(huán)產生100個正弦信號數(shù)據,用兩個“TCP Write”節(jié)點來發(fā)送數(shù)據,第一個節(jié)點用來發(fā)送波形數(shù)據的長度,第二個節(jié)點發(fā)送波形數(shù)據,最后,用“TCP Close Connection”節(jié)點結束連接。程序框圖如圖1所示:
圖1 TCP服務器端程序框圖
在客戶端,用“TCP Open Connection”節(jié)點打開TCP連接,用兩個“TCP Read”節(jié)點讀取數(shù)據,第一個節(jié)點接收波形長度作為第二個節(jié)點的輸入,第二個節(jié)點接收波形數(shù)據,最后,用“TCP Close Connection”節(jié)點結束連接。程序框圖如圖2所示:
圖2 TCP客戶端程序框圖
運行程序,結果如下圖3、4:
圖3 服務器端顯示結果
圖4 客戶端顯示結果
3 DataSocket技術通信
3.1 DataSocket技術
DataSocket技術是一種面向測控領域的網上實時數(shù)據交換編程技術[9],DataSocket技術基于Microsoft的COM和ActiveX技術,對TCP/IP協(xié)議進行高度封裝,它包括了DataSocket Server Manager、DataSocket Server和DataSocket API這幾個工具軟件,以及DSTP (DataSocket Transfer Protocol)協(xié)議、通用資源定位符URL (Uniform. Resource Locator)和文件格式等技術規(guī)范。它能大大簡化Internet網上計算機之間測控數(shù)據交換的編程工作。同時,DataSocket也可用于一臺計算機內或局域網中多個應用程序之間的數(shù)據交換。
DataSocket Server Manager是一個獨立運行的應用程序,它的主要功能是設置DataSocket Server可連接的客戶端程序的最大數(shù)目和可創(chuàng)建的數(shù)據項的最大數(shù)目,設置用戶和用戶組,設置用戶可創(chuàng)建數(shù)據項和讀寫數(shù)據項的權限,未經授權的用戶不能在DataSocket Server上創(chuàng)建或讀寫數(shù)據項,數(shù)據項實際上是DataSocket Server中的數(shù)據文件。DataSocket Server也是一個獨立運行的應用程序,它能為用戶解決大部分網絡通信方面的問題,它負責監(jiān)管Manager中所設定的各種權限的用戶組和客戶端程序之間的數(shù)據交換,自動處理底層的網絡連接及客戶程序之間的數(shù)據交換,使網絡連接對客戶端保持透明。DataSocket Server與測控應用程序可安裝在同一臺計算機上,也可以分裝在不同計算機上,后一種方法可增加整個系統(tǒng)的安全性,因為兩臺計算機之間可用防火墻加以隔離,而且,DataSocket Server程序不會占用測控計算機CPU的工作時間,從而使測控應用程序可以運行得更快。
評論