发布于 2008-12-22 16:53:14
0楼
各位版主你们好!
非常高兴与大家交流,下面我就不再引用大家的话,对大家的疑问给予一一解答。可能比较冗长,不过希望给大家一个清晰的答案。
PROFINET基于工业以太网,而工业以太网的发展实际上远远超出了我们的想象力,不过我们可以慢慢的察觉我们所做的项目和工程与工业以太网越来越密切,原因很多,比如传输数据量大,速度快等等,不过归根结底,是以太网自身的优点来决定的。
以太网上可以同时传输各种各样的数据,可以包括数据,语音,视频在同一根网线上传输。而且由于其开放性,允许开发各种各样的网络协议应用在以太网上,这样以太网就是一个容器,容纳各种“物品”共存。这样,在了解PROFINET的时候,实际上在了解以太网,确切的说是了解以太网的各种协议。比如ARP, DCP, UDP/IP, PN RTC, PN RTA等等,这些协议覆盖了PROFINET在启动到运行的整个过程。所以理解PROFINET就相对困难一些,因为我们已经从传统的自动化PLC等领域跨越到IT领域。这时,在这个领域,我们就必须面对交换机和路由器,因为他们是网络的核心部件。这时,我们还需要掌握他们的工作方式和原理。
PROFINET的实时,确切的分为3个等级,分别是RT,IRT high flexibility,IRT high performance。这些协议,在ISO/OSI通讯堆栈上本质上都使用精简的堆栈结构,也就是没有TCP/IP这些协议层,仅仅由1,2,7层来构成的。这时,由于不存在IP层,大家会问,那么TCP/UDP/IP又在PROFINET起到什么作用呢?对于这样的问题,实际上很复杂,我仅简单描述几个典型的过程。对于TCP/IP,大家一定很熟,而且常用可能,因为在CP通讯时常常用到,在PROFINET中TCP/IP可以用于从PG/PC下载用户程序通过以太网接口。对于UDP/IP,在PROFINET中UDP/IP用于IO控制器PLC和IO设备ET200之间建立连接,写,控制等过程。对于IP,在实际的IO实时通讯是不需要IP地址的,但是还有给每一个设备分配IP地址,这时由于在网络上的每台设备都需要IP地址,就像在互联网中的机器一样,没有IP地址,怎么上网呢?于是通过IP,我们可以下载用户程序,可以建立连接,还可以使用SNMP管理网络设备,也可以通过SFB52读取数据记录。通过上述,我们发现实际上这些协议都与实时无关。所以,谈到实时协议,无论RT还是IRT都与IP无关。在说的深刻一些,就是一个PROFINET设备,比如CPU315-2PN/DP,它完成PROFINET RT通讯是不需要IP地址的,而完成NRT的通讯,却需要IP地址,所以说需要不需要IP与你的通讯服务有关。无论你是PROFINET实时通讯还是远程访问,或者下载程序,这一切都依赖您的通讯服务。
只要符合IEEE802.3标准的数据就可以在以太网上传输,同样交换机和路由器会提供相应的数据服务,在10M以太网上,是存在数据碰撞的,主要由于当时受网络的发展所限制,因为以太网上的MAC访问使用CSMA/CD,该机制会造成网络的数据碰撞。随着以太网的不断发展,交换机的出现,解决网络数据碰撞的问题,但是MAC访问机制依然不变。所以说PROFINET没有解决数据的碰撞问题,而是交换机来解决的。PROFINET仅仅是快速以太网上的网络协议而已。
谈到交换机,我们还了解一下交换机的工作方式,交换机首先支持全双工的通讯和通信堆栈技术,这样很好的解决网络数据碰撞的问题。西门子SCALANCE X系列交换机内部存在通信堆栈,这意味着交换机对于高优先级的数据提供QoS功能,就是优先的进行数据处理,这在我的胶片中也有所体现,这就是交换机支持IEEE802.1p对数据可以进行分类处理。由于PROFINET RT数据的优先级是6,所以会有先处理PROFINET RT数据,这是保证PN RT通信的实时性的条件之一。像西门子高端交换机SCALANCE X414-3E,就可以给数据提供QoS服务,例如CoS和DSCP等功能,除了支持PROFINET RT功能,主要应用于其它的IT通讯服务。而对于IRT的数据,由于使用特殊硬件,并且使用带宽预留技术,这样不需要CoS功能。所以说“profinet RT不需要专用交换机,IRT需要”这是正确的。不过,真正支持PROFINET不在于仅仅传输过程数据,还要支持PROFINET诊断,所以SCALANCE X是普通交换机不能比拟的。
PROFINET的快速性,主要是由于其精简的堆栈结构,对比Ethernet/IP,该实时以太网协议基于UDP/IP,通过实验,使用32个站,每一个站带有一个DI,一个DO,一个AI,一个AO,PROFINET刷新仅需要1ms,而Ethernet/IP需要20ms,从协议本身来说,PROFINET的实时性高的主要原因就是使用精简的堆栈结构,由于Ethernet/IP需要在UDP和IP不断的打包和解包,所以需要消耗更多的时间。因为我们知道一个能够刷新上述设备的以太网的报文长度64个字节就足够了,而64个字节在100M以太网的传输时间仅仅约5us。所以PROFINET的实时性显而易见。另外,从侧面也反映一个问题,就是由于Ethernet/IP使用UDP和IP在解析过程数据需要不断的打包和解包,所以留给过程数据的大小仅有500个字节,而PROFINET由于不需要其它层的协议进行解包处理,所以高达1440个字节可用于过程数据。
谈谈Ethernet/IP,了解其协议层UDP/IP,可知可以使用广播或组播,或者单播的方式进行,而它采用了组播的通讯方式,使用IGMP snooping的方式用来注册组播信息,实现各个站之间的数据交换。这里有一些缺点,首先组播,组播的目的是一点到多点来传输数据,这与实时的点对点通讯在概念上有偏颇。再者,目前IGMP Snooping各家都是用自己的工作机制,就是说没有统一的国际标准化RFC等,所以使用的效率会略有不同。另外,由于IGMP snooping本身的处理机制,不会放过对任何一个数据进行解析,所以大量消耗交换机或路由器的资源,尤其是数据量大的时候。最后,由于使用组播的通信方式,组播地址的使用也是有限制的。上述的缺点,在中国还是有例子的可以借鉴的。所以,单单从技术层面来看,PROFINET的会像PROFIBUS一样成为世界第一。
谈到广播,实际上我们触及到以太网通信的最底层,因为广播是网络通信的基础,广播是不能消除的,只能限制。正常的通信的广播是很少的,所以以目前的通信带宽,100/1000Mbps是微不足道的。
上面,谈了这么多,我不知道是否已经回答了上面各位版主的问题,因为到以太网层面,我们必须面对以太网的知识。不管怎么说,我觉得要搞清协议包括其细节,看RFCXXXX文档才是王道!PROFINET的理论并不是想象中那么简单。
不过,对于客户的应用来是非常简单的!
读万卷书 行万里路