開(kāi)放式用戶通信
CPU 的集成 PROFINET 端口支持多種以太網(wǎng)網(wǎng)絡(luò)上的通信標(biāo)準(zhǔn):
● 傳輸控制協(xié)議 (TCP)
● ISO on TCP (RFC 1006)
● 用戶數(shù)據(jù)報(bào)協(xié)議 (UDP)
TCP 和 ISO on TCP
傳輸控制協(xié)議 (TCP) 是由 RFC 793 描述的一種標(biāo)準(zhǔn)協(xié)議:傳輸控制協(xié)議。TCP 的主要用途是在過(guò)程對(duì)之間提供可靠、安全的連接服務(wù)。該協(xié)議有以下特點(diǎn):
● 由于它與硬件緊密相關(guān),因此它是一種高效的通信協(xié)議
● 它適合用于中等大小或較大的數(shù)據(jù)量(最多 8192 字節(jié))
● 它為應(yīng)用帶來(lái)了更多的便利,特別是對(duì)于錯(cuò)誤恢復(fù)、流控制和可靠性。
● 它是一種面向連接的協(xié)議
● 它可以非常靈活地用于只支持 TCP 的第三方系統(tǒng)
● 有路由功能
● 只能應(yīng)用靜態(tài)數(shù)據(jù)長(zhǎng)度。
● 消息會(huì)被確認(rèn)。
● 使用端口號(hào)對(duì)應(yīng)用程序?qū)ぶ贰?/p>
● 大多數(shù)用戶應(yīng)用協(xié)議(例如 TELNET 和 FTP)都使用 TCP。
● 由于使用 SEND/RECEIVE 編程接口的緣故,需要編程來(lái)進(jìn)行數(shù)據(jù)管理。
基于傳輸控制協(xié)議 (TCP) 的國(guó)際標(biāo)準(zhǔn)組織 (ISO) (RFC 1006) (ISO on TCP) 是一種能夠?qū)?ISO 應(yīng)用移植到 TCP/IP 網(wǎng)絡(luò)的機(jī)制。該協(xié)議有以下特點(diǎn):
● 它是與硬件關(guān)系緊密的高效通信協(xié)議
● 它適合用于中等大小或較大的數(shù)據(jù)量(最多 8192 字節(jié))
● 與 TCP 相比,它的消息提供了數(shù)據(jù)結(jié)束標(biāo)識(shí)符并且它是面向消息的。
● 具有路由功能;可用于 WAN
● 可用于實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)長(zhǎng)度。
● 由于使用 SEND/RECEIVE 編程接口的緣故,需要編程來(lái)進(jìn)行數(shù)據(jù)管理。
通過(guò)傳輸服務(wù)訪問(wèn)點(diǎn) (TSAP, Transport Service Access Point),TCP 協(xié)議允許有多個(gè)連接訪問(wèn)單個(gè) IP 地址(最多 64K 個(gè)連接)。借助 RFC 1006,TSAP 可唯一標(biāo)識(shí)連接到同一個(gè) IP 地址的這些通信端點(diǎn)連接。
開(kāi)放式用戶通信指令的連接 ID
將 TSEND_C、TRCV_C 或 TCON PROFINET 指令插入到用戶程序中時(shí),STEP 7 會(huì)創(chuàng)建一個(gè)背景數(shù)據(jù)塊,以組態(tài)設(shè)備之間的通信通道(或連接)。使用指令的“屬性”(Properties) 組態(tài)連接的參數(shù)。這些參數(shù)中有該連接的連接 ID。
● 連接 ID 對(duì)于 CPU 必須是唯一的。創(chuàng)建的每個(gè)連接必須具有不同的 DB 和連接 ID。
● 本地 CPU 和伙伴 CPU 都可以對(duì)同一連接使用相同的連接 ID 編號(hào),但連接 ID 編號(hào)不需要匹配。連接 ID 編號(hào)只與各 CPU 用戶程序中的 PROFINET 指令相關(guān)。
● CPU 的連接 ID 可以使用任何數(shù)字。但是,從“1”開(kāi)始按順序組態(tài)連接 ID 可以很容易地跟蹤特定 CPU 使用的連接數(shù)。
用戶程序中的每個(gè) TSEND_C、TRCV_C 或 TCON 指令都創(chuàng)建一個(gè)新連接。為每個(gè)連接使用正確的連接 ID 非常重要。
兩個(gè) CPU 之間的通信,這兩個(gè) CPU 使用 2 個(gè)單獨(dú)的連接來(lái)發(fā)送和接收數(shù)據(jù)。
①CPU_1 上的 TSEND_C 創(chuàng)建一個(gè)連接并為該連接分配一個(gè)連接 ID(CPU_1 的連接 ID 1)。
②CPU_2 上的 TRCV_C 為 CPU_2 創(chuàng)建連接并分配連接 ID(CPU_2 的連接 ID 1)。
③CPU_1 上的 TRCV_C 為 CPU_1 創(chuàng)建第二個(gè)連接并為該連接分配不同的連接 ID(CPU_1 的連接 ID 2)。
④CPU_2 上的 TSEND_C 創(chuàng)建第二個(gè)連接并為該連接分配不同的連接 ID(CPU_2 的連接 ID 2)。
以下示例顯示了兩個(gè) CPU 之間的通信,這兩個(gè) CPU 使用 1 個(gè)連接來(lái)發(fā)送和接收數(shù)據(jù)。
● 每個(gè) CPU 都使用 TCON 指令來(lái)組態(tài)兩個(gè) CPU 之間的連接。
● CPU_1 中的 TSEND 指令通過(guò)由 CPU_1 中的 TCON 指令組態(tài)的連接 ID(“連接 ID 1”)鏈接到 CPU_2 中的 TRCV 指令。CPU_2 中的 TRCV 指令通過(guò)由 CPU_2 中的 TCON 指令組態(tài)的連接 ID(“連接 ID 1”)鏈接到 CPU_1 中的 TSEND 指令。
● CPU_2 中的 TSEND 指令通過(guò)由 CPU_2 中的 TCON 指令組態(tài)的連接 ID(“連接 ID 1”)鏈接到 CPU_1 中的 TRCV 指令。CPU_1 中的 TRCV 指令通過(guò)由 CPU_1 中的 TCON 指令組態(tài)的連接 ID(“連接 ID 1”)鏈接到 CPU_2 中的 TSEND 指令。
①CPU_1 上的 TCON 創(chuàng)建一個(gè)連接并在 CPU_1 上為該連接分配連接 ID (ID=1)。
②CPU_2 上的 TCON 創(chuàng)建一個(gè)連接并在 CPU_2 上為該連接分配連接 ID (ID=1)。
③CPU_1 上的 TSEND 和 TRCV 使用 CPU_1 上的 TCON 創(chuàng)建的連接 ID (ID=1)。
CPU_2 上的 TSEND 和 TRCV 使用 CPU_2 上的 TCON 創(chuàng)建的連接 ID (ID=1)。
如以下示例所示,還可以使用單個(gè) TSEND 和 TRCV 指令通過(guò)由 TSEND_C 或 TRCV_C 指令創(chuàng)建的連接進(jìn)行通信。TSEND 和 TRCV 指令本身不會(huì)創(chuàng)建新連接,因此必須使用由 TSEND_C、TRCV_C 或 TCON 指令創(chuàng)建的 DB 和連接 ID。
①CPU_1 上的 TSEND_C 創(chuàng)建一個(gè)連接并為該連接分配連接 ID (ID=1)。
②CPU_2 上的 TRCV_C 創(chuàng)建一個(gè)連接并在 CPU_2 上為該連接分配連接 ID (ID=1)。
③CPU_1 上的 TSEND 和 TRCV 使用 CPU_1 上的 TSEND_C 創(chuàng)建的連接 ID (ID=1)。CPU_2 上的 TSEND 和 TRCV 使用 CPU_2 上的 TRCV_C 創(chuàng)建的連接 ID (ID=1)。
組態(tài) DNS
必須組態(tài)域名系統(tǒng) (DNS) 才能使用安全 OUC。網(wǎng)絡(luò)中必須至少存在一個(gè) DNS 服務(wù)器,并且必須為 S7-1200 CPU 組態(tài)至少一個(gè) DNS 服務(wù)器。
按以下步驟組態(tài) DNS 服務(wù)器:
1. 導(dǎo)航到 S7-1200 CPU 的設(shè)備視圖。
2. 轉(zhuǎn)到“屬性”(Properties) 頁(yè)面和“常規(guī)”(General) 選項(xiàng)卡。
3. 單擊 DNS 組態(tài)以顯示組態(tài)頁(yè)面。
4. 在“服務(wù)器列表”(Server list) 表格中 DNS 服務(wù)器地址下的第一行,單擊“<添加新地址>”() 并輸入 DNS 服務(wù)器的 IP 地址。
TSEND_C 和 TRCV_C 指令
從 S7-1200 CPU V4.1 或更高版本開(kāi)始,與 STEP 7 V13 SP1 或更高版本一起使用時(shí),CPU 可以擴(kuò)展 TSEND_C 和 TRCV_C 指令的功能,以便使用結(jié)構(gòu)符合 TCON_IP_V4 和 TCON_IP_RFC 的連接參數(shù)。
選擇 TSEND_C 和 TRCV_C 指令的版本
在 STEP 7 中提供了兩種版本的 TSEND_C 和 TRCV_C 指令:
● V2.5 和 V3.1 可用于 STEP 7 Basic/Professional V13 或更早版本。
● 版本 4.0 在 STEP 7 Basic/Professional V13 SP1 或新版本中提供。
可以從兼容性和移植便利性方面考慮,選擇將相應(yīng)的指令版本插入用戶程序中。不要在同一個(gè) CPU 程序中使用不同版本的指令。
單擊指令樹(shù)任務(wù)卡上的圖標(biāo)可啟用指令樹(shù)的標(biāo)題和列。
要更改 TSEND_C 和 TRCV_C 指令的版本,請(qǐng)從下拉列表中選擇相應(yīng)版本。可以選擇一組指令或分別選擇各個(gè)指令。
使用指令樹(shù)將 TSEND_C 或 TRCV_C 指令放入程序時(shí),將根據(jù)所選的 TSEND_C 或 TRCV_C 指令在項(xiàng)目樹(shù)中創(chuàng)建新的 FB 或 FC 實(shí)例。在項(xiàng)目樹(shù)的“PLC_x > 程序塊 > 系統(tǒng)塊 > 程序資源”(PLC_x > Program blocks > System blocks > Program resources) 下可看到新的
FB 或 FC 實(shí)例。
要檢驗(yàn)程序中 TSEND_C 或 TRCV_C 指令的版本,必須檢查項(xiàng)目樹(shù)的屬性而不是程序編輯器中所顯示框的屬性。選擇項(xiàng)目樹(shù)的 TSEND_C 或 TRCV_C FB 或 FC 實(shí)例,單擊右鍵,選擇“屬性”(Properties),然后選擇“信息”(Information) 頁(yè)查看 TSEND_C 或 TRCV_C 指令的版本號(hào)。
TSEND_C 和 TRCV_C(使用以太網(wǎng)發(fā)送和接收數(shù)據(jù))
TSEND_C 指令兼具 TCON、TDISCON 和 TSEND 指令的功能。TRCV_C 指令兼具TCON、TDISCON 和 TRCV 指令的功能。
最少可傳送 (TSEND_C) 或接收 (TRCV_C) 一個(gè)字節(jié)的數(shù)據(jù),最多 8192 字節(jié)。TSEND_C 不支持傳送布爾位置的數(shù)據(jù),TRCV_C 也不會(huì)在布爾位置中接收數(shù)據(jù)。有關(guān)使用這些指令傳送數(shù)據(jù)的信息,請(qǐng)參見(jiàn)數(shù)據(jù)一致性部分。
TSEND_C
TSEND_C 可與伙伴站建立 TCP 或 ISO on TCP 通信連接、發(fā)送數(shù)據(jù),并且可以終止該連接。設(shè)置并建立連接后,CPU 會(huì)自動(dòng)保持和監(jiān)視該連接。
TRCV_C
TRCV_C 可與伙伴 CPU 建立 TCP 或 ISO on TCP 通信連接,可接收數(shù)據(jù),并且可以終止該連接。設(shè)置并建立連接后,CPU 會(huì)自動(dòng)保持和監(jiān)視該連接。
TSEND_C 指令需要通過(guò) REQ 輸入?yún)?shù)的上升沿來(lái)啟動(dòng)發(fā)送作業(yè)。然后,BUSY 參數(shù)在處理期間會(huì)設(shè)置為 1。發(fā)送作業(yè)完成時(shí),將通過(guò) DONE 或 ERROR 參數(shù)被設(shè)置為 1 并持續(xù)一個(gè)掃描周期進(jìn)行指示。在此期間,將忽略 REQ 輸入?yún)?shù)的上升沿。
TCON、TDISCON、TSEND 和 TRCV 指令
TCON
TCP 和 ISO on TCP:TCON 啟動(dòng)從 CPU 到通信伙伴的通信連接。
TDISCON
TCP 和 ISO on TCP:TDISCON 終止從 CPU 到通信伙伴的通信連接。
TSEND
TCP 和 ISO on TCP:TSEND 通過(guò)從 CPU 到伙伴站的通信連接發(fā)送數(shù)據(jù)。
TRCV
TCP 和 ISO on TCP:TRCV 通過(guò)從伙伴站到 CPU 的通信連接接收數(shù)據(jù)。
編輯:jq
-
TCP
+關(guān)注
關(guān)注
8文章
1383瀏覽量
79370
原文標(biāo)題:S7_1200 開(kāi)放式用戶通信TCP-IP
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
VCE05系列封裝和開(kāi)放式框架寬輸入AC-DC電源XP?POWER
如何將RS-485通信轉(zhuǎn)換為TCP/IP通信
![如何將RS-485<b class='flag-5'>通信</b>轉(zhuǎn)換為<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>通信</b>](https://file1.elecfans.com/web2/M00/0A/DA/wKgZomcpkdGAZAv_AAAig4iF9xA520.png)
什么是socket編程 socket與tcp/ip協(xié)議的關(guān)系
紫光同芯推出開(kāi)放式架構(gòu)安全芯片E450R
一文了解TCP/IP協(xié)議
![一文了解<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b>協(xié)議](https://file1.elecfans.com/web2/M00/01/F4/wKgaomazJM6AUmLUAAAopE8gQog159.png)
請(qǐng)問(wèn)西門(mén)子S7-1200如何實(shí)現(xiàn)Modbus TCP通訊?
西門(mén)子PLC開(kāi)放式TCP通信原理
西門(mén)子S7協(xié)議與TCP協(xié)議的區(qū)別
西門(mén)子S7-1200 PLC的指令介紹
S7-1200 PLC之間的以太網(wǎng)通信實(shí)現(xiàn)方案
![<b class='flag-5'>S7-1200</b> PLC之間的以太網(wǎng)<b class='flag-5'>通信</b>實(shí)現(xiàn)方案](https://file1.elecfans.com/web2/M00/D8/5E/wKgaomYoeBeAVmKeAAAIWkbhmIM172.jpg)
PLC以太網(wǎng)開(kāi)放式通信概述
![PLC以太網(wǎng)<b class='flag-5'>開(kāi)放式</b><b class='flag-5'>通信</b>概述](https://file1.elecfans.com/web2/M00/C8/B2/wKgZomYd-dqAXWVGAAAbhJr2118225.jpg)
小米新款開(kāi)放式耳機(jī)引領(lǐng)舒適潮流
Bose推出全新Ultra開(kāi)放式耳機(jī),搭載第二代高通S5音頻平臺(tái)
開(kāi)放式高實(shí)時(shí)高性能PLC控制器解決方案-基于米爾電子STM32MP135
S7-1500與CP343-1之間的TCP通信(TIA)配置過(guò)程
![<b class='flag-5'>S7</b>-1500與CP343-1之間的<b class='flag-5'>TCP</b><b class='flag-5'>通信</b>(TIA)配置過(guò)程](https://file1.elecfans.com/web2/M00/C0/8E/wKgZomXWvwCAR9DxAAAW7NmGVCc701.png)
評(píng)論