北岛夜话
原创工业智能控制领域(PLC、单片机/嵌入式、机器人、通信、机器视觉)的技术及经验分享。
文章528 浏览8043154

ISO传输协议、ISO-ON-TCP协议和TCP协议有什么不同?

工业通信中有各种各样的协议,比如,当我们为西门子CP模块新建传输协议的时候,很多种类可以选择,如下图:

protocols.png

这些通信协议,究竟有哪些不同?我们应该如何根据实际情况进行选择?今天,我们就来聊聊西门子工业通信中常见的ISO传输(ISO transport)协议、ISO-ON-TCP协议和TCP协议。

cover2.png

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。如下图:

net_iso-on-tcp_protocol.gif

与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设置:

TSAP-ISO-ON-TCP.png

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。如下图:

TCP_IP_Port.png

好了,关于ISO传输、ISO-ON-TCP和TCP协议就先聊到这里,更多技术文章请登录官网(www.founderchip.com)。


已经过安全软件检测无毒,请您放心下载。

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论