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