ODVA和ControlNet International共同推出了EtherNet/IP(标准工业以太网)。本文将介绍它的技术原理和传输机制,以及如何在基于TCP/UDP/IP协议的以太网®上实现网络服务和数据对象的一致性。

I. 简介

工业自动化系统的网络必须为用户提供三种主要的服务。首先是控制,这也是最为重要的功能。控制服务主要用于完成控制设备(例如PLC)与I/O设备(例如变频器传感器以及其它执行机构)之间的数据交换,并且有苛刻的实时性要求。因此,相应的传输网络必须为这类数据的传输设定较高的优先权或者中断等级。其次,还要提供配置服务,方便用户对自动化设备进行设置和维护。通常,用户需要使用个人计算机(PC)或者类似设备对系统中不同的设备进行编程和配置。这项任务不仅需要单独执行,而且还要在控制系统运行的情况下,支持配置服务。比如,批量处理过程中的配方管理就需要这样功能。最后,用户需要采集自动化系统运行过程中的各种数据,用于人机界面显示、数据分析、趋势图绘制、故障处理和维护。可见,工业自动化系统的网络必须提供:控制、配置和数据采集三种服务,这样才能让网络更加高效、灵活,从而提高自动化系统的整体性能。

在网络中,生产者/消费者通讯模式比源/目标通讯模式更容易支持控制、配置和数据采集服务。在网络应用层协议中,利用分布式对象和生产者/消费者通讯模式,将会更好地满足自动化系统的应用要求。

如图1所示,一个典型的工业自动化系统网络结构。由于每种网络都有不同的物理层和数据链路层,其属性和特点也各不相同。因此,在这样的系统中,不要指望某种单一的网络能够满足所有的应用要求,而是需要采用多层网络架构,并且要求不同网络之间的数据具有一致性,从而方便网络间的数据交换与共享。

标准工业以太网的技术原理和传输机制

如果在以太网上实现控制、配置和数据采集服务,同样不可避免其它网络服务也要在网络上运行。因此,生产者/消费者通讯模式必须做到在同一网段上完全能够与其它服务共存(比如用于网页浏览的HTTP服务)。

在图1中可以看到,一个典型的工业自动化系统网络包括:1、信息层网络,通过以太网来实现。许多控制器厂商早就提供对以太网的支持;2、控制层网络,通常利用网络的确定性和介质是否冗余等传统标准来衡量某一网络能否作为控制层网络,ControlNet属于这类网络;3、设备层网络,要求传输数据较少,能够通过一根结实、耐用的电缆来完成数据传输和设备供电,DeviceNet属于这类网络。

ODVA(开放DeviceNet供应商协会)和ControlNet International两家组织推出了新的CIP协议成员——EtherNet/IP,从而实现了通过以太网提供控制、配置和数据采集服务。因此,它能够作为图1中的信息层网络和控制层网络来使用。

II. CIP协议在以太网上的实现

EtherNet/IP协议规范被细分为多个章节和附录,主要内容如图2所示。

标准工业以太网的技术原理和传输机制

从图2可以看出,EtherNet/IP、DeviceNet和ControlNet三种网络具有统一的应用层、应用对象库和设备描述。也就是说,在七层OSI网络参考模型中,这三种网络只有最低的四层不同,如图3所示。

图2描述了EtherNet/IP的协议结构,通过使用这些不同层面的协议,实现了对控制、配置、数据采集服务的优化,使得EtherNet/IP在控制领域的应用更加切实可行、更加安全可靠。

III. 与其它Internet协议共存

EtherNet/IP网络的主要优势在于大多数用户能够通过利用现有的以太网技术知识和网络设施,让它们发挥最大的作用,获得更多的投资回报。

目前,众多厂商都能提供以太网设备,使得组建网络的费用大大降低。因此,用户更希望能够利用目前市面上已有的网络设备,从而控制系统成本。

如果EtherNet/IP网络需要采用指定厂商的特殊物理介质来构建,那么它的优势就不复存在。同样道理,如果 EtherNet/IP网络需要一个专门的网络环境来运行,或者不能与现有的企业网络相连接,那么它的优势也会黯然失色。因此,EtherNet/IP网络必须能够与现有的Internet和Intranet网络协议共存。这就意味着,在任何地方都要使用TCP/IP协议。

A. 以太网通讯协议

以太网技术本身只定义了物理介质和介质的访问方式(CSMA/CD),并采用简单的数据帧格式和源/目标通讯模式来完成局域网设备之间的数据交换。就其本身而言,以太网缺少更为复杂的功能来实现局域网的全部应用要求。正因为如此,在实际使用过程中,还需要让以太网支持一个或多个通讯协议,让它们作为以太网的上层协议,负责数据传输,实现网络管理等功能。因此,这种上层的通讯协议决定了网络所支持的功能,以及什么样的设备能够连接网络,怎样实现网络设备之间的互操作。

曾经有许多协议在以太网上应用过,例如DECnet™、Novell IPX™、MAP™、TOP、OSI Stack、AppleTalk™以及TCP/IP。在这些协议中,TCP/IP协议最为引人瞩目,因为为它不仅实现了全球Internet的互联,还能用于构建企业内部的Intranet网络,实现企业信息的共享和数据交换。TCP/IP作为Internet的协议,不仅可以运行在以太网上,还支持其它物理介质。当然,以太网也支持其它协议。但是,由于TCP/IP协议与以太网的结合,实现了Intranet和Internet的无缝集成。所以,它们之间的关系也就越来越密切。在工业现场,无论是现在,还是在不远的将来,TCP/IP协议迟早都会成为在以太网中占有统制地位的“中间层”协议,如图3所示。

B. TCP/IP协议的起源与特点

多年来,世界上主流的计算机平台都提供对TCP/IP协议的支持。现在,它已经内置到WINOOWs NT™、WINOOWs 2000等操作系统中,成为用户构建计算机网络的首选协议。在许多公司,可能拥有数台工作站、网络打印机、服务器、中型甚至大型计算机,单单某一家厂商很难提供所有这些设备。因此,这些设备都采用了统一的TCP/IP协议,使得它们都能够集成到局域网中。

TCP/IP协议也采用了分层结构,它与OSI七层网络参考模型的对应关系如图3所示。从图3可以看出,以太网技术只定义了物理层和数据链路层。网际协议(IP)对应于第三层——网络层,TCP传输控制协议和UDP用户数据报协议对应于第四层——传输层。在基于TCP/IP协议的网络中,用户服务协议属于第七层——应用层。TCP/IP协议组没有OSI网络参考模型的第五层和第六层。

OSI网络参考模型中的每一层都需要使用其下一层协议所提供的服务。比如,一个TCP连接需要在以太网上向另外的设备发送一个数据包。首先,它需要将这个数据包交给IP协议进行处理,由IP协议将这个数据包发送给以太网接口,并确定这个数据包传送到了目标设备。同时,作为接收方,IP协议要通过以太网接口接收数据包,然后将其交给TCP协议进行处理,建立通讯连接。

TCP/IP协议的最底层是网络层,也是IP协议所在的层面。IP协议用于在两个网络设备之间,采用无连接和无确认应答的方式发送数据包。因此,IP协议并不能对数据的传输提供担保,而需要由传输层协议或者应用层协议来完成这一任务。IP协议可以运行在以太网和多种其它局域网或广域网中,这正是IP协议能够实现企业内部Intranet网络和Internet无缝连接的原因。

在网络层中,还有地址分辨协议(ARP)。ARP协议用于实现IP地址到以太网地址的映射,以及维护网络设备中的地址映射表。当某一设备要将一个IP数据包传送给其它设备时,发送设备首先会尝试使用本地广播报文去询问目标IP地址的设备,然后将其以太网地址返回给发送设备。这一应答结果将被存入发送设备内部的地址映射表,方便以后使用。值得注意的是,以太网广播报文只能在集线器、交换机和网桥之间传输,不能穿透路由器。因此,以太网广播报文被限制在一个子网内,而不可能扩散到全球范围的Internet网络中。

IP地址是32位的二进制数字,由独立的InterNIC网络信息中心负责分配,在某一网络中不能重复。任何企业网内部的设备需要和外界通讯,都必须使用事先分配好的IP地址。这与以太网地址不同,以太网地址是由生产厂商固定在以太网硬件设备中的地址,不能进行更改。用户可以根据自身企业信息系统的相关规定和要求,配置网络设备的IP地址和子网。有时候可能需要改变网络设备的IP地址,但是应该在此之前做好心细的规划,防止网络上某一设备已经占用了特定的IP地址,从而造成IP地址冲突,使得已有的网络不能正常工作。

如果一个内部的局域网通过路由器与Internet相连接,那么这些设备的IP地址必须属于已分配给它使用的IP地址段。如果内部局域网不与Internet相连接,那么它的IP地址分配就可以按照自己的要求来进行。随着Internet的普及和广泛应用,可用的IP地址资源已经濒临枯竭。目前,人们正在研究使用新的IP地址形式,也就是IPv6,它支持48位二进制的IP地址形式,这样一来,就有充足的IP地址供人们使用。

与以太网地址类似的是,IP地址也分为非广播(单目标)、多点传送(目标组)和广播(网络上的每个设备都能接收)地址。因此,IP地址必须通过相应的IP软件和以太网驱动程序将其映射成对应的以太网地址。

TCP/IP协议制定了TCP(传输控制协议)和UDP(用户数据报协议)两种协议用于数据传输。它们都属于OSI七层网络参考模型中的传输层。TCP协议是一种面向连接的协议,用于确保数据的可靠传输。一旦在两个设备之间建立起TCP连接,TCP协议将用于拆分、组装数据包,检测错误、数据重新发送,通常用于在两个网络设备之间提供高质量的数据传输。TCP协议能够确保数据从一个网络设备传输到其它网络设备。一旦由于某种原因造成传输失败,TCP协议将确保TCP连接的收发双方应用程序能够得知这一故障。TCP协议将数据以字节流的形式提供给它上一层的应用层协议。同时,应用层还要对字节流数据进行识别和分割。

TCP协议只适合于非广播(点对点)传输方式,通常在Telnet(终端仿真)、FTP(文件传输)以及HTTP(Web服务)等应用中采用。在工业自动化应用中,TCP协议通常用于计算机向PLC下载梯形图程序,或者人机界面软件对PLC数据进行读写,以及两台PLC之间的点对点信息交换。

UDP是一种非常简单的传输协议,它采用无连接的通讯方式,用于在两个网络设备之间进行简单的数据报文收发。它并不能保证数据能够从一个网络设备发送到另外一个,也没有数据重发功能,甚至不知道目标设备是否已经收到了数据。因此,需要应用层协议实现设备之间的握手信号或者连接管理,通常在较小流量要求的服务中才使用UDP协议,例如SNMP(简单网络管理协议)和NFS(网络文件系统)。UDP协议与TCP协议相比,传输能力和资源占用都比较低,因而能够进行更小、更简单、更快捷的数据传输。UDP协议支持非广播、多点传送和广播三种不同的传输方式。在工业自动化应用中,UDP协议通常用于网络管理、对可靠性要求不高的数据传输,或者由应用程序的其它功能实现自身的可靠性,比如在网络设备中采用闪存芯片进行编程。

有关TCP/IP协议及其应用的技术资料已经被归档,称为请求评注(RFC),由Internet工程任务组(IETF)负责维护。IETF是一个独立性的组织,用于制定Internet的各种标准协议。所有RFC资料都是公开的,用户可以从IETF的网站免费下载。

C. 应用层协议及互操作性

TCP/IP协议提供一系列的服务,无论是在局域网中,还是在广阔的Internet中,都可以保证两个设备之间的相互通讯。但是,单独采用TCP/IP协议并不能确保网络设备的通讯效率,它只能保证应用层信息能够成功地在两个设备之间进行传输。

为了提高通讯效率,需要在相应的网络设备上安装兼容的应用软件。应用软件必须相互懂得对方所提供的服务,能够在TCP/IP(UDP/IP)协议的基础上,使用通用的报文格式进行通讯。RFC资料提供了Internet常用应用服务的文档,例如FTP、HTTP、Telnet、SNMP、SMTP(E-mail)等,详细定义了它们的工作机理。因此,任何厂商只要根据RFC资料的要求进行生产和程序开发,就可以确保设备之间能够相互通讯,甚至是不同厂商的设备。这种通过应用层协议实现不同厂商设备之间相同通讯的能力被称为互操作性。

虽然文件传输(FTP)、终端仿真(Telnet)、电子邮件(SMTP)和其它通用的服务已经在IETF的领导下确定下来。但是在工业自动化领域,情况却不是这么简单。虽然某些自动化厂商的设备能够工作在以太网上,也采用了TCP/IP协议,但是它们却有着不同的应用层协议。这样一来,在车间现场中,不同自动化厂商的设备即便可以与局域网相连接,在物理上能够实现共存,却不能进行设备之间的互操作。比如,A厂商的PLC不能通过TCP/IP连接,方便地共享B厂商PLC中的数据;或者A厂商工作站内的软件不能对B厂商的设备编程或者配置。可见,由于缺乏互操作性,即便在同一个项目,同一个以太网中,用户也很难将不同厂商的以太网设备集成在一起,构成一个系统。

EtherNet/IP协议能够与任何现有的协议共存,它们都可以运行在TCP/UDP传输层之上。

D. 目前以太网TCP/IP协议在工业自动化中的应用

目前,基于TCP/IP协议的以太网不仅仅局限于车间范围内的通讯,而且已经能够实现与整个企业Intranet,甚至Internet的连接。在工厂中,以太网通常用于实现如下功能:设备程序维护、MIS或MES系统与现场设备交换数据、内部网页服务、控制设备监管、操作员终端与现场设备通讯、事件记录或报警等。这些功能都需要以太网提供较高的数据吞吐量和广泛的设备连接能力,而响应时间则是第二位需要考虑的问题。现在,虽然有些用户已经将以太网用于自动化控制系统,但是其控制能力具有一定的局限性。比如,通过以太网共享处理器中的数据,这样的应用项目充分发挥了以太网具有较大数据吞吐量的优势,但是它的信息响应时间却不具备较高的确定性和可重复性。

IV. 网络内及网络间的数据交换

虽然EtherNet/IP网络具备直接利用以太网进行设备数据采集和配置的功能,但也不要指望单一的网络能够满足所有的需要。某些自动化设备厂商未必提供支持EtherNet/IP网络的设备。另外,较短时期内,如果需要在光电传感器、接近开关等简单的设备中集成EtherNet/IP网络连接功能,可能费用还比较高。

但是,这些困难并不意味着会阻碍用户将EtherNet/IP网络作为首选网络来使用。相反,用户可以充分利用EtherNet/IP的远程联网能力,像使用本地网络一样来操作远程设备。更为关键的原因在于,网络的应用不需要编制任何程序或者使用中间计算机设备。

为了实现上述目的,整个工业自动化系统的网络(如图1所示)必须使用一系列通用的服务,所有网路设备均采用通用的对象模型来组织数据。只有实现了数据的一致性,才能够让数据在不同的网络之间进行路由。

A. 面向对象的数据结构

未来的Internet将采用一种分布式的对象通讯模型,用于点对点的数据交换,实现企业内部Intranet网络与Internet的相互连接。与DCOM和CORBA等“中间件”标准相比较,虽然两者的实现机理有所不同,但是它们关于分布式对象模型的互操作方法是一致的。分布式对象模型的结构具有显著的优势,它为软件开发者和最终用户提供了方便的手段,无需考虑设备的具体物理位置,利用简单、面向对象和网络化的方法就可以管理设备数据。用户可以通过对象命名和寻址方法,对网络设备地址及其内部数据结构实现透明访问,获得详细信息。

沿用至今的源/目标通讯模式可能不会在未来的Internet网络环境中继续流行。因为在车间现场的以太网设备需要具备互操作性,既要支持信息应用软件,又要满足实时控制要求,而且通常需要在同一网络中实现。所以,用户需要让不同厂商的设备在同一网络中实现互操作。为了达到这一目的,所使用的应用层协议必须满足一系列的要求,从而在基于TCP/IP协议的以太网上实现设备之间的互操作。

运行于TCP/IP和UDP/IP协议之上

实现分布式对象模型

提供有效的传输模式用于实时I/O数据

允许控制数据和信息数据在同一个以太网中共存

满足工业自动化系统的各项要求

能够被广大自动化设备厂商接受并实施

B. 通用对象库

CIP协议家族定义了一系列对象(目前有46个对象)。只有少数对象是针对专门的数据链路层而制定的,其中DeviceNet有1个,ControlNet有3个,EtherNet/IP有1个。其余的对象都是通用的,能够在上述三种网络中使用。

根据某一类设备所需的功能,今后可以加入新的对象,这将有利于对设备功能的扩充。比如,一个工作在DeviceNet网络上的接近传感器并不支持其它的功能。然而,开发者在使用已定义的公共对象时,还可以在设备供应商自定义寻址范围内(类代码100~199,8位对象类代码空间)创建自己的对象。当然,强烈推荐开发者与ODVA和ControlNet International的特别兴趣小组(SIG)合作,制定更多的通用对象,进一步取代自行开发的专用对象。

D. 电子数据表

如果没有相应的机制去识别某一设备到底为外部应用程序提供了哪些对象,那么保持对象模型的一致性也就无从谈起。因此,CIP协议提供了多种方案,用于配置设备:

打印出来的数据表

参数对象和参数对象存根

电子数据表(EDS)

电子数据表与参数对象存根相结合

设备配置信息集合与上述方法相结合

在使用打印出来的数据表进行设备配置时,配置软件只能提示用户该设备需要用到的服务、类的实例、属性数据以及其它相关信息。虽然这样也能够完成配置工作,但是很不方便,因为这种方法不能判断上下参数的关联,数据的格式以及内容正确与否。

参数对象提供了另外一种方法,它将设备所有可以配置的数据进行了全面的描述。这样一来,由于设备能够提供所需的信息,使得配置软件可以方便地访问这些参数,并且操作界面也十分友好。参数的属性包括数据类型、工程单位、最小值、最大值、缺省值、比例系数等内容,而且这些内容都保存在设备的非易失性存储芯片中,可以进行读写(或只读)操作。

由于参数对象方法将所需的全部参数信息都保存在设备中,无疑增加了小型设备的负担,尤其是DeviceNet从设备。因此,开发人员对参数对象方法进行了简化,称为参数对象存根。这种方法也支持对参数数据进行访问,但是它并不描述这一数据的任何含义。这时,就需要使用EDS电子数据表。在电子数据表中保存有全部参数对象的信息以及与之相对应的存根。因此,电子数据表与参数对象存根的配合使用,既能够方便地实现参数对象方法的全部功能,又避免给单个设备造成负担。

另外,设备配置信息集合方法可以允许对大批量的参数数据进行上传和下载。

E. 报文协议

通过网络访问任何设备的内部对象都需要使用非连接通讯管理对象或连接通讯管理对象。

由于EtherNet/IP是基于连接的网络。因此,一个CIP协议连接数据包会发送到网络上。一旦连接建立成功,就会对该连接分配一个连接标识(CID)。如果这种连接是双向的数据交换,就会给它分配两个连接标识,如图6所示。

既然大多数基于CIP协议的报文都采用连接方式进行通讯,就需要对两个尚未连接的设备进行连接初试化的方法做出定义。这一工作是通过名为非连接通讯管理对象(UCMM)来实现的,它专门用于处理连接请求。一旦通讯连接建立成功,设备所需的全部通讯资源,包括中间CIP协议的桥接和路由,都将被保留。这样一来,使得数据交换过程所需的网络负载和带宽占用降低到最小限度。

所有在CIP协议中的网络连接分为两大类:显式报文连接和隐式(I/O数据)报文连接。

显式报文连接用于两个设备之间的普通信息传输,可以使用多用途的通讯路径。这类连接在网络仲裁机制中被认为是消息连接。显式报文使用典型的请求/应答网络通讯模式,通常需要访问报文路由对象。每一个请求报文包含有明确的显式信息,例如接收方的网络地址、需要执行的动作以及产生适当的响应等内容。

隐式报文连接通过专用的特殊通讯路径或端口,在生产者应用对象和多个消费者应用对象之间建立连接。这类报文专门用于传输I/O数据,在网络仲裁机制中被认为是I/O连接。在控制层网络中,隐式报文有着大量的应用。隐式报文数据的含义已经在通讯连接建立、分配连接标识的时候完成了定义。因此,隐式报文中只包含具体应用对象的数值。也就是说,通过连接标识“含蓄”地定义了报文数据的具体含义,因此称为“隐式报文”。

这两种报文连接方式都支持网络间的桥接,详细内容将在后续章节中讨论。

F. 隐式连接

如上所述,所有的隐式连接必须是两个设备之间的直接连接。在每个连接方向上,需要源地址、目标地址和连接标识。隐式报文通过应用层CIP协议的外部事件进行触发。

在实际使用中,DeviceNet和ControlNet的源地址、目标地址就是设备的节点地址。在EtherNet/IP网络中,就是设备的IP地址。

然而,TCP数据包中的CIP帧含有关于目标地址的额外信息——通讯路径,它表示数据帧在传输过程中的“跳跃”路径。

如图1所示,在一个典型工业自动化系统网络中,编程软件通过个人计算机连接到信息层网络,由它发出一个报文,需要传送给设备层的电机起动器。在这一过程中,数据帧首先进入信息层网络,然后进入控制层网络,最后进入设备层网络,整个过程至少需要三次网络“跳跃”。通过一系列的“跳跃”,CIP数据帧的内容在整个旅途过程中都是完好无缺的,并且先后使用了TCP数据包、ControlNet数据包和CAN总线数据包。

只要CIP数据帧中的路径完好无缺,电机起动器就可以通过CAN总线数据包将返回的报文按照原路径回传。无需考虑通讯的发起设备是否在同一物理网络中,而是通过桥接,将数据传送给本地的EtherNet/IP网络设备,甚至可以通过Internet路由给远程的网络设备,实现数据的透明传输。

在这个示例中,电机起动器遵守DeviceNet规范,编程计算机遵守EtherNet/IP规范,这两个设备能够相互理解对方设备的数据组织形式。

前面已经提到,每个设备都必须支持一系列的强制性对象,其中之一就有标识对象。标识对象的强制性属性有供应商ID、设备类型、产品代码和修订版本等内容。源设备在发出报文之前,可以从目标设备中获得上述信息,而无需事先知道它到底是什么设备。通过这些数据,就能找到与之唯一对应的EDS电子数据表文件,从而知道该设备能够支持哪些公共对象,多数情况下,还能知道供应商定义的特殊对象。当然,由于某些设备已经包含了全部的参数对象,无需EDS电子数据表文件就可以直接获取设备的数据。这种机制不受目标设备网络类型的约束,可以从图2和图5中得知,数据对象不依赖于网络,也就是说,相同的报文可以发送给相同的数据对象,既不依赖于设备,也不依赖于网络连接。

由于EtherNet/IP网络仍然构建于TCP/IP协议之上,因此具备进一步的扩展潜力。例如,并不要求源设备必须位于信息层网络中。位于控制层网络的PLC可以通过一个连接信息层网络的PLC或者网桥设备(无需关心控制层网络到底是EtherNet/IP网络还是ControlNet网络),发起需要多次“跳跃”的报文,并可以将信息层网络作为“跳跃”过程的一个中间环节。在这一功能的帮助下,两个分别连入ControlNet网络的PLC,即便是远隔重洋,也可以通过Internet,使用显式报文实现数据交换。

V. 基于EtherNet/IP网络的I/O控制

A. 以太网能否作为控制网络?

从传统意义上来讲,有人不赞成以太网用于控制目的,其原因在于以太网是非确定性的网络。这一问题已经成为业界争论的焦点。确定性可以帮助用户准确估计在最坏情况下,网络数据的传输能力。同时,用户对可靠性也提出了更高的要求,需要确保每次都能在相同的时间内完成数据传输(或者尽快识别出数据不能到达的情况,以便采取相应措施)。随着以太网技术的不断发展,在网络确定性、可重复性和数据吞吐量上,都有了很大的提高。例如,以太网交换技术将容易产生数据冲突的区域分割成单个设备区域或者一小组设备,使得数据冲突几乎可以减少到零。CSMA/CD(带冲突检测的载波监听多路访问)技术在网络出现冲突时,不仅能够及时发现,而且还可以恢复网络通讯。此外,通过在以太网(IEEE 802.1p)的适当位置引入报文优先级别,可以使交换机和TCP/IP协议栈有能力区分控制/报警信息数据包和编程数据包,以及其它的网络路由、诊断数据(SNMP)。

然而,这些技术还未在高速控制系统中进行尝试。在某些对实时性有苛刻要求的应用项目中,只要比预定时间晚一点收到某个数据,就可能造成生产线停机,影响产量,甚至是损坏产品或设备。在以太网交换机中,数据包延迟时间的变化甚至数据包丢失,都有可能造成严重的事故。在信息系统中,交换机、集线器的损坏最多会让信息系统丢失部分生产数据;但是在控制系统中,如果发生这样问题,不仅会影响产量,还会损坏生产设备。因此,用户在选择网络时,都要对具体的应用项目进行充分考虑,以便确定基于TCP/IP协议的以太网技术到底是最好的方案,还是可行的方案。

B. 以太网交换技术的发展

近年来,转发式集线器技术和以太网网桥技术已经被新的高速交换技术所取代,交换机任意两个端口之间的数据交换延迟已经降低到百万分之几秒。通过专用的硬件设备来实现高速交换,使得交换机具有非常高的背板通讯带宽。通常情况下,交换机背板通讯速率大于该设备所有以太网端口通讯速率之和,因此能够支持所有端口全速运行而不会发生冲突。此外,某些交换机还能够对数据帧进行临时缓冲,用来解决短时期内对同一输出端口的争夺。

交换机被称为交换式集线器,属于第二层(数据链路层)的数据交换,也称为简单交换。实际上,交换机就是一台多端口的网桥。交换机上的每个端口都有自己的冲突域,当设备通过交换机连接后,相互之间不会发生数据冲突。此外,交换机上的每个端口可以配置为半双工模式(传统以太网),或者全双工模式。全双工模式下,交换机与连接到某一端口的设备之间,能够在每个数据传输方向上提供10Mbps的连接速率,总共为20Mbps。对于快速以太网来说,全双工模式能够为每个传输方向提供100Mbps的连接速率,总共为200Mbps。与传统的网桥类似,交换机内部要建立并维护一个以太网地址与端口的映射表。当交换机从某一端口接收到数据包之后,能够立即将该数据包“交换”到相对应的输出端口,而这一过程通常能够在百万分之几秒内完成。

更先进的交换机支持虚拟局域网功能(VLAN),用户能够对交换机进行配置,将若干个端口划分为一个组,从该组某一端口接收到的数据包只能发送给组内的其它端口。另外,VLAN的划分通常可以在一台交换机上实现交叠,某个端口可以隶属于多个VLAN。这一功能为用户提供了极大的灵活性,可以将交换机上相互分割的端口配置为多个相互交叠的冲突区域。

与转发式集线器相比,交换机能够支持更大的数据吞吐量,不会像转发式集线器那样,在网络负荷增加时出现数据冲突,造成严重的传输延迟。因此,在那些负荷较重、传输延迟明显的网络中,最好使用交换机代替转发式集线器。虽然交换机现在的价格比转发式集线器贵,但是随着技术的发展,它的价格会迅速下降。到时候,交换机将取代转发式集线器,成为网络连接的首选设备,而它的用途也不仅仅局限于控制领域。

当然,交换机某些性能上的限制可能会对一些特殊的应用项目造成影响,必须对这些问题加以足够的重视。例如,来自多个端口的数据包需要发送到同一端口,在这种情况下,交换机内部可能会出现数据拥塞。通常的处理办法是简单地丢弃某些数据包,或者告诉发送设备出现了冲突,待拥塞清除之后再发送数据。具体采用哪种方法处理数据拥塞,由交换机生产厂商做出选择。另外一个问题在于,交换机可能会在数据流中插入时间不等的延迟,这对于普通的办公应用来说没有任何影响,但是对于某些工业自动化控制系统,可能会造成严重的后果。

虽然交换机对每个端口的冲突区域进行了隔离,但是它并没有对广播区域进行隔离。当然,如果交换机支持虚拟局域网功能,也可以通过设置VLAN来隔离广播区域。在以太网中,从任一端口接收到的广播报文将被发送给所有端口上的设备。这就意味着存在一个问题,如果某个设备出现故障,或者没有配置好,它可能会过多地向网络发送广播报文,从而导致整个以太网传输性能下降。有些交换机生产厂商采用了相应的方法,去抑止这种过多的广播报文。由于以太网广播报文也采用TCP/IP协议用于地址解析。因此,广播报文在以太网上的处理方式与其它基于TCP/IP协议的报文是平等的。所以这些方法缺少通用性。尽管如此,只要网络配置得当、操作正常,广播报文只会占整个网络数据量的很小比例。

另外,交换机和转发式集线器都属于有源设备,其内部有着复杂的数字电路,需要外部供电(通常为交流电)才能工作。一旦交换机或者集线器出现故障,将导致所有与之相连接的设备,包括其它交换机或者集线器,都不能正常通讯。在修好或者替换交换机、集线器之前,与之相连接的设备不能与车间的其它网络进行通讯。此外,大多数以太网介质和配件都是针对办公室或者轻工业的应用环境而设计的,并没有按照恶劣工业环境下控制设备的标准进行设计和测试(包括允许的温度范围、工业级CE认证、抗冲击和抗振动性能等)。对于以太网在新领域,尤其是工业现场的应用,这些问题都应该加以考虑。

C. 以太网性能的发展

近年来,随着以太网技术的发展,先后出现了快速以太网和千兆以太网。IEEE 802.3u规范标准对快速以太网进行了定义。快速以太网基本速率为100Mbps,它与10Mbps以太网采用相同的帧结构、寻址方式和CSMA/CD介质访问协议。然而,快速以太网中的所有网络定时参数都需要除以10。因此,在某些配置情况下,与10Mbps以太网相比,快速以太网两个节点之间的距离可能会短一些。

快速以太网具有传统以太网10倍的线速度,能够充分满足高带宽应用项目的要求,例如视频、音频传输,或者是网络中大数据量的文件交换。尽管如此,某些应用项目并不满足于单纯网络线速度的提高。特别是在车间现场,有许多基于微处理器的智能设备连接到以太网中,例如I/O模块、传感器、执行机构、变频器以及其它接口设备。这些设备发送和接收的数据都被封装到64个字节长度的以太网帧内(这是以太网支持的最小帧长度)。因此,影响这些设备性能的主要因素在于微处理器速度和嵌入的固件,而不是网络的线速度。这些设备几乎不可能完全利用10Mbps以太网的带宽,除非是由于应用层协议的效率较低,造成设备重复进行点对点的数据轮询。

另外一个显著的优势在于,100Mbps以太网比10Mbps以太网有着更高的数据冲突恢复能力。正如前面所述,100Mbps以太网的数据冲突后退时间是10Mbps以太网的十分之一。由于网络负荷较重,经常出现数据冲突,100Mbps以太网的性能要明显优于10Mbps以太网。而在数据冲突不严重的时候,100Mbps以太网能够提供更大的带宽,支持更多的网络负荷。如果某一应用项目需要使用多个交换机,100Mbps的网络速率将有利于交换机之间的连接。当然,如果网络负载和数据冲突在10Mbps以太网中表现不是很明显,仅仅是简单地升级到100Mbps以太网,这样的投资并不会有什么收效。

D. 隐式报文(I/O信息)在EtherNet/IP网络中的传输

在4.5节中,已经介绍了通讯路径以及显式报文和非连接报文在点对点数据交换中的应用。

第二类报文,也就是隐式报文。通过应用层协议的支持,实现了网络节点之间的透明数据交换,无论是报文的“生产者”还是“消费者”,在报文传输之前,都知道这个报文格式。当隐式报文用于I/O信息传输时,它能够充分利用生产者/消费者通讯模式的优势。另外,它还可以用于控制器之间预定信息的传输。

在CIP协议中,隐式报文有四种主要的应用方式:

轮询

选通

状态改变

周期循环

轮询方式与传统的I/O网络通讯十分相似,扫描器(主站)不断地向I/O适配器(从站)发出输出信息并接收输入信息。

选通方式是一种特殊的轮询,扫描器只发出一个多点传送的数据请求报文,从设备会陆续将它们的数据传送回扫描器,而不再需要其它来自扫描器的信息。

周期循环方式将按照预定的时间周期传送数据,每个报文都有一个连接标识。任何其它设备,只要知道这个连接标识,就能接收网络上符合这一连接标识的数据。

状态改变方式与周期循环方式类似,不同之处在于,只有当数据变化时才会发出报文,而不是基于时间事件。同时,状态改变方式还要发出一个周期性循环的“心跳”信号,以便让数据的“消费者”知道这一设备还处于在线状态,而且工作正常。

上述四种方式中,周期循环是EtherNet/IP网络中首选的隐式报文数据交换方式,它在数据完整性和网络流量优化方面有着较好的平衡。

为了让CIP协议能够在以太网中实现,其关键问题在于隐式报文可能有多个数据“消费者”,它们要共享同一个数据包,然而TCP协议只能用于点对点的数据交换,所以它发送的广播数据包会被IP层拒绝,而且还可能增加终端设备的负荷。

UDP/IP数据包具有多点传送能力,而且所需的应用层协议也比较简单。因此,能够有效减少终端设备的处理时间。

在典型的控制系统中,预期的通讯连接通常需要以几个毫秒为周期,频繁进行数据交换。UDP数据包并不是直接传送给具有“真实”IP地址的接收设备,而是通过一个IP多点传送地址来发送数据。同基于CIP连接标识的点对点传输方式相比较,这种方法的数据包中没有在应用层信息帧之前指定某个具体的接收节点。

在这种情况下,接收设备作为“消费者”,它必须事先知道这个IP多点传送地址(事先已经由“生产者”——发送设备进行了分配)

为了达到这一目的,必须采用非连接报文管理对象。

首先,通讯连接的发起设备(例如,配置为I/O模式的PLC;而另外的PLC或者其它设备作为连接的目标设备)发出点对点的TCP数据包,该数据包指明了连接发起设备需要接收的数据对象,以及按照什么样的速率进行接收。

然后,目标设备的连接管理对象将对数据包的内容进行审核,判断其是否符合该数据对象的连接表和刷新周期。如果符合,这个数据对象将作为“生产者”发送数据(例如,采用多点传送形式),它的连接标识和相关的多点传送IP地址将一并回传给对应的“消费者”设备,如图7所示。如果不符合,UDP协议的相关IP地址和连接标识将被分配,并加载到连接管理对象中。数据不断地通过“生产者”发送,所有知道这个多点传送IP地址和连接标识的设备都可以作为“消费者”,接收并使用这些数据。

最后,当“消费者”设备没有连接到网络上时,必须有相应的机制去关闭这个连接。由于UDP/IP协议采用了无需应答的传输机制,所以“生产者”无法知道是否有“消费者”在线,并且还在接收它发出的数据。为此,每个“消费者”设备还需要向“生产者”发送一种特殊的周期循环报文。在这样的连接过程中,并不传输实际的应用数据,而是用于表明“消费者”设备仍然在线,因此称为“心跳”连接。例如,“生产者”设备正在发送某个数据对象,一旦该数据对象的所有心跳连接超时,那么与之相关的连接都将被关闭。

首先通过TCP数据包建立设备之间的连接,然后利用UDP连接进行I/O数据对象报文交换,从而将网络带宽的占用减少到最低限度。

当然,随着100Mbps以太网的应用,带宽占用率已经不是主要考虑的问题。这种数据通讯方式更为明显的优势在于,它最大限度地减少了终端设备需要处理的数据包,从而提高了这些设备支持隐式报文连接的数目。

VI. EtherNet/IP网络的优势

由于ControlNet、DeviceNet和EtherNet/IP都使用相同的应用层协议,所以它们之间能够共享对象库和设备描述信息。这些数据对象和描述信息可以让不同厂商的复杂设备实现即插即用和互操作。数据对象的定义非常严格,在同一网络中,可以完成实时I/O信息、配置信息以及诊断信息的传送。这就意味着无需编制特殊的软件,便可以将各种复杂的设备,例如变频器、机器人控制器、条形码扫描器、称重仪等设备连接在一起。这样一来,不仅能够快速构建控制系统,还方便了对设备的诊断和维护。

另外,EtherNet/IP网络能够同时为用户提供显式(信息)报文和隐式(控制)报文传输服务。这样一来,EtherNet/IP网络就能够利用轮询、周期循环、状态改变等触发机制,进行点对点和多点数据传输,从而满足控制层、设备层网络的各种要求。

除此之外,由于ControlNet和DeviceNet的应用已经普及,全球范围内有四百多家厂商为这三种网络提供多达五百余种的设备,而且这些设备之间还能实现互操作。可见,支持EtherNet/IP网络的设备覆盖面相当广泛,其数目和种类也在不断增长。

VII. 结论

由于采用了三项先进的技术:100Mbps快速以太网、交换式以太网和终端设备全双工通讯方式,不仅减少了以太网数据冲突的可能性,还使得基于以太网的I/O控制成为可能。

以太网和TCP/IP协议已经十分普及,大多数用户都以此为基础,构建网络,进行各种网络应用。同时,以太网还支持广泛的兼容设备,提供较高的数据吞吐量,而且相关配件的价格也在逐渐降低。可以预见,无论是分布式通讯,还是点对点的数据交换,从企业内部的Intranet网络到贯穿全球的Internet,都将是以太网的天下。在这种环境下,车间现场的以太网设备不仅要在同一个网络中实现控制功能,还要与企业的信息系统进行互操作。用户也需要将不同厂商的设备集成在一起。为了实现这一目标,设备所采用的应用层协议应该具备如下条件:

基于TCP/IP以及UDP/IP协议

使用分布式对象模型

允许控制报文和信息报文在同一以太网中共存

提供基于生产者/消费者通讯模式的网络服务

满足工业自动化系统的各项要求

能够被广大自动化设备厂商接受并实施

在工业自动化领域,实时控制能力和通用的操作性尤为重要。这些功能都可以通过TCP/UDP/IP协议在以太网上实现。