表1给出了常见的几种工业以太网及其管理组织。
表1-1常见工业以太网及其管理组织列表
上述各种工业以太网管理组织的标识如图1-1所示。
图1-1工业以太网管理组织
根据从站设备的实现方式,可将工业以太网分为三种类型:
(1)类型A——通用硬件、标准TCP/IP协议
Modbus/TCP、Ethernet/IP、PROFInet/CbA(版本1)采用这种方式。使用标准TCP/IP协议和通用以太网控制器,结构如图1-2所示。这种方式下,所有的实时数据(如过程数据)和非实时数据(如参数配置数据)均通过TCP/IP协议传输。其优点是成本低廉,实现方便,完全兼容通用以太网。在具体实现中,某些产品可能更改/优化了TCP/IP协议以获得更好的性能,但其实时性始终受到底层结构的限制。
图1-2工业以太网类型A结构
(2)类型B——通用硬件、自定义实时数据传输协议
EthernetPowerlink、PROFInet/RT(版本2)采用这种方式。采用通用以太网控制器,但不使用TCP/IP协议来传输实时数据,而是定义了一种专用的包含实时层的实时数据传输协议,用来传输对实时性要求很高的数据,结构如图1-3所示。TCP/IP协议栈可能依然存在,用来传输非实时数据,但是其对以太网的读取受到实时层(Timing-Layer)的限制,以提高实时性能。这种结构的优点是实时性较强,硬件与通用以太网兼容。
图1-3工业以太网类型B结构
(3)类型C——专用硬件、自定义实时数据传输协议
EtherCAT、SERCOS-III、PROFInet/IRT(版本3)采用这种方式。这种方式在类型B的基础上底层使用专有以太网控制器(至少在从站侧),以进一步
优化性能。其优点是实时性强,缺点是成本较高,需使用专有协议芯片、交换机等。
二、Modbus/TCP
国家标准GB/T19582-2008《基于Modbus协议的工业自动化网络规范》中给出的Modbus协议模型如图2-1所示,其中白色部分表示已有标准/规范,如Modbus串行链路基于现有TIA/EIA标准:TIA/EIA-232-F和TIA/EIA-485-A,Modbus/TCP基于IETF文件:RFC793和RFC791,灰色部分表示该标准中所定义的内容。
图2-1Modbus协议模型
可以看出,Modbus/TCP只是将Modbus应用层协议简单地移植(映射)到
TCP/IP网络上。
2.3Modbus/TCPADU格式
ModbusPDU(协议数据单元)与基础通信层无关,在串行链路和TCP/IP上都是相同的。区别在于,在TCP/IP上使用一种专用报文头来识别Modbus应用数据单元,称为MBAP报文头(Modbus应用协议报文头)。Modbus/TCP协议数据单元格式如图2-2所示。
图2-2Modbus/TCP协议数据单元
MBAP报文头长度为7字节,格式如表2-1所示。其中,事务处理标识符、协议标识符和单元标识符都由客户机在请求报文中设置,服务器在响应报文相应域中返回相同内容。
表2-1MBAP报文头格式
与串行链路上使用的Modbus/RTU应用数据单元相比,Modbus/TCP应用数据单元有如下区别:
(1)MBAP报文头中的单元标识符取代了Modbus串行链路上使用的从站地址域,这使得单个IP地址可支持多个Modbus终端单元,如Modbus/TCP-串行链路网关可支持多个串行链路从站设备;
(2)MBAP报文头中增加了附加长度信息,以便接收节点识别报文边界;
(3)Modbus/TCPADU中去掉了CRC校验域,这是因为以太网帧中已经包含了CRC-32差错校验域。
Modbus协议规定,通过注册502端口上的TCP接收所有Modbus/TCPADU。
2.2Modbus/TCP组件结构模型
Modbus协议规范中提供了一个通用的Modbus/TCP组件结构模型,如图2-12
所示。
图2-12Modbus/TCP组件结构模型
该组件结构模型包括以下几个部分:
(1)用户应用:用户特定应用程序,位于组件结构顶层。
(2)通信应用层:一个Modbus设备可以提供一个客户机和/或一个服务器Modbus接口,并提供Modbus客户接口,使用户应用可以生成各类Modbus服务请求。
(3)TCP管理层:负责全面管理报文传输TCP连接,并控制未知IP地址的访问连接以保证数据安全。TCP502端口是为Modbus/TCP保留的,每个Modbus服务器必须在502端口提供监听服务,允许建立连接和交换数据,而Modbus客户机端口必须大于1024。
(4)TCP/IP协议栈:底层的TCP/IP协议栈主要包括TCP/IP/ICMP/ARP等协议及以太网MAC子层。
三、Ethernet/IP
EtherNet/IP是ODVA推出的一种开放的工业网络标准,充分利用了现有的商用以太网技术、芯片以及物理介质。与DeviceNet和ControlNet一样,EtherNet/IP在应用层也使用CIP(CommonIndustrialProtoco1,通用工业协议)协议,具有相同的应用对象库和设备描述。CIP协议族模型如图3-1所示。
图3-1CIP协议族模型
Ethernet/IP将CIP附加在标准的TCP/IP协议之上。对于面向控制的实时I/O数据,采用UDP/IP协议来传送,其优先级较高。而对于显式信息(如组态、参数设置和诊断等),则采用TCP/IP来传送,其优先级较低。
Ethernet/IP,制定了CIPsync标准。该标准要求每秒钟由主控制器广播一个同步化信号到网络上的各个节点,使所有节点的同步精度准确到微秒级。
四、EthernetPowerlink
EthernetPOWERLINK(以下有时简称为EPL)自2001年由贝加莱公司推出
以来,存在三个版本,如图4-1所示。
图4-1EPL版本
4.1技术特点(贝加莱宣称)
(1)单个网段最多连接240个实时站点;
(2)真正的确定性通信;
●达到IAONA实时等级4级(最高等级);
●快速,100Mbit/s,最小循环周期200us;
●网络站点之间精确同步,抖动小于1us。
(3)标准化;
●底层技术采用IEEE802.3u,快速以太网;
●支持IP协议(TCP,UDP…);
●集成CANopen行规EN50325-4,实现设备的互操作性;
●基于标准的以太网芯片,不需要特别的ASICs。
(4)直接点到点通信;
(5)支持热插拔;
(6)支持多CPU解决方案,优化负载,使之大体平衡。
4.2工作原理
首先需要说明的是,Powerlink存在三个版本,三个版本互不兼容,下面所述的工作原理仅适用于版本2(现行版本)。
EthernetPowerlink参考模型如图4-3所示。
(1)物理层/MAC层
图4-3EPL参考模型
EthernetPOWERLINK帧在以太网帧的数据域里传输,格式如图4-4所示。
图4-4EPL帧格式
数据域位场含义如表4-1所示。
表4-1EPL帧说明
(2)数据链路层
(ControlledNode)。
SCNM规定在一个EPL网络中只有一个激活的管理节点,管理节点配置网络中所有可用的节点。只有管理节点可以独立地发送数据,控制节点只有在得到管理节点允许的情况下发送数据。
图4-5SCNM概念
SCNM协议按照一定的规则预先计划并组织了消息组,一个消息组设为一个EPL循环(见图4-6)。在每个循环中可以分为同步阶段和异步阶段,同步阶段每个同步节点占有固定间隔的时槽,由管理节点轮流访问,从而实现通信的确定性。异步阶段发送非实时数据,数据传送由管理节点调度。
图4-6EPL循环
开始阶段:
同步阶段:
管理节点发送SoC帧后开始同步数据交换。管理节点发送指定地址的单向请求帧PollRequest给控制节点,目标控制节点广播发送响应帧PollResponse给其他所有的节点,允许其他所有的节点监控该帧。PollRequest和PollResponse都可以传输应用数据。管理节点循环访问完同步节点后,管理节点广播发送响应帧PollResponse。
异步阶段:
管理节点发送SoA(Start-of-Asynchronous)帧表示异步阶段的开始,SoA帧用来标记非激活的控制节点,给要发送异步数据的控制节点令牌,以及给控制节点发送异步数据的权限。异步数据的发送由管理节点进行调度,如果控制节点要发送异步数据,它在PollResponse帧或StatusResponse帧中通知管理节点。管理节点的异步数据调度器会决定在哪个循环可以发送异步帧。这决定了发送请求不会被无限期地拖延,即使在网络负载很高的情况下。
空闲阶段:
“Active”节点的识别
管理节点配置有网络中所有节点的列表。管理节点启动的时候,所有的控制节点被标记为“Inactive”,然后这些控制节点被IdentRequest帧(特别的SoA帧)周期访问。当控制节点接收到标有自己地址的IdentRequest帧时,它在同一个异步周期中返回响应帧IdentResponse。当管理节点接收到控制节点来的响应帧IdentResponse时,该控制节点被标记为“Active”。
4.3性能评估
使用集线器(非交换机),半双工机制;需使用主站板卡,非标准网络控制器;受限制的总线型拓扑;
图4-8EPL应用实例
一种基于标准芯片的Powerlink节点结构如图4-9所示。
图4-9
最初,Powerlink宣称“只使用标准的以太网芯片”,但是通过软件实现的协议栈性能并不令人满意。节点需要32位CPU,另外,集线器芯片已经是老式的,最终还是需要专用集成电路芯片或FPGA。
这种分散式的接口实现成本较高,性能无法预测,因此Powerlink现在转变到FPGA实现上,类似于PROFInet、SERCOS-III和EtherCAT。这意味着,Powerlink也在由类型B转变到类型C(类型B、类型C参见第一节中所述)。
4.4应用开发
POWERLINK的设计概念为灵活的实现,它不使用ASIC这样的私有技术,而采用广泛可获取的芯片来实现,如通过ARM、ARM+FPGA、FPGA、多协议芯片来实现,根据实现者对于网络的实时性要求而自由选择,并且,在某些应用要求不高的情况下,采用通用的标准以太网在标准工业PC上就可实现POWERLINK从站,这意味着POWERLINK具有非常灵活的实现。
(1)B&R(贝加莱)POWERLINK从站方案
除了IXXAT,Hilscher及PORT这些服务提供商,B&R现在也提供了一个基于ALTERA和XILINXFPGA芯片的POWERLINK从站方案,受益于不断下降的芯片价格和无需License的优势,POWERLINK从站接口在相同性能下其价格相较于基于ASIC的工业以太网系统降低了45%的成本,除了参考设计,B&R同时也提供在设计阶段的支持,企业级的维护和POWERLINK测试系统。由于其高性能和低生产成本,来自B&R的POWERLINK从站方案也可以用于对成本敏感的产品,例如带有部分电气的紧凑型传感器,高性能的伺服驱动或模块化的I/O系统。新的参考设计不需要制造商有太多的POWERLINK技术经验。
整个包也包括了一个简单的API,它可以通过SPI或8/16微处理器接口,允许各种主机处理器(例如ARM,X86或DSP)连接到一个POWERLINK网络。简单的传感器则无需外部的处理器并可以直接连接到一个POWERLINK从站FPGA,从而降低整体成本。
五、PROFInet
PROFINET由PROFIBUS国际组织(PI)推出,包括三个版本,如图5-1所示。
图5-1
(1)PROFInetCbA
(2)PROFInetRT
(3)PROFInetIRT
图5-2
●PROFInetRT使用标准以太网控制器加软件解决方案实现“软实时”。
●PROFInetIRT使用专用控制器芯片。
图5-3
根据PI组织公开发布文档,Profibμs-IRT性能如表5-1所示。
表5-1
有趣的是,西门子开发了另一种闭环运动控制网络——基于百兆以太网的Drive-CLiQ,用于连接Sinamacs控制器、位置传感器(编码器、转速计等)和终端HMI模块。
总的来看,PROFInetRT并非低价,性能也并不十分优秀,但由于西门子的市场策略(像推销Profibμs一样),长期来看会取得成功。目前德国几家主要汽车厂商已经宣布在汽车装配线上应用PROFInetRT(不包括动力传动领域,即,CNC和运动控制领域)。PROFInetIRT地位则比较尴尬,虽然其性能优越,但是芯片价格昂贵,网络实施和配置复杂,关键算法不公开,最终其定位可能在西门子伺服运动控制应用中,很少有第三方厂商支持。另外,西门子最新的运动控制产品在闭环运动控制中使用了Drive-CLiQ,而不是PROFInetIRT。
六、SERCOS-III
SERCOS-III特性如下:
a)将SERCOS机制应用在以太网物理层中;
b)100Mbps网络传输速率;
c)硬件基于同步机制和环型拓扑;
d)集成了非实时通道(例如TCP/IP)
e)周期和非周期通信;
f)从站间可交叉通信;
g)支持媒介冗余;
h)物理层使用100BASE-TX或光纤;
i)硬实时特性需要专用主站板卡;
j)每个网络最多511个从节点(v1.1版本之后);
k)只支持总线型+环型拓扑。
除最后三项外,SERCOS-III特性与EtherCAT很相像。
SERCOS-III采用了EtherCAT的功能机制:动态处理(onthefly)以太网帧,又有所区别,如下:
a)SERCOS-III将输入和输出数据分为两帧,即,一次循环至少有两帧;
b)从站节点两次处理数据:经过时和返回时;
c)刚性构架设计:运行时无法改变,不能处理位运算映像(nobit-wisemapping);
d)非实时数据(例如TCP/IP)插入在帧间隙。与EtherCAT相比较,这些区别有如下影响:
a)更低的带宽。从站设备处理两次,因此平均比EtherCAT慢2~3倍;
七、EtherCAT
EtherCAT拥有杰出的通信性能,接线非常简单,并对其它协议开放。传统的现场总线系统已达到了极限,而EtherCAT则建立了新的技术标准——30μs内可以更新1000个I/O数据,物理介质可选择双绞线或光纤,并可利用以太网和因特网技术实现垂直优化集成。使用EtherCAT,可以用简单的线型拓扑结构替代昂贵的星型以太网拓扑结构,无需昂贵的基础组件(可省去集线器和交换机)。EtherCAT还可以使用传统的交换机连接方式,以集成其它的以太网设备。其它的实时以太网方案需要与控制器进行特殊连接,而EtherCAT只需要价格低廉的标准以太网卡(NIC)便可实现。
EtherCAT拥有多种机制,支持主站到从站、从站到从站以及主站到主站之间的通信(参见图18)。它实现了安全功能,采用技术可行且经济实用的方法,使以太网技术可以向下延伸至I/O级。EtherCAT功能优越,可以完全兼容以太网,可将因特网技术嵌入到简单设备中,并最大化地利用了以太网所提供的巨大带宽,是一种实时性能优越且成本低廉的网络技术。
7.1性能参数
EtherCAT性能参数如下所示。传输速率:2×100Mbps(全双工)
拓扑结构:几乎支持任何拓扑类型,包括线型、树型、星型等。一个网段内
最多支持65535个节点。
●256个分布式数字量I/O:11μs
●1000个分布式数字量I/O(分布于100个节点):30μs
●200个模拟量I/O(16位):50μs,20kHz采样频率
●100个伺服轴(每轴8字节输入/输出数据):100μs
●一个现场总线主站——网关(1486字节输入/输出):150μs性能比较:
●40轴(每轴6字节输入/输出数据)
●50I/O站,总共560个EtherCAT总线端子
●2000数字量+200模拟量I/O总线长度500m
●其它总线性能:
●ProfinetIRT763μs,PowerlinkV22347μs,ProfinetRT6355μs
7.2运行原理
图7-1性能比较
图7-2过程数据插入至报文中
由于发送和接收的以太网帧压缩了大量的设备数据,所以有效数据率可达
90%以上。100Mb/sTX的全双工特性完全得以利用,因此,有效数据率可大于
100Mb/s(即大于2×100Mb/s的90%),如图7-3所示。
图7-3带宽利用率的比较
EtherCAT可以在单个以太网帧中最多实现1486字节的分布式过程数据通信。其它工业以太网解决方案一般是,主站设备需要在每个网络周期中为各个节点处理、发送和接收帧。而EtherCAT系统在通常情况下,每周期仅需要一个或两个帧即可完成所有节点的全部通信,因此,EtherCAT主站不需要专用的通信处理器,采用标准的以太网MAC控制器即可实现。EtherCAT从站采用专用的EtherCAT从站控制器(ESC)来高速动态地处理数据。网络的性能并不取决于从站使用的微处理器性能,因为所有的通信都是在从站控制器硬件中完成的。过程数据接口(PDI)为从站应用层提供了一个双口随机存储器(Dual-Port-RAM)来实现数据交换。
7.3协议
EtherCAT协议在以太网帧内采用官方指定的以太类型(0x88A4)。采用这种以太类型即可允许在以太网帧内直接传输控制数据,而无需重新定义标准以太网帧。EtherCAT帧可包括几个子报文,每个子报文都服务于逻辑过程映像区的一块特定内存区域,该区域最大可达4GB。数据序列是独立于物理顺序的,所以以太网端子模块的可以任意编址。从站之间的广播,多播和通信也可得以实现。当EtherCAT组件与主站控制器运行在同一个子网,或者在控制软件直接读取以太网控制器时,可以使用以太网帧直接传输数据。
然而,EtherCAT不仅限于单个子网的应用。EtherCATUDP将EtherCAT协议封装为UDP/IP数据报文,如图x所示。这意味着,任何以太网协议堆栈的控
图7-4EtherCAT:符合IEEE802.3[3]的标准帧
7.4分布时钟
精确同步对于同时动作的分布式过程而言尤为重要。例如,几个伺服轴同时执行协调运动时,便是如此。
此外,高分辨率的分布时钟不仅可以用于同步,还可以提供数据采集的本地
7.5设备行规
(EtherCAT实现Ethernet)、SoE(EtherCAT实现SERCOS)、CoE(EtherCAT实现CANopen)等。该特性使得用户和设备制造商可以轻松完成从现有的现场总线到EtherCAT技术的转换过程。
7.6应用开发
图7-4EtherCAT协议栈模型
EtherCAT主站可以使用现有诸多厂商开发的主站模块,也可以使用样本代码,花费不高。软件以源代码形式提供,包括所有的EtherCAT主站功能。开发人员只要把这些代码与目标硬件及所使用的RTOS加以匹配就可以了。该软件代码已经成功应用于多个系统。RT-Linux,RTX,RTXC,QNX,VxWorks,WindowsCE,WindowsNT/NTE/2000/XP/XPE/Vista/7withTwinCATRTE等。
EtherCAT从站设备使用一个价格低廉的从站控制器芯片,或者使用FPGA+
目前有多家制造商均提供EtherCAT从站控制器芯片,如Beckhoff公司的
EtherCATASIC芯片ET1100/ET1200,提供了16/32数字量I/O、SPI和8/16位μC(仅ET1100)接口方式,可以单独使用或与通用微处理器配合使用。EtherCATASIC能够实现简单的数字量模块,而不再需要微控制器或研发自带处理器的智能设备。这两种ASIC芯片都带有分布式时钟功能,能够实现EtherCAT从站<1μs的高精度同步。赫优讯的netX系列芯片也可作为EtherCAT从站控制器。
Beckhoff公司的ET1810/ET1815是用于Altera和XilinxFPGA的EtherCATIP核,可以在一个FPGA上实现EtherCAT通信功能和专用功能。EtherCAT功能可自由配置。可将IPCore集成到自己的FPGA设计中,并提供Avalon(Altera)或OPB(Xilinx)接口与软核处理器通信。物理接口和内部功能可调,例如FMMU和同步管理器数量、PRAM大小等等。过程数据接口(PDI)和分布式时钟也是可配置的。其中包含的各个功能都与EtherCAT规范和EtherCATASIC芯片
(ET1100,ET1200)兼容。
对话侯康选:从“抢修”到“预防”,智能IT运维的正确打开方式