UDP協(xié)議通信需要建立連接嗎?
在西門子PLC的開放式以太網(wǎng)通信(Open User Communication)中,無論是使用TCP協(xié)議還是UDP協(xié)議,首先都需要使用函數(shù)TCON來建立連接。善于思考的小伙伴們肯定會提出一個問題:UDP協(xié)議不是面向非連接的協(xié)議嗎?為什么還需要使用TCON來建立通信連接呢?今天這篇文章,我們就來回答這個問題。

我們把TCP協(xié)議和UDP協(xié)議做個對比,首先明確結(jié)論:TCP是面向連接的協(xié)議;UDP是面向非連接的協(xié)議。這里的“連接”,是指通信雙方在協(xié)議層上建立的一條專用的數(shù)據(jù)傳輸通道。
TCP協(xié)議是有真實的數(shù)據(jù)傳輸通道的,它的執(zhí)行跟打電話的過程很類似。一個人要想給另一個人打電話,首先要撥號,一旦對方接起電話,兩人之間就建立了一條專用的通信信道。如果出現(xiàn)斷線,則需要重新?lián)芴?,再次建立連接才能繼續(xù)通話。TCP的傳輸過程也是類似的,通信的發(fā)起方必須和接收方建立連接,才能進(jìn)行通信。一旦連接中斷,則需要重新請求建立連接。TCP的傳輸具有確認(rèn)機制,是可靠的、安全的。當(dāng)然,相對慢些。

UDP協(xié)議則不同,它不需要在兩個通信伙伴之間建立真實的通信信道,其執(zhí)行過程跟寫信很類似。寄信人將收信人的名稱和地址寫到信封上,然后把信投到郵箱。至于這封信是順利到達(dá)收信人的手中還是在中途遺失了,它完全不管。UDP協(xié)議沒有確認(rèn)重傳機制,不需要在通信伙伴之間建立通信連接,因此把它稱作是“面向非連接”的協(xié)議。其優(yōu)點是傳輸速度較快。

好了,那么問題來了。既然UDP是面向非連接的協(xié)議,為什么在西門子PLC的開放式以太網(wǎng)通信(Open User Communication)中,在使用UDP傳輸前,要調(diào)用TCON函數(shù)來建立“連接”?
其實,TCON函數(shù)即可用于TCP傳輸?shù)倪B接,也可用于UDP傳輸?shù)倪B接。用于TCP通信時,它是真實在通信伙伴之間建立連接;而用于UDP通信時,它只是用來配置通信的參數(shù)(比如,通信伙伴的IP地址和端口號)。用戶程序通過調(diào)用TCON函數(shù)把UDP的通信參數(shù)交給PLC的操作系統(tǒng),之后它就不管了。操作系統(tǒng)負(fù)責(zé)把這些信息以UDP報文的形式發(fā)送出去。因此,在UDP通信時,TCON函數(shù)是在用戶程序和操作系統(tǒng)之間建立了“連接”,而不是與通信伙伴建立連接,此“連接”非彼“連接”。
下面這張圖,是博途(Portal)環(huán)境下TCON函數(shù)的方框圖:

好了,關(guān)于西門子PLC開放式以太網(wǎng)通信的連接函數(shù)TCON就介紹到這里。
-
神器:5秒鐘搞定贗電容k1擬合、繪圖、計算電容貢獻(xiàn)率 2020-06-25
-
化工設(shè)計之工程圖紙(這篇文章給你講全了) 2020-07-03
-
工具:贗電容k1Tool-v2.6解決擬合交叉問題 2020-06-25
-
斷續(xù)焊焊接符號 2021-10-14
-
板式塔設(shè)計核心:負(fù)荷性能圖(水力學(xué)圖) 2020-07-03
-
應(yīng)急管理部已明確:臨時性登高作業(yè)屬于特種作業(yè)!需要取證 2021-10-18
-
PDMS12.1sp4安裝教程 2020-07-03
-
話說LED燈的利用系數(shù) 2020-07-04
-
一張圖講清楚斷路器的工作原理 2020-07-10
-
引起管道振動的主要原因及消振措施 2020-12-06
