以太网在工业领域被广泛应用的驱动力。
然而,既然已经将以太网技术引入了工业领域,为什么大家还要煞费苦心的搞出好多专用的工业以太网协议,而没有沿用目前比较通用的以太网通讯标准(例如:TCP/IP、IEEE 802.3 ...)呢?以及,各家的工业以太网通讯协议,又有着怎样的差异呢?
关于这个问题,我们首先还是得了解普通以太网的工作机制,和工业系统对数据交互的实时性、确定性的要求。
我们知道,以太网的作用,其实是为设备间的数据交互提供了一种共享网络通讯服务。然而,当多台不同类型的设备连接在同一个网络系统中互相发送和接收各种数据信息时,就必定存在着潜在的传输冲突问题。这就好比很多人在一起开会,如果大家同时开口说话www.cechina.cn,就无法确保相互之间的有效沟通,因此必须事先预设一个沟通机制。
在传统的以太网中,所有的节点共享传输介质,为了能够保证有序、高效地为很多节点提供传输服务,在介质访问控制上通常会采用 CSMA / CD(Carrier Sense Multiple Access with Collision Detection)带冲突检测的载波监听多路访问技术(载波监听多点接入/碰撞检测),也就是我们经常听说的 IEEE 802.3 协议标准。
它的工作原理是:发送数据前先侦听信道是否空闲;若空闲,则立即发送数据;若信道忙碌,则等待一段时间,至信道中的信息传输结束后再发送数据;若在上一段信息发送结束后,同时有两个或两个以上的节点都提出发送请求,则判定为冲突;若侦听到冲突www.cechina.cn,则立即停止发送数据,等待一段随机时间,再重新尝试 ... 这就好像我们开会时,要约定每个人在说话前必须先倾听,只有等会场安静下来后,才能够发言。
然而,大家发现这其中的问题没有,就是在传统以太网中,避免数据传输冲突的方式居然是简单的“等待”,完全无法保证重要的数据/指令在确定的时间内及时收发;这就好比会议中,即使再重要的发言,也都要等到别人说完之后才能开始,并且还不知道要等多久,虽然避免了冲突,但却在一定程度上降低了重要信息的传达效率。
通用以太网这种非实时、非确定性,对于一般信息层的网络应用,往往算不上是什么太大的问题,因为在这些应用场合,人们对于数据传输的时间节点并不那么敏感,例如:我们通常不会太在意设备数据和网页画面在加载更新时出现的几毫秒或几十毫秒甚至几秒的延迟。
然而对于工业现场的产线设备,这种数据通讯的非确定性延时,就会严重的影响和制约其控制性能。尤其是在运控系统中,为了达到较高的动态响应特性,控制器与驱动器之间必须能以极为精准确定的时间周期进行位置/指令数据的高频交互,而这恰恰是传统的以太网技术无法做到的,也是早期的脉冲串和 SERCOS 总线能够长期统治运控江湖的主要原因。
于是,为了能够让工业设备中的控制器、传感器和执行器...等自动化组件之间的连接和通讯做到具备确定性和实时性,在将以太网的硬件介质应用到工业控制领域的过程中www.cechina.cn,各大自动化厂商就分别基于已有的现场总线技术和信息/控制系统,重新调整和规划了工业以太网的通讯机制。
例如:ProfiNet IRT 就在每个数据周期中CONTROL ENGINEERING China版权所有,单独划出了一个同步通讯时段,专门用于实时数据的传输;而一般非实时数据的通讯,则只能在标准数据时段中进行,一旦进入同步通讯时段,就会立即暂停这些数据的传输。这与会议过程中为重要议题单独划出一段时间、并中止一切自由讨论,是类似的道理。
POWERLINK 则不仅将数据周期分割成同步和非同步时段,而且为了提升整个网络的通讯效率,它还通过单一主站(MN)为每个从站(CN)分配了固定的时间槽,并采用轮询机制来实现数据的实时交换。当系统从 SoC 开始启动等时同步传输后,MN 会按照分配好的时间槽逐一与每个 CN 进行一次数据交互。这相当于在会议中设定了一个主持人,与会者只能在规定好的时间节点和主持人进行单独交谈,而他们之间的交头接耳则是绝对不允许的。
而 EtherCAT 则是采取了一种“数据列车”的通讯方式,从主站发出的数据包会按照顺序沿各个从站节点接力传递,边传输边处理,最后返回到系统主站。在这个过程中,每个节点会按照自己的应用需要从“列车”上快速抓取数据,并将已经处理好要输出的数据装载到“列车”上。主站只需要发送一次数据,就能够完成与各个从站之间的数据交换。同时,由于每个站点发送数据的目标节点都是确定的,数据包中的地址信息也因此被简化了。
相比之下,EtherNet/IP 就没有在数据传输和交互的时序/动作上给网络中的设备设定什么限制,总体上还是沿用了通用以太网的基本协议规则。只是要求“发声”设备(Producer 生产者)在发送数据时按照约定规则为数据贴上类别标签CONTROL ENGINEERING China版权所有,如:普通 I/O、运动控制、安全数据...,这样,接收端(Consumer 消费者)就会在收到数据后根据其所属类型的重要/紧急程度,决定是否接受优先使用该数据,或者稍后(甚至不做)响应。
目前市面上的工业以太网协议,除了上面提到的这些,其实还有很多,由于在实现以太网的实时通讯方面采取了极为不同的技术策略,它们在实际应用中也往往会表现出一定的性能差异,如:传输速率、响应周期、拓扑结构、易用性,开放性...等等。
同时我们也必须注意到,我们现在看到的各种工业以太网协议,基本上都是由相应的自动化厂商发起并作为“标准”进行推广的,用户对于网络技术的选择和应用体验,很大程度上还是会受到其背后的产品架构和技术体系的影响。
所以,从某种意义上说,我们基本上可以将这些所谓的工业以太网定义为,基于通用以太网物理介质的专属工业现场总线;同时,由于具备了实时的数据交互能力,它们应该可以被称作是第二代工业总线。