EtherCAT是一种应用于工厂自动化和流程自动化领域的实时工业以太网现场总线协议,是工业通信网络国际标准IEC61158和IEC61784的组成部分。《工业以太网现场总线EtherCAT驱动程序设计及应用》介绍了:实时工业以太网技术进展、EtherCAT系统组成原理、EtherCAT协议、从站专用集成电路芯片ET1100、ET1100从站硬件设计实例、EtherCAT用于伺服驱动器控制应用协议CoE和SoE、Windows XP操作系统下EtherCAT主站驱动程序设计、基于微处理器的EtherCAT从站驱动程序设计和开发实例。, 《工业以太网现场总线EtherCAT驱动程序设计及应用》可作第1章概述第1章概述将计算机网络中的以太网技术应用于工业自动化领域构成的工业控制以太网,简称工业以太网或以太网现场总线,是当前工业控制现场总线技术的一个重要发展方向。与使用传统技术的现场总线相比,以太网现场总线具有以下优点:传输速度快,数据包容量大,传输距离长使用通用以太网元器件,性能价格比高:可以接入标准以太网网段1.1实时工业以太网概述实时以太网( RTE Real time ethernet)是常规以太网技术的延伸,以便满足工业控制领域的实时性数据通信要求。目前,国际上有多种实时工业以太网协议,国际电工委员会IEC制定了两个与实时工业以太网相关的标准:(1)正C61158:工业通信网络——现场总线规范( Industrial communication networks-Fieldbus specificationsIC61158是IC制定的现场总线国际标准,于1999年发布了第一版,包括8种现场总线协议。随着实时以太网的发展,IC61158也新增了实时以太网的标准,于2007年12月出版的IC61158第4版包括了10种工业以太网协议标准,如表1.1所列。其中 Type2 CIP( Common Industry protocol)包括 Devicenet、 ControlNet现场总线和 Ethernetip实时工业以太网。(2)IEC61784:工业通信网络—一—行规规范( Industrial communication networksProfiles xIEC61784为lEC61158中的现场总线标准制定了应用行规标准,其中第一部分IEC61784-1为传统现场总线的应用行规族(CP, Communication Profile Family),第二部分IEC617842为基于 ISOTEC8802-3的实时工业以太网CPF。表1.1中也同时列出了CPF与IEC61158当中技术名称的对应关系。以太网的介质访问控制MAC( Media access control)方式釆用带有冲突检测的载波侦听多路访问机制 CSMA/CD( Carrier Sense Multiple Access with Collision Detection)。这是一种非确定性的介质访问控制方式,不能满足工业现场总线的实时性要求。目前,市场上已有的实时工业以太网根据不同的实时性和成本要求使用不同的实现原理,大致可以分为以下三种类型,如图1.1所示。工业以太网现场总线 EtherCat驱动程序设计及应用表1.1EC61158第四版现场总线类型类型编号技术名称CPI支持组织和公司分类TTS61158IEC现场总线Type 2CIPCPFCI(美因)ODVM(美国)、 RockwellDeviceNet, ControlNet美国和 Et hernet/IPType 3Prof ibusCPE3PI、 Siemens(德)现场总线Type 4P-NETCPFAProcess data(丹麦)现场总线Type 5FF HSECPFlFF Fisher- Rosemount(美国)高速以太网Type bSwift NetCPFTSHIP STAR、 Boeing(美国)被撤消Type 7w orIf IPCPFDWorldfIp、Mlst(法国)现场总线TvpeINTERBUSCPF6INTERBUS Clul、 Pheonix contact现场总线德国)Type 9FF HICPFIFF(美国)现场总线Type 10PROFINETCPFPI、 Siemens《德因实时以太网TvpeTC-netCELlToshiba《日本实时以太网Type12EthercatCPF12ETG、 Berkhof f(德国)实时以太网Type: 13EthernetCPF13EPSG、B&R(奥地利)实时以太网overLnkType 14EPACPF14浙大中控等(中国)实时以太网Type 15Modbus- RTPSCPFI5MODEUS.IDA(美国)实时以太网Type 16SERCOS I, IICPFI6I(德国)现场总线Type I7WNET/IPCPFIDYokogawa(日本)实时以太网Tvpe18CC-L inkCPFS三菱(日本)现场总线Type 19SERCOS IIICPFI6IGS(德国实时以太网Tvpe 20HARTCPFOHART通信基金协会(美国)现场总线(b)T应实时T应实时T应实时用应用用1应用用‖应用TCP/过程TCP/过程TCP /IP数据数据定时控制定时控制标准以太网标准以太网修改过的以太网通用电缆图1.1以太网通信模型第1章概述(1)基于TCPP的实现(如图1.1(a)所示)这种方式仍使用τCPP协议栈,通过上层合理的控制来应对通信中非确定性因素。此吋,实时网络可以与商用网络自由地通信。常用的通信控制手段有:合理调度,减少冲突的可能性:定义数据帧的优宄级,为实时薮据分配最髙的优宄级;使用交换式以太网等。使用这种方式的典型协议有 Modbus(P和 Ethernetip等。这种方式不能实现很好的实时性,只适用于对实时性要求不高的工业过程自动化应用。2)基于以太网的实现(如图1.1(b)所示)这种方式仍然使用标准的、未修改的以太网通信硬件,但是不使用 TCP/IP来传输过程数据。它引入了一种专门的过程数据传输协议,使用特定以太类型的以太网帧进行传输。TCPP协议栈可以通过一个时间控制层分配一定的时间片来使用以太网资源。这类协议主要有 Ethernet powerlink、EPA( Ethernet for plant automation)、 PROFINet rt等通过这种方式。这种方式可以实现较高的实时性。(3)修改以太网的实现(如图1.1(c)所示)为了获得响应时间小于1ms的硬实时,通过这种方式对以太网协议进行了修改。其从站由专门的硬件实现。在实吋通道内由实时MAC接管通信控制,彻底避免报文冲突,简化通信数据处理。非实时数据仍然可以在开放通道内按照原来的协议传输。这种方式下的典型协议有 Ethercat、 SERCOS和Ⅲ和 PROFINet irt等。1.2 Ethercat协议概述Ethercat是由德国 BECKHOFF自动化公司于2003年提出的实时工业以太网技术它具有高速和髙数据有效率的特点,支持多种设备连接拓扑结构。其从站节点使用专用的控制芯片,主站使用标准的以太网控制器。EtherCat的主要特点如下:①广泛的适用性,任何带商用以太网控制器的控制单元都可作为 Ethercat主站。从小型的16位处理器到使用3GH处理器的PC系统,任何计算机都可以成为 Ethercat控制系统②完全符合以太网标准, Ethercat可以与其他以太网设备及协议并存于同一总线,以太网交换机等标准结构组件也可以用于 Ether cat。③无须从属子网,复杂的节点或只有2位的IO节点都可以用作 EtherCat从站④高效率,最大化利用以太网带宽进行用户数据传输。⑤刷新周期短,可以达到小于100μs的数据刷新周期,可以用于伺服技术中底层的闭环控制。⑥同步性能好,各从站节点设备可以达到小于1μs的时钟同步精度目前, Ethercat已经进入多种相关国际标准:·正EC68中 Typel2:C61784中CPF12:EC61800中, EtherCAT支持 CANopen ds402和 SERCOS;工业以太网现场总线 EtherCat驱动程序设计及应用lSO15745中, Ethercat支持DS301EtherCat支持多种设备连接拓扑结构:线形、树形或星形结构,可以选用的物理介质有100Base-TX标准以太网电缆或光缆。使用100Base-TX电缆吋站间距离可以达到100m整个网络最多可以连接65535个设备。使用快速以太网“全双工”通信技术构成主从式的环型结构如图1.2所示。主站以太网顿头HDR子报文1子报文2子报文3…FCS图12 EtherCAT运行原理从以太网的角度看,个 Ether cat网段可被简单地看作一个独立的以太网设备。该“设备”接收并发送以太网报文。然而,这个“设备”并没有以太网控制器及相应的微处理器,而是由多个 Ether cat从站组成。这些从站可直接处理接收的报文,并从报文中提取或插入相关的用户数据,然后将该报文传输到下一个 EtherCat从站。最后一个 Ethercat从站发回经过完全处理的报文,并由第一个从站作为响应报文发送给控制单元。这个过程利用以太网设备独立处理双向传输(Tx和Rx)的特点,并运行在全双工模式下,发出的报文又通过Rx线返回到控制单元。报文经过从站节点时,从站识别出相关的命令并做出相应的处理。信息的处理在硬件中完成,延迟时间约为100-500ns(取决于物理层器件),通信性能独立于从站设备控制微处理器的响应时间。每个从站设备有最大容量为64K字节的可编址内存,可完成连续的或同步的读写操作。多个 thereat命令数据可以被嵌入到一个以太网报文中,每个数据对应独立的设备或内存区从站设备可以构成多种形式的分支结构,独立的设备分支可以放置于控制柜中或机器模块中,再用主线连接这些分支结构。EtherCat大大提高了现场总线的性能,例如,控制1000个开关量输入和输出的刷新时间约为30μs。单个以太网帧最多可容纳1486字节的过程数据,相当于12000位开关量数宁输入和输出,刷新时间约为300μs。控制100个伺服电机的数据通信周期约为100usEther ca使用一个专门的以太网数据帧类型定义,用以太网数据帧传输 Ethercat数据包,也可以使用 UDP/IP协议格式传输 Ethercat数据包。一个 Ethercat数据包可以由多个 Ethercat子报文组成,如图1.,2所示。 Ethercat从站不处理非 Ethercat数据帧,其他类型的以太网应用数据可以分段打包为 Ethercat数据子报文在网段内透明传输,以实现相应的通信服务。第2章 EtherCat协议第2章 EtherCaT协议2.1 EtherCat条统组成EtherCat是一种实时工业以太网技术,它充分利用了以太网的“全双工”特性。使用主从模式介质访问控制(MAC),主站发送以太网帧给各从站,从站从数据帧中抽取数据或将数据插入数据帧。主站使用标准的以太网接口卡,从站使用专门的 Ethercat从站控制器ESC( Ether cat Slave controller)。 EtherCat物理层使用标准的以太网物理层器件。从以太网的角度来看,一个 Ether cat网段就是一个以太网设备,它接收和发送标准的 ISO/IEC8802—3以太网数据帧。但是,这种以太网设备并不局限于一个以太网控制器及相应的微处理器,它可由多个 Ethercat从站组成,如图2.1所示。这些从站可以直接处理接收的报文,并从报文中提取或插入相关的用户数据,然后将该报文传输到下一个Ethercat从站。最后一个 Ethercat从站发回经过完全处理的报文,并由第一个从站作为响应报文将其发送给控制单元。从站』从站Ethernet头输出数据输入数据从站从站从站n从站n输出数据|输入数据输出数据输入数据下电退润心从站控制器(ESC从站控制器(ESCRX+处坪这→处理一国报返上行电报从站从站i从站n闺闺LO端子伺服设备同服设备图2.1 Ethercat运行原理21.1 EtherCat主站组成Ethercat主站使用标准的以太网控制器,传输介质通常使用100BASE-TX规范的5类UTP线缆,如图2.2所示。通信控制器完成以太网数据链路的介质访问控制(MAC,Media access control)功能,物理层芯片PHY实现数据编码、译码和收发,它们之间通过一个MI( Media Independent Ineterface)接口交互数据。M是标准的以太网物理层接口,定义了与传输介质无关的标准电气和机械接口,使用这个接口将以太网数据链路层和物理工业以太网现场总线 EtherCat驱动程序谩计及应用层完全隔离开,使以太网可以方便地选用任何传输介质。隔离变压器实现信号的隔离,提高通信的可靠性M隔离变压器RJ45输出控制TX主站:物出数据标准以太网通物理层芯片PHY信控制器芯片输入控制RXKaRE图2.2 EthercAT物理层连接原理图在基于PC的主站中,通常使用网络接口卡NIC( Network Inter face card),其中的网卡芯片集成了以太网通信控制器和物理数据收发器。而在嵌入式主站中,通信控制器通常嵌入到微处理器中。2.1.2 Ethercat从站组成EtherCAt从站设备同时实现通信和控制应用两部分功能,其结构如图2.3所示,由以下四部分组成。实现应用层其它应用层器件邮箱通信和控制任务)从站控制微处理器存储从站实现数据链路配置数据层数据帧处理- EtherCAT从站控制器EEPROM(ESC)物理层器件MIL/EBUS物理层器件图23 EtherCat从站组成L. Ethercat从站控制器ESCEthercat从站通信控制器芯片ESC负责处理 Ethercat数据帧,并使用双端口存储区第2章 EtherCat协议实现 Ethercat主站与从站本地应用的数据交换。各个从站ESC按照各自在环路上的物理位置顺序移位读写数据帧。在报文经过从站时,ESC从报文中提取发送给自己的输出命令数据并将其存储到内部存储区,该输入数据从内部存储区又被写到相应的子报文中。数据的提取和插入都是由数据链路层硬件完成的。ESC具有四个数据收发端口,每个端口都可以收发以太网数据帧。数据帧在ESC内部的传输顺序是固定的,如图2.4所示。通常,数据从端口0进入ESC,然后按照端口3端口1端口2端口θ的顺序依次传输。如果ESC检测到某个端口没有外部链接,则自动闭合此端口,数据将自动回环并转发到下一端口。一个 Ethercat从站设备至少使用两个数据端口,使用多个数据端口可以构成多种物理拓扑结构。物理层芯片審件端口3端口0数据回环端口物理层ESC物理层器件器件端口2物理层芯片器件图2.4ESC数据传输顺序ESC使用两种物理层接口模式:MI和EBUS。MI是标准的以太网物理层接口,使用外部物理层芯片,一个端口的传输延时约为500ns。EBUS是德国 BECKHOFF公司使用IVDS( Low Voltage Differential Signaling)标准定义的数据传输标准,可以直接连接ESC芯片,不需要额外的物理层芯片,从而避兔了物理层的附加传输延时,一个端口的传输延时约为100ns。EBUS最大传输距离为10m,适用于放置距离较近的IO设备或伺服驱动器之间的连接2.从站控制微处理器微处理器负责处理 Ethercat通信和完成控制任务。微处理器从ESC读取控制数据,实现设备控制功能,并采样设备的反馈数据,写入ESC,由主站读取。通信过程完全由ESC处理,与设备控制微处理器响应时间无关。从站控制微处理器性能选择取决于设备控制任8工业以太网现场总线 EtherCat驱动程序谩计及应用务,可以使用8位、16位的单片机及32位的高性能处理器。3.物理层器件从站使用MI接口时,需要使用物理层芯片PHY和隔离变压器等标准以太网物理层器件。使用EBU时不需要任何其他芯片。4其他应用层器件针对控制对象和任务需要,徴处理器可以连接其他控制器件。21.3 Ethercat物理拓扑结构在逻辑上, EtheRCAt网段内从站设备的布置构成一个开口的环型总线。在开口的一端,主站设备直接或者通过标准以太网交换机插入以太网数据帧,并在另一端接收经过处理的数据帧。所有的数据帧都被从第一个从站设备转发到后续的节点。最后一个从站设备将数据帧返回到主站Ethercat从站的数据帧处理机制允许在 Ether cat网段内的任一位置使用分支结构,同时不打破逻辑环路。分支结构可以构成各种物理拓扑(如线形、树形、星形,菊花链形)以及各种拓扑结构的组合,从而使设备连接布线非常灵活方便。如图2.5中,主站发出数据帧后的传输顺序如图中数竽标号①~所示,其中从站8使用了ESC的全部四个端口,构成星型拓扑。目街图25 EtherCat线型拓扑结构