1.S5兼容的通信概述
S5兼容的通信服务包括PROFIBUS的FDL,和以太网的TCPIP、ISO传输、ISO-on-TCP和UDP,它们的组态和编程的方法基本上相同。TCPIP、ISO传输和1SO-on-TCP可以发送和接收8KB(8192B)数据,UDP可以发送和接收2KB(2048B)数据。
需要在STEP7中为SS兼容的通信组态静态连接。在站点启动时,连接被立即建立。
在SIMATICS7中,调用功能FC5AGSEND和FC6AGRECV来实现SS兼容的通信。
2.网络协议
网络协议是网络上所有的设备(网络服务器、计算机、交换机、路由器、防火墙等)之间通信规则的集合,它定义了通信时信息必须采用的格式和这些格式的意义。大多数网络都采用分层的体系结构,每一层都建立在它的下一层之上,向它的上一层提供一定的服务,而把如何实现这一服务的细节对上一层加以屏蔽。一台设备的第n层与另一台设备的第n层进行通信的规则就是第n层协议。
图10-16 OSI模型中的网络协议
在OSI参考模型各层中有许多协议,接收方和发送方同一层的协议必须一致,否则无法识别通信伙伴发出的信息。网络协议使网络上各种设备能相互交换信息。图10-16是7层OSI参考模型中的网络协议,IP位于第3层,TCP和UDP位于第4层,应用层是OSI模型中的第7层。应用层负责处理特定的应用程序细节,常用的应用协议有:
● HHTP超文本传输协议。
● FTP文件传输协议。
● SMTP简单邮件传输协议。
● Telnet远程登陆协议。
● NFS网络文件系统。
● SNMP简单网络管理协议。
3.TCP/IP服务
TCP/IP是“Transmission Control Protocol/InternetProtocol”的简写,中文译名为“传输控制协议/网际协议”。TCP/IP规范了网络上所有的通信设备,尤其是一个主机与另一个主机之间的数据交换的格式,以及传送方式。TCP/IP是互联网的基础协议,也是一种数据打包和寻址的标准方法。通过TCP连接和SEND/RECEIVE接口,以太网卡可以提供和几乎所有的终端(PC或其他系统)相连的接口。
TCP/P服务可以用于S7-300/400与PC或非西门子公司系统的通信,将Zui多8KB的连续数据块从一个以太网节点传送到另一个以太网节点,数据的接收由通信伙伴确认。
(1)IP
IP(网际协议)是OSI参考模型第3层的协议,主要用于在整个网络中寻址,通过32位IP地址寻址主机。数据包被分割为多个小的单元发送,并且在目的主机中重新组合,数据包Zui大为65535B。传输时间监视可以防止传输过程中的死循环。通过生成校验和来验证数据报头的传输是否正确。IP并不检查数据传输的正确性,也不提供确认和纠错机制。
(2)TCP
TCP(传输控制协议)是OSI参考模型第4层的协议,用于在两个站点之间建立逻辑的(虚拟的)全双工连接。TCP是面向连接的端到端协议,通过使用TCP端口号,提供多路复用技术功能。节点之间的数据通信是面向连接的,连接到端点上的每一个站原则上在任何时刻都有权利发送数据。S7-300/400通过工业以太网和通信块AG_SEND/AG_RECV提供TCP ISO、ISO-on-TCP和UDP通信服务。
(3)TCP/IP的可靠性措施
TCP/P通过序列编号、校验和、流量控制、定时监视、错误检测和纠正传输错误(数据的丢失、重复和损坏)的机制,确保了数据传输的Zui优化和准确性。在传输出错时重复发送数据。接收器通过循环冗余校验算法(CRC)检查接收到的数据的完整性,并确认数据的接收,发送端将在SEND/RECEIVE接口上收到一个返回值。
(4)TCP/IP的数据传输过程
TCP是基于连接的协议,在正式收发数据之前,必须和对方建立可靠的连接。下面对通信过程作简单的介绍:
1)主机A向主机B发送连接请求数据包。
2)主机B向主机A发送同意连接和要求同步的数据包,同步是指两台主机一个在发送一个在接收,协调工作。
3)主机A再发送一个数据包确认主机B要求的同步。经过上述“对话”之后,主机A才向主机B正式发送数据。
TCP能为应用程序提供可靠的通信连接,使一台计算机发送的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统应使用TCP传输数据。
4.ISO传输服务A站
ISO协议符合ISO8073标准,作为一种开放的协议,通过组态的连接,实现数据的安全通信。ISO传输用于在组态的连接上进行可靠的数据传送,它将数据分段,可以传送大量的数据。S7PLC可以与具有以太网CP的S7/S5PLC、PC/PG和使用ISO传输协议的系统通信,ISO传输连接上的数据传输是双向的。ISO传输对应于ISO参考模型的第4层(传输层),仅适用于工业以太网。ISO传输服务保证数据传输及数据的完整性的方法与TCP/IP的相同。ISO传输协议的通信过程如下(见图10-17):
图10-17 ISO 传输协议的传输过程
1)建立连接A站发出通信请求,B站返回连接确认,A站发出应答。
2)数据传输A站发送数据,B站收到后返回确认应答。
3)断开连接A站发送断开连接请求,B站返回确认报文,连接被断开。
5.ISO-on-TCP服务
ISO-on-TCP主要用于可靠的网际数据传输,符合TCP/P标准,并根据ISO多考模型的第4层,增加了RFC1006协议,可以改变长度的数据传输是通过RFC1006实现的。RFC1006将ISO第4层的服务映射到TCP。RFC是Requests forComments(请求说明)的缩写,是数据通信领域事实上的工业标准。由于自动重发和附加的块校验机制(CRC校验),ISO-on-TCP的传输可靠性极高。通信伙伴将确认数据的接收,发送端将收到一个返回值。
通过以太网和ISO-on-TCP连接,SIMATICS7PLC可以与支持ISO-on-TCP连接的S7/S5PLC、PC/PG和非西门子公司的系统通信,Zui多可以发送8KB数据。可以使用SEND/RECEIVE和FETCH/WRITE等功能来传送数据。
在符合RFC1006标准的SIMATIC设备之间,推荐使用这种通信连接。
6.UDP服务
UDP是User DatagramProtocol(用户数据报协议)的简称,UDP提供简单的跨网络数据传输通信服务(数据报服务),UDP没有数据确认报文,不检测数据传输的正确性,属于OSI模型的第4层。必须的可靠性措施由应用层提供,可以将Zui大2KB的连续数据块从一个以太网节点传送到另一个以太网节点。由于不发送对接收到的数据的确认报文,UDP通信并不可靠。UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。
UDP服务可以用于工业以太网、电话网或互联网,与支持UDP通信的PC或非西门子公司的系统的通信伙伴通信,UDP服务也需要建立连接。
由于报文头短、没有传输应答和超时监控,UDP比TCP更适合于对传输时间要求较高的应用。通过UDP连接,可以实现广播(向网络中所有站点发送消息)和多点传送(向网络中的多个站点发送消息)。空闲(free)的UDP连接用发送的数据的前6个字节来定义接收站的端口地址和IP地址。
在7层OSI参考模型中,TCP和UDP在IP之上,使用TCP、ISO-on-TCP和UDP的S5兼容的通信必须设置IP地址,可以不设置MAC地址。ISO传输必须设置MAC地址。