Login
升级VIP 登录 注册 安全退出
当前位置: 首页 > word文档 > 合同模板 > PROFINET协议深入探讨,profinet协议

PROFINET协议深入探讨,profinet协议

收藏

本作品内容为PROFINET协议深入探讨,格式为 doc ,大小 28200 KB ,页数为 4页

PROFINET协议深入探讨


('·PROFINET协议深入探讨刚开始接触PROFINET的时候,还不知道从哪里入手,东瞧瞧,西看看,最终觉得还是从协议入手,可是那个时候的我也是刚刚入职不久,说实话,协议是什么不是很懂。胶片和手册中都提到PROFINET协议和TCP协议可以并存,里面也提到和TCP协议做对比,还提到建立通信连接是通过UDP协议的,而PNIORT通信是不需要TCP和UDP协议的,当时看到这样的话,也是一头雾水,到底PN和TCP/UDP协议到底有什么关联呢?两者到底是怎样工作在PN通信中的?带着这样的疑问,我想刚刚使用VB通过Socket来编写TCP协议与TDC通信,还是先了解一下TCP/IP协议吧,毕竟我还是觉得自己更加的熟悉,(就自以为是了,哈哈!),然而却陷入了TCP/IP的陷阱,这是一个比PN难百倍的协议。经历在技术支持工作超过15年,我也不敢说我精通TCP/IP协议,我只能说略懂,嗯,对,略懂而已!手册和胶片中常常说TCP的协议特点,如下:遵循RFC793,是开放式协议可靠的,面向连接的,字节流的点对点通讯协议IP即网际协议,负责将消息从一个主机传送到另一个主机。在传送的过程中可能被分割成一个个的小包在接收端收到后再根据顺序号将其正确地还原,保证了数据包在传送中准确无误数据包正确的到达后,发送方得到这些分段的一个应答错误,重复以及丢失会重新发送数据通过“滑动窗口”进行流量控制通过端口号可实现多路复用下面我就通过对TCP/IP略懂的知识,给大家介绍一下,TCP/IP协议是怎样的一种协议。作为开放式协议,显而易见,你也可以用,我也可以用,无论是西门子还是第三方设备,只要支持TCP/IP都遵循RFC793,即都可以相互通信。对比S7协议,这是西门子自己独有的协议,只有西门子自己支持自己产品间的通信,所以不是开放式的协议。面向连接,指的是TCP/IP通信是要先建立连接的,然后才能数据交换,建立连接的方式就是我们常常听到的所谓的三次握手。字节流的通信,大家会觉得这三个字很简单,首先,其它协议交换的数据信息都可以以字节为单位,那么关键在于“流”这个字眼。看到这个字,大家的脑海里闪现的肯定是液体,或者首先想到的是水,那么TCP/IP似水一样的流动,向接收端发送字节流,既然像水,接收端就像一个容器,接收这些水,那么你会区别这里面的水,哪些是先倒入的,哪些是后倒入的?显而易见,你无法区分,所以才会有你在TCP/IP通信的时候,处理可变数据长度时的尴尬。对于IP协议,这个TCP协议为啥还要关联IP协议,总是凑成TCP/IP协议呢?这个IP协议的作用是大的很呢,可以说法力无边!这要从ISO/OSI参考模型的第三层说起,第三层IP的主要作用有两点,第一点是选路,也就是我们常说的路由,帮助IP数据从一个网段路由到另一个网段,这时IP地址就有用了。第二点就是分片,作为工控工程师,我们在做以太网通信时,应该知道以太网帧数据的长度是46-1500Bytes,这是由以太网的物理特性决定的,通常1500Bytes被称为数据链路层的最大传输单元,即MTU。IP的数据报文从理论上最大可以传输64KB数据,但是在以太网上的传输数据长度却不能,所以IP数据报大于1500B时,即大于MTU,发送方的IP报文即会被分解成若干片,这样每一片都小于或等于MTU的大小。而接收方则对这些报文的分片进行重组。然而,由于可能网络中各种状况的出现,例如其中一片丢失,整个IP报就不能完成重组,整个IP报就会丢弃,所以IP报是不可靠的传输协议。那这时大家会有疑问了,不是说TCP/IP是可靠的传输协议吗?这到底是怎么回事儿?那需要我们说说TCP到底是怎么工作的,TCP采用了尽量分片的方法,避免IP在MTU分片所造成的不可靠的数据传输,这样也就避免了IP分片所造成数传时的数据丢失,增加重传数据包的机率。前面提到TCP通信需要建立通信连接,3次握手,在握手的时候,双方就协商了MSS的大小,即MaximumSegmentSize,也就是双方确定TCP最大分节长度。这个值用来告诉对方,能够发送TCP分节的大小。而这个值是取其链路层MTU大小减去TCP头部大小和IP头部大小,即MSS=MTU-TCP头部大小-IP头部大小。这样对于以太网的MSS的最大长度为1500-20-20=1460Bytes。这样TCP的数据每次发送都不会超过1460B,到了数据链路层不会超过MTU的大小,那么IP报自然不会进行分片传输,这样就减少了TCP/IP重传的机率。TCP可靠的数据传输,除了MSS的协商机制,那么还有一个重要的特性就是序列号确认机制,这两个特性基本上可以保证数据的可靠传输。在TCP分节报文中,包含顺序号和应答号的字段,数据重传和数据应答机制的基本前提就是对每个传输字节进行编号,即顺序号SequenceNumber。顺序号表示发送方已发送字节流的计数,接收方在成功接收到一个有效数据包后,发送一个确认应答数据包给发送方,应答数据包中包含的应答号AckNumber即指已接收的数据长度+1,或者说已接收到的数据中的最后一个字节的序列号+1,表示已期望接收的下一个字节的序列号。这个机制可以解决诸如数据在传输过程中破坏的问题,处理接收重复数据的问题,数据丢失的问题,以及处理接收端数据乱序的问题等等来保证可靠的数据传输。对于“滑动窗口”,这也是TCP/IP通信的一个特点,在TCP通要建立通信连接,3次握手的时候,不仅仅双方协商了MSS的大小,也协商了WindowSize的大小。接收端的容器,水总会有注满的时候,所以通过不断向发送端告知容器还有多少的剩余,也就是自己窗口的大小,通知发送端,根据我的接收能力,你还能发送多少数据给我,这就是流量的控制。这个流量控制对于TCP/IP通信的通信速度影响很大,如果你需要你的TCP/IP通信快速,那你就需要保证你的接收侧的滑动窗口始终有富余,唯一的办法就是接收一定要比发送快!对于端口号的多路复用,这里给大家举一个例子,1500PLC是集成WebServer的,你可以通过一台PC1的浏览器浏览这个网页服务,默认的端口是80。当然你也可以同时使用另外一台PC2浏览这个网页服务,默认端口仍然是80。这个端口就是在被复用。当然除此之外,还有许多定时器用于TCP/IP可靠的数据传输,例如Keepalive等等,这里就不一一赘述了。然而当看了五花八门的各种概念和协议机制,给了我乱花渐欲迷人眼的感觉,对于理解PN似乎没有什么帮助啊,但是最起码我知道了协议这个概念和工作机制。那么PN也可以套用这些理念的,至少可以做个对比。和大家聊完了TCP/IP,我想可以聊聊PROFINET协议了,然而,突然又想到TCP的一些同胞兄弟,例如UDP,ISOonTCP,以及S7协议,这些协议我觉的也有必要提一提,在我们正式进入PN的世界的时候,我们先做个铺垫吧。毕竟我们不能厚此薄彼,哈。只有这样,大家再看Profinet的时候,我觉得大家会对一些概念不再陌生,大家会更容易理解为什么Profinet是这样的。希望大家那个时候会说:“啊!原来如此!”。首先从ISO/OSI参考模型来说,TCP/IP,ISOonTCP以及UDP协议都位于参考模型的第4层,即传输层,而S7协议基于ISOonTCP位于第7层,即应用层。层级越往上的协议,通常协议的安全性和可靠性就越完善,这是由各个ISO/OSI的各个层次定义的,当然层次越多,通信的速度也会相应的变慢,因为数据从上之下,或者从下至上打包和解包是需要时间的。顺便说一句就是这个ISO/OSI参考模型不仅仅是针对的以太网的通信,是关于所有协议的,例如PROFIBUS-DP,它是基于RS485的,DP协议也有ISO/OSI参考模型的概念,而DP协议位于第7层。虽然S7没有第5层(会话层)和第6层(表示层),但是完善的应用层协议使S7协议更加适用于各种SIMATIC场合,S7协议就是完美的选择。首先在通信的数据量上与TCP/IP持平,最高支持64K字节的数据传输;其次由于其应用层协议,故障报警响应及时,例如发生断线的情况下,两侧的通信即停止,产生报错信息。然而再好的事物也有弱点,首先,数据一致性的范围比较小,对比TCP,S7的数据一致性从240B(S7-300)到480B(S7-400)再到960B(S7-1500),范围较小(这里没有细节讨论,这些数据实际上是S7的PDU大小,并非真正数据一致性的大小),而TCP的数据一致性却高达8KB(这个可是纯数据的长度),其次,由于具有更高的ISO/OSI的层次,相对TCP协议来说,处理应用层的数据的时间相对较长,也就是说通信会慢些,然而这个时间对比会随着通信数据字节的长度而随之延长,可以肯定的是毫秒级的差别。总结来说,瑕不掩瑜,S7协议通信是一个非常优秀的协议,非常实用在SIMATIC产品之间通信。对于TCP/IP来说,对比S7,有些相关的优点和缺点却调换了位置。先说优点,首先TCP/IP是面向连接的,开放的以太网协议,这个协议不仅是SIMATIC的产品在使用,而且第三方的产品也在大量的使用,所以对于与第三方设备通信,TCP/IP协议绝对是首选协议。然而缺点也是很明显,首先,对于数据一致性虽然长度比S7要长很多为8KB,但是S7的数据一致性的数据却可以在CPU的一个周期中传输多次,而TCP/IP的8K数据一致性数据只能在CPU的一个循环中进行传输,也就是说一个CPU循环周期只能最大传输一个TCP/IP的8KB一致性数据,这也意味着TCP/IP通信的时间取决于CPU的周期。第二个缺点就是断线报警的问题,许多用户使用时间节拍的方式来检测通信是否正常就是这个原因,因为TCP工作不会因为断线而停止,即使断线,Done信号仍然会产生,而且产生报警与Keepalive时钟密切相关。总结来说,除了最后一个缺点,TCP/IP仍然是值得大家选择的最通用的协议。那么对于ISOonTCP协议来说,只是在第4层的TCP上加载了ISO协议,原本ISO也是第4层的协议,两者的结合实际上就是相互利用了两者的最大优势。对于ISO协议是没有第3层的IP协议的,所以不能路由,基于IP协议,便可以路由;对于TCP协议,本身是流式传输协议,在可变长度的数据传输时,数据对位会出现问题,这样ISO协议的加入就避免出现这样的问题,因为ISO作为最佳的可变长度的协议,在报文中具有数据长度信息,这是TCP所不具备的。虽然TCP/IP在数据通信的过程中可以使用AD_HOC方式,但是真实的可变长度却是1460B,当超过这个数据长度时,数据对位会非常棘手,此时建议大家选择ISOonTCP。至于其它特点两者皆相同。对于UDP,它是一个优点和缺点都非常明显的协议。首先它是不安全的传输协议,这意味着数据在网络中的丢失或者出错是不能重传的,然而在某些的小型局域网内,是非常建议使用该协议的,因为网络不会出错,不会有大量数据包挤占带宽等,UDP是非常快速的,此时无需人为检查错误,只要保证网络纯净。然而理想情况下毕竟占少数,要想安全可靠的数据传输,需要人为通过程序来保证,也就是通过程序来实现TCP/IP协议的可靠传输。UDP通信的另外一个好处就是适用组播通信,即数据从一个设备发送到该组中的其它设备中。总结来说,对于工控网络环境,使用UDP协议需要慎重,需要具有良好的网络知识和编程能力,才能驾驭UDP协议通信。了这么多,还是没有进入到正题,我也觉得很难,很难进入正题,总是想着如何给大家带来一个不一样的Profinet,让大家领略到Profinet的真谛。期望在下一个故事,希望!',)


  • 编号:1700665655
  • 分类:合同模板
  • 软件: wps,office word
  • 大小:4页
  • 格式:docx
  • 风格:商务
  • PPT页数:28200 KB
  • 标签:

广告位推荐

相关合同模板更多>