LabVIEW編程示例:如何使用UDP協議進行數據通信

飛來科技  發布時間:2019-11-08 04:03:18

本文關鍵詞:labview udp 傳輸數據

udp可靠傳輸 開源_labview udp 傳輸數據_udp傳輸

UDP協議

UDP(User Datagram Protocol,用戶數據報協議)同TCP協議類似,它只是LabVIEW編程中一種常用的數據通信手段。與TCP不同的是,它是一種無連接方式協議,當數據內容發送時候,自己是能夠得知他人是否早已安全完整的接收到了所有的數據信息。這意味著UDP提供的不是面向連接的、可靠的數據存儲,而是面向操作的、不可靠的數據存儲,應用程序必須自己確認信息能否完全恰當的抵達目的地。

但是UDP也有顯著的缺點,由于它不屬于連接型協議,而是采取廣播的方法來公布數據,因而數據存儲時資源耗費小,處理速度快,特別適合于一點對多點的通信狀況。所以一般音頻、視頻等存儲時使用UDP較多,因為他們雖然經常丟失一兩個數據包,也不會對接收結果造成太大的影響。

labview udp 傳輸數據_udp可靠傳輸 開源_udp傳輸

在LabVIEW軟件中提供了UDP的相關操作函數,對這些協議的推動進行了高度集成,用戶借助簡單讀取就可以推動UDP協議的網路通訊。在程序框圖的變量模板中選取函數-->數據通信-->協議中選取UDP可以開啟UDP子模板,主要節點變量如下圖所示:

前面一篇文章將要講解了TCP協議通信的方式,這兒再借助一個例子看下在LabVIEW中怎樣使用UDP協議進行數據通信。

示例說明

udp可靠傳輸 開源_udp傳輸_labview udp 傳輸數據

該例分為兩個別程序:發送端程序和接收端程序,兩者運用UDP協議進行通信,前者為連續形成一組隨機數據發送給前者,后者將接收到的數據在前面板上進行連續顯示。

發送端程序設計

發送端程序前面板設計如下圖右圖,“遠程地址”設置要發送的程序即接收端程序所在的遠程主機IP地址,“遠程網關”設置接收端程序的網關標識值;“本地端口”設置發送端程序的網關標識值,“停止”按鈕結束程序的運行。

udp可靠傳輸 開源_labview udp 傳輸數據_udp傳輸

發送端框圖程序如下所示:

在程序框圖中,首先運用“打開UDP”函數打開“本地端口”控件上指定的網關上的一個UDP套接字,返回一個連接ID參數同,此處本地端口修改為2000。在While循環內部labview udp 傳輸數據,每隔200ms向接收端程序發送一次波形數據。每次運行時,用For循環產生50個點的隨機數數組,將該字段使用“強制類型轉換”函數將雙精度類別的波形數組轉化為字符串,利用“寫入UDP數據”函數發送到接收端程序即可。此處,“寫入UDP數據”函數必需設定遠程接收端程序對應的IP地址和端口號,這是該結點函數發送數據的目的地,前面板上“遠程地址”控件是一個字符串類型,使用“字符串至IP地址轉換”函數可以得到對應的IP地址,端口號本例修改為2001。點擊“停止”按鈕labview udp 傳輸數據,可以退出While循環。最后調用“關閉UDP”函數,退出程序。

接收端程序設計

udp可靠傳輸 開源_udp傳輸_labview udp 傳輸數據

接收端程序前面板設計如下圖右圖,“本地端口”為本程序(接收端程序)的網關標識值,“波形”控件連續顯示接收到的發送端程序發送的波形數據,“停止”按鈕結束程序的運行。

接收端框圖程序如下所示:

在程序框圖中,與發送端程序類似,首先讀取“打開UDP”函數打開“本地端口”控件上指定的網關上的一個UDP套接字,返回一個連接ID參數,此處本地端口修改為2001。在While循環內部,連續接收發送端程序發送的波形數據并在波形圖上顯示,最后讀取“關閉UDP”函數,退出程序。

此處在While循環內,與服務器端程序相對應,每隔200ms讀取一次服務器端程序發送的波形數據。每次抓取波形數據時,通過讀入“讀取UDP數據”節點變量接收波形數據,此波形數據為字符串類型,所以必須讀取“強制類型轉換”函數轉化為雙精度類別的一維數組,將該數組送到前面板的“波形”顯示控件上進行顯示就能。另外,在“讀取UDP數據”節點變量中修改超時時間為1000ms,當1000ms內未接收到數據時該變量將返回一個錯誤信息,利用該出錯信息值可以成為退出While循環的條件,當然,直接點擊“停止”按鈕也可以直接退出循環。

總結

本例演示了在LabVIEW中怎樣使用UDP協議進行數據通信的方式,大家也可以結合上面文章TCP協議通信的事例,進行對比練習,更有助于兩種不同協議的編程理解。

本文由編碼那些事原創,請關注+轉發+收藏+點贊,帶你一起長知識!

本文來自互聯網,由機器人自動采編,文章內容不代表本站觀點,請讀者自行辨別信息真偽,如有發現不適內容,請及時聯系站長處理。

    相關閱讀
    广东快乐十分诈骗