进入以太网, 退出现场总线吗?


正当现场总线处于稳定时期时, 以太网进入了工业网络领域。有 人认为它是一种 威胁, 有人却认为它不够工业化而不必重视它。Rob Hulsebos先生在本文中就以太网与现 场总线协议栈的融合以及现场总线系统是否值得对此担忧等方面进行了探讨。

人们通常认为以太网和TCP/IP是一对孪生子,这种说法是错误的。以太网和TCP/IP是各自独 立发展起来的,而且可各自独立存在。简而言之,TCP/IP是一种通信协议,以太网是电缆。 T CP的任务是按照其原先发送的顺序可靠地传送数据,过滤掉重复的,在可靠的数据传输不再 可能实现的情况下重新发送已丢失的数据并指示出错;IP的任务仅限于和硬件接口、处理硬 件的特性(如单个报文中的最大数据量)。

尽管TCP对可靠的数据传输帮助很大,但它是强制进入应用程序的一种特殊方式。TCP在一种 “管道”内发送数据,因此在(管道)另一端自动地出现原先推入的数据。TCP尽量优化这 种管道的使用。它将一组字节分成几个更小的组,然后分别发送每个子组。它也可将两个或 更多的子组合并从而将它们组装成为一个更大的组。它可以等待直至有足够的数据有效地发 送。重试可以处理出错,这种重试可重复几分钟。 似乎无终止的一段时间

TCP/IP在下载一个巨大文件时很好,但在工业应用中1min似乎是一段无终止的时间。因此 需要一种不同的工作方式。在目的站, 一个报文中的数

图1 以太网、TCP/IP和PROFIBUS 通信栈的融合
据应作为一个整体来处理,也作为一 个 整体来传送。两个报文决不能结合在一起。每个报文必须立即发送,而且必须尽快报告出错 ,不能在3min的重试之后才报告。

这就需要一个额外的软件层,该软件层缓存输入数据直至读出整个报文,而且只有这时才能 将它发送给应用。准备好发送的报文必须推入(管道)以避免内部延迟。

对于上述方面,没有单一的标准。TCP/IP应用如Telnet、FTP、email和WWW各有标准,但它 们各自有自己的方式。使用互相发送电子邮件或网页的设备来建立分散系统几乎是不可能 的。因此需要一种协议,它允许使用TCP/IP而不必担心其细节。现已有这样的协议:现场总 线协议!两种可能的实现有:在TCP/IP的顶层运行现场总线,或在现场总线的顶层运行TCP/ IP。

以太网适用于何处?

现场总线有几个功能层:线路拓扑、允许有效利用总线的存取协议、检查出错并修改其出错 的传输协议、应用协议以及描述如何使用网络的应用行规。

一个系统比这些部分的总和还多。图1表示了由以太网构成的部分、以太网与TCP/IP组合的 部分以及一项应用如WWW。需注意的是:以太网和TCP/IP结合能满足两个控制器之间的通信 。

将以太网、TCP/IP和具有PROFIBUS的web协议栈组合在一起,两种不同的解决方案就融合起 来,其中一个在另一个的上方。这就是PROFIBUS用户组织采用的PROFINet路径。其它现场总 线系统也有类似的设想。
TCP/IP上的现场总线

在以太网上层运行现场总线意味着该栈的上层保持不变。现有的应用无需修改就可虚拟地运 行,这就易于转换。

另一种解决方案是在现场总线上层运行TCP/IP。Interbus就是这种解决方案,PROFIBUS也支 持这种方案。它允许所有的Internet应用(Telnet, FTP, email, http)在现场总线设备上 运行而无需修改,但需要一些说明。Interbus必须将TCP/IP报文分成8字节的字节片,然后 再组合它们。由于每个I/O循环只能发送一个字节片(假定8字节/ 2ms),因此性能必然地 受到限制。PROFIBUS这方面的数值尚不清楚。但这种方案对于带有图形的网页来说并不理想 。

以太网的反对者们重复地引证网络报文的额外开销。以太网的最小报文长度64个字节(512 位)和64位前同步,这对于只有16个数据位的I/O模块来说太不相称了。在这64个字节中,1 8个字节用于以太网本身(报文首部),TCP/IP首部占用40个字节,因此还剩6个字节用于用 户数据。

如果我们要建立一个有6个节点的I/O网络,每个节点是16位I/O,网络通过量总计为:6×2 ×(512+64)=6912位,或传输速率是10Mbps时一个循环时间为0.69ms。假如我们想用CAN, 它的额外开销仅为47位而且没有最小报文长度。同样的I/O系统将需要:6×2×(47+16)=7 56位,它是以太网效率的九倍。但是,由于CAN只允许网络传输速率1Mbps而且不 超过25米,所需的循环时间是0.76ms,所以实际上比以太网慢10%。

当然,上述两个例子假定100%的网络负荷,这对远程I/O是不现实的。软件延迟在很大程度 上可影响网络的性能。在Modbus/TCP网站,我看到一个例子,一套有6个16位I/O模块的系统 ,它的循环时间是1.9ms。由于网络报文需要0.69ms,剩余的1.21ms纯用于软件延迟。当以 太网的速度要更新到100Mbps时,知道该延迟很重要。所有软件延迟是恒定的,因此I/O系统 的循环时间减少为0.69/10+1.21=1.28ms。该网络提速达1000%,而循环时间仅加快48%— —绝对不是所期望的结果。
并非一切都可采用TCP/IP

并非每种现场总线可容易地转化为使用TCP/IP。AS-Interface 和CAN就是两例。二者对于I/ O而言是最佳的,它反映在一个网络报文中能传输的数据总量—— AS-I是4位,而CAN最多是 8个字节。AS-I总线可带电源。用以太网—— TCP/IP就小题大做了!

COPYRIGHT(C) 2011 厦门永宏亚得机电科技有限公司版权所有(闽ICP备05025945号) ALL RIGHTS RESERVED?

电话: 0592-5190891 传真: 0592-5190720 E-Mail: E-mail:yade8895@163.com
地址: 厦门市海沧区兴港六里17号2607室 邮编:361009 联系人:翟先生