西門子PLC以太網(wǎng)開放式用戶通信連載(5)-TUSEND
前面的文章我們介紹了西門子開放式用戶通信(Open User Communication)中用于建立連接的指令-TCON;用于TCP、ISO-ON-TCP協(xié)議的數(shù)據(jù)接收指令-TRCV;用于UDP協(xié)議的數(shù)據(jù)接收指令-TURCV;用于TCP、ISO-ON-TCP的數(shù)據(jù)發(fā)送指令-TSEND。今天這篇文章,我們來介紹下用于UDP協(xié)議的數(shù)據(jù)發(fā)送指令:TUSEND。

TUSEND指令基于UDP(RFC768)協(xié)議來發(fā)送數(shù)據(jù),這是一種沒有應(yīng)答機(jī)制的通信協(xié)議。也就是說,發(fā)送方并不關(guān)心發(fā)送的數(shù)據(jù)是否已經(jīng)被成功接收,接收方也不提供任何反饋。UDP協(xié)議的優(yōu)勢(shì)在于可以快速的發(fā)送大量的數(shù)據(jù),但是由于沒有應(yīng)答機(jī)制,可能會(huì)出現(xiàn)數(shù)據(jù)丟失的現(xiàn)象。更多信息可以參考這篇文章:UDP協(xié)議通信需要建立連接嗎?
下面我們來介紹TUSEND指令的使用方法。
首先在指令列表中找到TUSEND,如下圖:

將TUSEND指令拖拽到程序塊中,系統(tǒng)會(huì)自動(dòng)提示為其添加背景數(shù)據(jù)塊??梢赃x擇獨(dú)立背景數(shù)據(jù)塊(Single Instance DB)或者多重背景數(shù)據(jù)塊(Multi Instance DB),如下圖:

本例程我們選擇獨(dú)立背景數(shù)據(jù)塊,并使用默認(rèn)的名稱:TUSEND_DB。點(diǎn)擊【OK】確認(rèn),TUSEND指令便被添加到程序塊中,如下圖:

各參數(shù)的含義如下:
-
REQ:請(qǐng)求發(fā)送數(shù)據(jù),需要信號(hào)的上升沿(Rising Edge);
-
ID:使用TCON指令建立的通信ID號(hào);
-
LEN:發(fā)送數(shù)據(jù)的長(zhǎng)度,以字節(jié)為單位,范圍為1~1472;
-
DATA:指向發(fā)送數(shù)據(jù)區(qū)域的指針??梢允菙?shù)據(jù)輸入/輸出緩存區(qū)、位存儲(chǔ)區(qū)或者數(shù)據(jù)塊;
-
ADDR:指向TADDR_Param數(shù)據(jù)塊的指針。數(shù)據(jù)類型為TADDR_Param的數(shù)據(jù)塊,包含了通信伙伴的IP地址及端口號(hào)等信息;
-
DONE:數(shù)據(jù)是否已經(jīng)發(fā)送完成,1=發(fā)送完成;
-
BUSY:是否正在發(fā)送數(shù)據(jù),1=正在發(fā)送數(shù)據(jù);
-
ERROR:發(fā)送過程是否有錯(cuò)誤,0=沒有錯(cuò)誤,1=有錯(cuò)誤;
-
STATUS:發(fā)送數(shù)據(jù)的狀態(tài)字,如果ERROR為1,會(huì)將相應(yīng)的錯(cuò)誤代碼寫到STATUS中;
TADDR_Param參數(shù)保存了通信伙伴的IP地址和端口號(hào)。當(dāng)連續(xù)對(duì)多個(gè)不同的通信伙伴(不同IP或端口)發(fā)送UDP數(shù)據(jù)時(shí),僅需調(diào)整TADDR_Param參數(shù),而不需要重新調(diào)用TCON指令和TDISCON指令來建立或斷開連接。
這里,重點(diǎn)介紹下TADDR_Param參數(shù)。
新建一個(gè)DB塊,名稱為“DB_TADDR_Param_Send”,將其類型設(shè)置為“TADDR_Param”,如下圖:

點(diǎn)擊【OK】確認(rèn)。打開新建的數(shù)據(jù)塊可以看到其中包含了遠(yuǎn)程通信伙伴的IP地址(REM_IP_ADDR)和端口號(hào)(REM_PORT_NR),如下圖:

通過對(duì)該DB塊內(nèi)容的修改,就可以更改TUSEND的通信伙伴的參數(shù),達(dá)到向多個(gè)通信伙伴發(fā)送數(shù)據(jù)的目的。
完整的TUSEND指令如下圖:

好了,關(guān)于基于UDP協(xié)議的數(shù)據(jù)發(fā)送指令TUSEND就先介紹到這里。
-
神器:5秒鐘搞定贗電容k1擬合、繪圖、計(jì)算電容貢獻(xiàn)率 2020-06-25
-
化工設(shè)計(jì)之工程圖紙(這篇文章給你講全了) 2020-07-03
-
工具:贗電容k1Tool-v2.6解決擬合交叉問題 2020-06-25
-
斷續(xù)焊焊接符號(hào) 2021-10-14
-
板式塔設(shè)計(jì)核心:負(fù)荷性能圖(水力學(xué)圖) 2020-07-03
-
PDMS12.1sp4安裝教程 2020-07-03
-
話說LED燈的利用系數(shù) 2020-07-04
-
一張圖講清楚斷路器的工作原理 2020-07-10
-
引起管道振動(dòng)的主要原因及消振措施 2020-12-06
