ISO傳輸協議、ISO-ON-TCP協議和TCP協議有什麼不同?

工業通信中有各種各樣的協議,比如,當我們為西門子CP模塊新建傳輸協議的時候,很多種類可以選擇,如下圖:

這些通信協議,究竟有哪些不同?我們應該如何根據實際情況進行選擇?今天,我們就來聊聊西門子工業通信中常見的ISO傳輸(ISO transport)協議、ISO-ON-TCP協議和TCP協議。

ISO傳輸(ISO transport)協議是西門子早期的乙太網協議,基於ISO 8073 TP0(Transport Protocol Class0),位於ISO-OSI參考模型的第四層,屬於傳輸層的協議。ISO傳輸協議是基於消息的數據傳輸,允許動態修改數據長度;傳輸速度快,適合中等或較大量的數據;站點之間的ISO傳輸不使用IP地址,而是基於MAC地址,因此數據包不能通過路由器進行傳遞(不支持路由);另外ISO傳輸協議是西門子內部的乙太網協議,僅適用於SIMATIC系統。兩個SIMATIC站點之間的數據發送和接收使用Send/Recive,伺服器的讀寫使用Fetch/Write服務。

ISO傳輸(ISO Transport)協議最大的優勢是通過數據包來發送/接收數據,但由於它不支持路由功能,隨著網路節點的增加,ISO傳輸協議的劣勢逐漸顯現。

為了應對日益增加的網路節點,西門子在ISO傳輸協議的基礎上增加了TCP/IP協議的功能,新的協議對擴展的RFC1006 「ISO on top of TCP」 進行了注釋(RFC為Request For Comments的縮寫),因此被稱為 「ISO-ON-TCP」協議。

ISO-ON-TCP在TCP/IP 協議中定義了ISO 傳輸的屬性,位於ISO-OSI 參考模型的第四層,默認的數據傳輸埠為102。如下圖:

與ISO傳輸協議相同,ISO-ON-TCP協議的兩個SIMATIC站點之間的數據發送和接收也使用Send/Recive,伺服器的讀寫使用Fetch/Write。

在ISO傳輸協議和ISO-ON-TCP協議的使用過程中,還涉及到TSAP的設置。

TSAP是英文「Transport Service Access Point」的縮寫,中文翻譯為「傳輸服務訪問點」。在一個傳輸的鏈接中,可能存在多個進程。為了區分不同進程的數據傳輸,需要提供一個進程獨用的訪問點,這個訪問點,被稱為TSAP。在兩個站點的同一個傳輸鏈接中,如果只存在一個傳輸進程,則本地和遠程的TSAP可以相同;如果存在多個傳輸進程,則TSAP必須唯一;TSAP相當於TCP或UDP協議中的埠(port)。

S7-300/400支持的TSAP長度為1~16位,用戶使用的TSAP長度應在3位以上,2位以內的留作系統內部使用。TSAP可以是ASCII碼或者十六進位的形式,如下圖是ISO-ON-TCP的TSAP設置:

ISO-ON-TCP協議的優勢是能傳輸大量的數據並且支持路由功能,但是它僅適用於SIMATIC系統,只能在西門子內部使用,在一定程度上限值了其應用。西門子認識到這一問題,最終提供了對TCP/IP協議的全面支持。

TCP/IP是全球範圍內廣泛使用的乙太網協議,TCP全稱「Transmission Control Protocol(傳輸控制協議)」,屬於ISO-OSI參考模型的第四層(UDP也位於該層);IP協議位於第三層;

TCP/IP提供站點之間的可靠傳輸,具有回傳機制,支持路由功能,可用於西門子SIMATIC系統內部及SIMATIC與PC或其它支持TCP/IP的系統通信。兩個站點之間的數據發送和接收也使用Send/Recive,伺服器的讀寫使用Fetch/Write。

TCP/IP的通信需要設置本地和遠程IP地址,以及與進程相關的埠號(port number),埠號的範圍從1025~65535。如下圖:

好了,關於ISO傳輸、ISO-ON-TCP和TCP協議就先聊到這裡,更多技術文章請登錄官網(founderchip.com)。


推薦閱讀:

如何在博途(TIA Portal)環境下組態PNPN耦合器?
如何選擇三菱Q系列PLC的電源模塊?
為什麼Profinet的分散式模塊要有設備名?
PLC基礎篇之S7-300/400的計數器指令
INTERBUS匯流排基於何種拓撲結構?有哪些特點?

TAG:电气工程 | 电气自动化 | 电气工程及其自动化专业 |