新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 在LABVIEW中實現網絡通信的幾種方法

        在LABVIEW中實現網絡通信的幾種方法

        作者: 時間:2017-01-06 來源:網絡 收藏
          1 引言

          隨著計算機技術、大規模集成電路、通信技術等的飛速發展,儀器系統與計算機軟件技術緊密結合,使得傳統儀器的概念得以突破,出現了一種全新的儀器概念——虛擬儀器。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的工作時間,從而使測控應用程序可以運行得更快。


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 句容市| 独山县| 金华市| 博湖县| 卓尼县| 开平市| 阿克| 霞浦县| 郓城县| 澎湖县| 平谷区| 盘山县| 汝州市| 武穴市| 黄冈市| 桓台县| 寻甸| 和田县| 黔南| 遵义市| 永嘉县| 鸡西市| 桃园县| 福贡县| 武鸣县| 靖西县| 博野县| 错那县| 汤原县| 钟山县| 河曲县| 宁陵县| 普格县| 元朗区| 崇明县| 汉川市| 兴和县| 洮南市| 鄂托克旗| 克东县| 阿拉善右旗|