细述西门子TCP协议与ISO
- 格式:doc
- 大小:130.50 KB
- 文档页数:6
TCPIP与ISOOSI的比较通过前面的讨论,大家已经看到TCP/IP 模型和ISO/OSI模型有许多相似之处。
例如,两种模型中都包含能提供可靠的进程之间端到端传输服务的传输层,而在传输层之上是面向用户应用的传输服务。
尽管ISO/OSI模型和TCP/IP模型基本类似,但是它们还是有许多不同之处。
接下来我们将讨论两种模型的不同之处。
有一点需要特别指出:我们是比较两种参考模型的差异,并不对两个模型中所使用的协议进行比较。
在ISO/OSI参考模型中,有3个基本概念:服务、接口和协议。
也许ISO/OSI模型的最重要的贡献是将这3个概念区分清楚了。
每一层都为其上层提供服务,服务的概念描述了该层所做的工作,并不涉及服务的实现以及上层实体如何访问的问题。
层间接口描述了高层实体如何访问低层实体提供的服务。
接口定义了服务访问所需的参数和期望的结果。
接口仍然不涉及到某层实体的内部机制,而只有不同机器同层实体使用的对等进程才涉及层实体的实现问题。
只要能够完成它必须提供的功能,对等层之间可以采用任何协议。
如果愿意,对等层实体可以任意更换协议而不影响高层软件。
上述思想也非常符合现代的面向对象的程序设计思想。
一个对象(如模型中的某一层),有一组它的外部进程可以使用的操作。
这些操作的语义定义了对象所能提供的服务的集合。
对象的内部编码和协议对外是不可见的,也与对象的外部世界无关。
TCP/IP模型并不十分清晰地区分服务、接口和协议这些概念。
相比TCP/IP模型,ISO/OSI 模型中的协议具有更好的隐蔽性并更容易被替换。
ISO/OS I参考模型是在其协议被开发之前设计出来的。
这意味着ISO/OSI模型并不是基于某个特定的协议集而设计的,因而它更具有通用性。
但另一方面,也意味着ISO/OSI模型在协议实现方面存在某些不足。
而TCP/IP模型正好相反。
先有协议,模型只是现有协议的描述,因而协议与模型非常吻合。
问题在于TCP/IP模型不适合其他协议栈。
OSI及TCP/IP的概念和区别什么是TCP/IP协议TCP/IP协议(Transfer Controln Protocol/Internet Protocol)叫做传输控制/网际协议,又叫网络通讯协议,这个协议是Internet国际互联网络的基础。
TCP/IP是网络中使用的基本的通信协议。
虽然从名字上看TCP/IP包括两个协议,传输控制协议(TCP)和网际协议(IP),但TCP/IP实际上是一组协议,它包括上百个各种功能的协议,如:远程登录、文件传输和电子邮件等,而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。
通常说TCP/IP是Internet协议族,而不单单是TCP和IP。
TCP/IP是用于计算机通信的一组协议,我们通常称它为TCP/IP协议族。
它是70年代中期美国国防部为其ARPANET广域网开发的网络体系结构和协议标准,以它为基础组建的INTERNET是目前国际上规模最大的计算机网络,正因为INTERNET的广泛使用,使得TCP/IP成了事实上的标准。
之所以说TCP/IP是一个协议族,是因为TCP/IP协议包括TCP、IP、UDP、ICMP、RIP、TELNETFTP、SMTP、ARP、TFTP等许多协议,这些协议一起称为TCP/IP协议。
以下我们对协议族中一些常用协议英文名称和用途作一介绍:TCP(Transport Control Protocol)传输控制协议IP(Internetworking Protocol)网间网协议UDP(User Datagram Protocol)用户数据报协议ICMP(Internet Control Message Protocol)互联网控制信息协议SMTP(Simple Mail Transfer Protocol)简单邮件传输协议SNMP(Simple Network manage Protocol)简单网络管理协议FTP(File Transfer Protocol)文件传输协议ARP(Address Resolation Protocol)地址解析协议从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网间网层、传输层、应用层。
一:TCP 协议通讯(一)S7 200 SMART之间的TCP通讯TCP是一个因特网核心协议。
在通过以太网通信的主机上运行的应用程序之间,TCP 提供了可靠、有序并能够进行错误校验的消息发送功能。
TCP 能保证接收和发送的所有字节内容和顺序完全相同。
TCP 协议在主动设备(发起连接的设备)和被动设备(接受连接的设备)之间创建连接。
一旦连接建立,任一方均可发起数据传送。
TCP协议是一种"流"协议。
这意味着消息中不存在结束标志。
所有接收到的消息均被认为是数据流的一部分。
S7 200 SMART与之间的TCP通讯可以通过两边调用OUC(开放式用户通讯)指令库中的TCP_CONNECT、TCP_SEND、TCP_RECV、DISCONNECT指令来实现。
图1.开放式用户通讯库开放式用户通信库需要使用 50 个字节的 V 存储器。
开放式的用户通讯连接资源包括8个主动连接和8个被动连接。
只可从主程序或中断例程中调用库函数,但不可同时从这两个程序中调用。
所需条件:1、软件版本:STEP 7-Micro/WIN SMART V2.22、SMART CPU固件版本:V2.23、通讯硬件:TP电缆(以太网电缆)所完成的通讯任务:将作为客户端的PLC(IP地址为192.168.0.101)中VB0-VB3的数据传送到作为服务器端的PLC(IP地址为192.168.0.102)的VB2000-VB2003中。
S7-200 SMART 客户端编程1、设置本机IP地址在客户端设置IP地址为192.168.0.101图2.设置IP地址2、建立TCP连接调用TCP_CONNECT指令建立TCP连接。
设置连接伙伴地址为192.168.0.102,远端端口为2001,本地端口为5000,连接标识ID为1。
利用SM0.0使能Active,设置为主动连接。
图3.调用TCP_CONNECT指令指令的参数输入参数:EN :使能输入Req:沿触发Active :TURE=主动连接(客户端)FALSE=被动连接(服务器)ConnID:连接ID为连接标识符,可能范围为0-65534。
1.概述1.1 S7-1200 的PROFINET 通信口S7-1200 CPU 本体上集成了一个PROFINET 通信口,支持以太网和基于TCP/IP 的通信标准。
使用这个通信口可以实现S7-1200 CPU 与编程设备的通信,与hmi触摸屏的通信,以及与其它CPU 之间的通信。
这个PROFINET 物理接口是支持10/100Mb/s的RJ45口,支持电缆交叉自适应,因此一个标准的或是交叉的以太网线都可以用于这个接口。
1.2 S7-1200支持的协议和最大的连接资源S7-1200 CPU 的PROFINET 通信口支持以下通信协议及服务• TCP• ISO on TCP ( RCF 1006 )• S7 通信(服务器端)通信口所支持的最大通信连接数S7-1200 CPU PROFINET 通信口所支持的最大通信连接数如下:• 3个连接用于HMI (触摸屏) 与CPU 的通信• 1个连接用于编程设备(PG)与CPU 的通信• 8个连接用于Open IE ( TCP, ISO on TCP) 的编程通信,使用T-block 指令来实现• 3个连接用于S7 通信的服务器端连接,可以实现与S7-200,S7-300以及S7-400 的以太网S7 通信S7-1200 CPU可以同时支持以上15个通信连接,这些连接数是固定不变的,不能自定义。
TCP(Transport Connection Protocol)TCP是由RFC 793描述的标准协议,可以在通信对象间建立稳定、安全的服务连接。
如果数据用TCP协议来传输,传输的形式是数据流,没有传输长度及信息帧的起始、结束信息。
在以数据流的方式传输时接收方不知道一条信息的结束和下一条信息的开始。
因此,发送方必须确定信息的结构让接收方能够识别。
在多数情况下TCP应用了IP (Internet protocol) ,也就是“TCP/IP 协议”,它位于ISO-OSI 参考模型的第四层。
OSI与TCP IP模型一(图)2009-07-16 21:551 OSI参考模型谈到网络不能不谈OSI参考模型,虽然OSI参考模型的实际应用意义不是很大,但其的确对于理解网络协议内部的运作很有帮助,也为我们学习网络协议提供了一个很好的参考。
在现实网络世界里,TCP/IP协议栈获得了更为广泛的应用。
1.1 OSI参考模型的分层结构OSI参考模型(OSI/RM)的全称是开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM),它是由国际标准化组织(International Standard Organization,ISO)提出的一个网络系统互连模型。
OSI参考模型采用分层结构,如图1-1所示。
图1-1 OSI参考模型在这个OSI七层模型中,每一层都为其上一层提供服务、并为其上一层提供一个访问接口或界面。
不同主机之间的相同层次称为对等层。
如主机A中的表示层和主机B中的表示层互为对等层、主机A中的会话层和主机B中的会话层互为对等层等。
对等层之间互相通信需要遵守一定的规则,如通信的内容、通信的方式,我们将其称为协议(Protocol)。
我们将某个主机上运行的某种协议的集合称为协议栈。
主机正是利用这个协议栈来接收和发送数据的。
OSI参考模型通过将协议栈划分为不同的层次,可以简化问题的分析、处理过程以及网络系统设计的复杂性。
OSI参考模型的提出是为了解决不同厂商、不同结构的网络产品之间互连时遇到的不兼容性问题。
但是该模型的复杂性阻碍了其在计算机网络领域的实际应用。
与此对照,后面我们将要学习的TCP/IP参考模型,获得了非常广泛的应用。
实际上,也是目前因特网范围内运行的唯一一种协议。
1.2 OSI参考模型中各层的作用在OSI参考模型中,从下至上,每一层完成不同的、目标明确的功能。
1、物理层(Physical Layer)物理层规定了激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。
osi模型和tcpip模型区别osi模型和tcp/ip模型是计算机网络中两个重要的参考模型,它们都是为了规范和标准化网络通信而设计的。
虽然这两个模型都有类似的目标,但它们在细节上存在一些区别。
本文将详细介绍osi模型和tcp/ip模型的区别。
1. 结构层次osi模型由国际标准化组织(ISO)在20世纪80年代提出,共分为7个层次,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
每个层次都有不同的功能和任务,它们通过接口相互连接,形成一个完整的通信协议栈。
相比之下,tcp/ip模型是一个更简洁的四层模型,包括网络接口层、网络层、传输层和应用层。
tcp/ip模型将osi的第一层和第二层合并为网络接口层,第三层到第五层合并为应用层,从而减少了层次的复杂性。
2. 协议不同osi模型是一个参考框架,没有规定具体的协议,只是提供了一种分层思想和标准。
不同的网络协议可以在不同的层次上实现,只要满足相应层次的功能即可。
相比之下,tcp/ip模型具有更明确的协议定义。
它定义了一系列的协议,如IP协议、TCP协议、UDP协议等,每个协议在tcp/ip模型的特定层次上工作。
3. 发展历史osi模型是从理论上提出的第一个完整的网络参考模型。
然而,在实际应用中,osi模型并没有得到广泛的采用,主要是因为其层次过于复杂,实现和维护比较困难。
相比之下,tcp/ip模型是在实践中逐渐形成的。
它基于早期的arpnet 和darpanet网络协议,经过多年的发展和完善逐渐成为现代互联网的基础。
4. 应用范围osi模型的设计初衷是为所有类型的计算机网络提供一个统一的标准,可以适用于各种不同的网络环境。
相比之下,tcp/ip模型主要用于互联网通信。
由于tcp/ip协议在互联网上得到广泛应用,tcp/ip模型也成为当前网络通信的事实标准。
5. 接口设计osi模型的每个层次都有接口定义,不同层次之间通过这些接口进行通信。
使用 ISO on TCP 协议通信
ISO on TCP 协议通信的连接配置
使用ISO on TCP 协议通信,除了连接参数的定义不同,其它组态编程与TCP 协议通信完全相同,见通信的编程,连接参数及通信参数的配置S7-1200 CPU中,使用ISO on TCP协议通信时,PLC_1的连接参数如图1.所示。
通信伙伴PLC_2的连接参数,如图2.所示。
图1. PLC_1的ISO on TCP协议通信连接参数
图2. PLC_2的ISO on TCP协议通信连接参数
ISO on TCP 动态长度数据传输
ISO on TCP协议支持动态长度的数据传输。
创建接收和发送DB块,可是优化寻址方式或实际地址方式。
1.通信数据区的定义
发送方的数据块通信数据区定义为6个字节,如图3.所示
图3.发送方数据块通信数据区的定义
接收方的数据区也定义为6个字节,如图4. 所示
图4.接收方数据块通信数据区的定义
2.编程
发送方的程序如图所示,“LEN”参数要定义成变量100。
图5.发送方的编程
接收方的程序如图所示,“LEN”参数赋一个常数“0”,以便实现动态数据长度传输。
注意要创建符号寻址方式的DB块
图6.接收方的编程
动态长度数据传输:
l要实现动态长度数据传输,需要将接收方的数据长度设为0。
l如果发送方数据长度“TSENDC_LEN"设为100,则传送100个字节给接收方;
l
监控结果:。
OSI参考模型OSI RM:开放系统互连参考模型(open systeminterconnection reference model)OSI参考模型具有以下优点:•简化了相关的网络操作;•提供设备间的兼容性和标准接口;•促进标准化工作;•结构上可以分隔;•易于实现和维护。
20世纪60年代以来,计算机网络得到了飞速增长。
各大厂商为了在数据通信网络领域占据主导地位,纷纷推出了各自的网络架构体系和标准,如IBM公司的SNA,Novell IPX/SPX协议,Apple公司的AppleTalk协议,DEC公司的DECnet,以及广泛流行的TCP/IP协议。
同时,各大厂商针对自己的协议生产出了不同的硬件和软件。
各个厂商的共同努力促进了网络技术的快速发展和网络设备种类的迅速增长。
但由于多种协议的并存,也使网络变得越来越复杂;而且,厂商之间的网络设备大部分不能兼容,很难进行通信。
为了解决网络之间的兼容性问题,帮助各个厂商生产出可兼容的网络设备,国际标准化组织ISO于1984年提出了OSI RM(OpenSystem Interconnection Reference Model,开放系统互连参考模型)。
OSI 参考模型很快成为计算机网络通信的基础模型。
在设计OSI 参考模型时,遵循了以下原则:各个层之间有清晰的边界,实现特定的功能;层次的划分有利于国际标准协议的制定;层的数目应该足够多,以避免各个层功能重复。
OSI分层通常OSI参考模型第一层到第三层称为底层(lower layer),又叫介质层(media layer),底层负责数据在网络中的传送,网络互连设备往往位于下三层,以硬件和软件的方式来实现。
OSI参考模型的第五层到第七层称为高层(upper layer),又叫住几层(host layer),高层用于保障数据的正确传输,以软件方式来实现。
OSI七层功能:TCP/IP协议栈由于OSI模型和协议比较复杂,所以并没有得到广泛的应用。
一:TCP 协议通讯(一)S7 200 SMART之间的TCP通讯TCP是一个因特网核心协议。
在通过以太网通信的主机上运行的应用程序之间,TCP 提供了可靠、有序并能够进行错误校验的消息发送功能。
TCP 能保证接收和发送的所有字节内容和顺序完全相同。
TCP 协议在主动设备(发起连接的设备)和被动设备(接受连接的设备)之间创建连接。
一旦连接建立,任一方均可发起数据传送。
TCP协议是一种"流"协议。
这意味着消息中不存在结束标志。
所有接收到的消息均被认为是数据流的一部分。
S7 200 SMART与之间的TCP通讯可以通过两边调用OUC(开放式用户通讯)指令库中的TCP_CONNECT、TCP_SEND、TCP_RECV、DISCONNECT指令来实现。
图1.开放式用户通讯库开放式用户通信库需要使用50 个字节的V 存储器。
开放式的用户通讯连接资源包括8个主动连接和8个被动连接。
只可从主程序或中断例程中调用库函数,但不可同时从这两个程序中调用。
所需条件:1、软件版本:STEP 7-Micro/WIN SMART2、SMART CPU固件版本:3、通讯硬件:TP电缆(以太网电缆)所完成的通讯任务:将作为客户端的PLC(IP地址为)中VB0-VB3的数据传送到作为服务器端的PLC(IP地址为)的VB2000-VB2003中。
S7-200 SMART 客户端编程1、设置本机IP地址在客户端设置IP地址为图2.设置IP地址2、建立TCP连接调用TCP_CONNECT指令建立TCP连接。
设置连接伙伴地址为,远端端口为2001,本地端口为5000,连接标识ID为1。
利用使能Active,设置为主动连接。
图3.调用TCP_CONNECT指令指令的参数输入参数:EN :使能输入Req:沿触发Active :TURE=主动连接(客户端)FALSE=被动连接(服务器)ConnID:连接ID为连接标识符,可能范围为0-65534。
S7-200 SMART CPU与S7-1200 CPU集成PN口的ISO on TCP通信S7-200 SMART CPU与S7-1200 CPU 通过ISO on TCP 通信,需要在双方都建立连接。
在S7-1200调用T-block 指令(TCON, TDISCON, TSEND, TRCV) 、在S7-200SMART调用Open User Communication库指令(ISO_CONNECT,DISCONNECT,TCP_SEND,TCP_RECV)来实现。
通信方式为双边通信,因此双方的发送和接收指令必须成对出现。
注意:S7-200 SMARTPLC V2.2 版本才开始支持ISO on TCP通信,早期版本的CPU需要升级固件后方可支持ISO on TCP。
1、S7-200 SMART 作为服务器硬件①S7-1200 CPU(IP地址:192.168.0.3 子网掩码:255.255.255.0)②S7-200 SMART CPU (固件V2.2)(IP地址:192.168.0.2 子网掩码:255.255.255.0)③PC(带以太网卡)④TP以太网电缆软件:①STEP7 V13 SP1②STEP 7 Micro/WIN SMART V2.2所完成的通信任务:①S7-1200 将通信数据区DB11 中的200 个字节发送到S7-200 SMART的VB 数据区。
②S7-1200 读取S7-200 SMART中的VB数据区存储到S7-1200 的数据区DB121.1、S7-200 SMART 作为服务器1)S7-1200侧硬件组态和编程使用TIA V13 软件新建一个项目,添加1个S7-1200站点并为其分配网络和IP 地址,如图1.所示图1 组态S7-1200并分配IP地址为编程方便,使用CPU属性中定义的时钟位,在设备视图双击CPU设置"系统和时钟存储器",如图2所示。
细述西门子TCP协议与ISO-on-TCP 协议
TCP协议能提供什么样的属性、优势和特殊功能?
描述:
如果数据用TCP协议来传输, 传输的形式是数据流,没有传输长度及信息帧的起始、结束信息。
在以数据流的方式传输时接收方不知道一条信息的结束和下一条信息的开始。
因此 , 发送方必须确定信息的结构让接收方能够识别。
信息结构可能包含有数据后面的控制字符(如回车),表示信息的结束。
在多数情况下TCP应用了IP (Internet protocol) 这就是人们常谈论的"TCP/IP 协议". 它位于ISO-OSI 参考模型的第四层。
图01 - ISO-OSI 参考模式的位置图
套结字和端口号:
描述:
ISO传输协议最大的优势是通过数据包来进行数据传递。
然而,由于网络的增加,不支持路由功能的劣势会逐渐体现。
TCP/IP 协议兼容了路由功能后,对以太网产生了重要的影响。
为了集合了两个协议的优点,在扩展的RFC1006 (RFC = Request for Comments) "ISO on top of TCP"作了注释, 也称为"ISO on TCP",即在TCP/IP 协议中定义了ISO 传输的属性。
ISO-on-TCP 也是位于ISO-OSI 参考模型的第四层,并且默认的数据传输端口是102。
此协议可以用在当前的 SIMATIC S7 模块, SIMATIC PC ,并且也可以在SIMATIC S5 中插入CP 1430 TCP使用。
图. 01 - 在ISO-OSI参考模型中的位置
协议服务:
Send/Receive
∙单独的路由器的组态/设置的要求(路由器必须在CP的硬件配置中被设置) 注意:
∙条目ID 20987359提供了一个通过ISO-on-TCP协议通讯的例子。
∙ SIMATIC S7 通讯的基本信息可参见条目ID 20982954。