李 欣,张彩虹,梁 艺(深圳职业技术学院 电子与通信工程学院,广东 深圳 518055)
一种基于EtherCAT网络的开放式CNC实现
李欣,张彩虹,梁艺
(深圳职业技术学院 电子与通信工程学院,广东 深圳 518055)
摘 要:文章分析了EtherCAT工业以太网的特点、性能及主从站通信原理.在开放式CNC主站内核中嵌入帧处理函数,从而将EtherCAT与CNC联系起来,实现一种基于EtherCAT协议的开放式网络化CNC系统,为进一步提高CNC系统的开放性和可靠性,降低系统对硬件的依赖性和整机成本开辟了新的思路.
关键词:EtherCAT网络;开放式;CNC
CNC系统向高速、高精和多轴联动方向发展,信号传输的数字化和网络化成为必然趋势.现场总线和工业以太网以其优异的性能被公认为是CNC系统信号传输新的最佳方案,已得到充分的应用研究和市场验证.将开放式的CNC系统和开放式的总线网络结合起来,不仅能解决传统的集中式模拟量或脉冲量信号传输方式的易受干扰、效率低、布线复杂等问题,还能将CNC系统的开放性延伸至伺服驱动系统,使二者之间不再是专一对应关系.但是,由于在数据链路层普遍采用CSMA/CD、令牌访问、时分复用等介质访问控制策略,易导致数据传输延迟和丢失,实时性和可靠性成为现场总线和工业以太网在CNC系统中广泛应用的最大障碍,高速高精的控制运算及状态反馈指令在传输通道上遇到了瓶颈.以EtherCAT和SERCOSⅢ为代表的新一代高性能工业以太网的出现,为打破这一瓶颈提供了坚实的技术基础[1-2].本研究在开放式CNC主站内核中嵌入帧处理函数,将EtherCAT与CNC联系起来,实现一种基于EtherCAT协议的开放式网络化CNC系统.
EtherCAT是德国倍福自动化公司于2003年推出的基于标准以太网技术的开放式全双工实时工业以太网,具有高速、高可靠性、拓扑结构灵活、兼容性强和成本低廉等特点,是目前实时性能和同步性能最好,且可用于现场级I/O的超高速网络[3-4].EtherCAT采用简化的三层网络结构,底层为标准的以太网物理层;数据链路层增加实时调度软件核并提供过程数据传输独立通道,以提高实时性;应用层为控制程序访问网络环境提供手段,同时为控制程序提供服务[5].处于数据链路层与应用层之间的是EtherCAT状态机,用于主从站之间的状态管理与协调.EtherCAT使网络性能达到一个新的境界,借助于从站硬件集成和网络控制器主站的直接内存存取,1000个I/O更新只需30 µs,100个伺服轴刷新只需100 µs[6].100 Mbps全双工特性和小于1ms的实时性能使其特别适用于伺服技术中底层的闭环控制.
1.1EtherCAT工作原理
EtherCAT采用主从模式介质访问控制方式,通信过程采纳了Interbus总线的“集总帧”技术思想,即将不同设备的过程数据集合在一个以太网数据包中,在报文经过从站设备时,从站可直接从报文中提取或插入相关数据,然后将该报文传输到下一个从站,此过程仅有几纳秒的延迟,最后一个从站返回经过完全处理的报文给控制单元.EtherCAT在软件上采用TwinSAFE技术,实现在同一网络上进行安全相关通信和控制通信,也可采用环形拓扑结构实现硬件冗余,使其可靠性达到安全集成级别SIL3以上[7].
在CNC系统中,各伺服轴之间的精确同步对于插补轨迹生成质量至关重要.研究表明,最有效的同步方法是精确排列分布时钟.EtherCAT主站时钟可以简单精确地确定各从站时钟传播的延迟偏移,分布时钟均基于该值进行调整,这意味着可以在网段内使用非常精确的、小于1µs的确定性的同步误差时钟基.
1.2EtherCAT帧结构
EtherCAT帧结构如图1所示,CRC为循环冗余校验和,WKC为工作计数器,帧类型采用0x88A4以区别其他帧.一个EtherCAT帧中可以包含若干个子报文,每个子报文都服务于一块逻辑过程映像区的特定内存区域,由FMMU (Fieldbus Memory Management Unit,负责逻辑地址与物理地址的映射)寄存器和SM(Sync Manager,负责对通信数据内存的读写)寄存器定义.FMMU允许一个数据报文在几个从站中同时寻址,这样可以把不同从站的一段内存地址映射到同一个子报文中去.同时还支持位映射功能,这就意味着可以把所有从站的I/O数据映射到一个子报文中,这对于量少但交换频繁的I/O量的传输方式有了质的飞跃,大大提高了带宽的利用率[8].
1.3EtherCAT主从站
EtherCAT主站为从站提供通信服务,在每个网络周期中为各个节点处理、发送和接收数据帧.主站由软件实现,其主要功能包括[9]:
图1 EtherCAT帧结构
1)读取XML配置文件,构建主站和从站组态;
2)管理从站,初始化从站,为通信做好准备;
3)通过邮箱方式实现对从站的组态配置;
4)进入正常工作阶段,实现过程数据的实时通信.
EtherCAT从站包括从站控制器ESC(EtherCAT Slave Controller)和应用微处理器, ESC由倍福提供,接口标准且程序完全固化,无需使用者做任何修改.常用的ESC为ET1100芯片,通过设置其内部的各配置寄存器来确定其工作状态. ET1100芯片本身也可用作I/O从站.主从站的通信模式包括周期性过程数据通信和非周期性邮箱通信,前者用于时间关键的数据传输,如数控插补和反馈指令,采用缓存区交换方式通信;后者用于非时间关键的数据传输,如伺服的状态参数设置指令,采用带握手机制的邮箱数据通信.
基于EtherCAT通信协议的纯软件开放式CNC系统整体构架如图2所示.通过在CNC内核底层嵌入EtherCAT主站驱动模块,实现基于CNC控制任务的EtherCAT主站系统.
2.1系统组成构架
基于构建方便和性价比等因素,选择美国SoftServoSystems公司的ServoWorks系列纯软件开放式CNC系统作为主站任务控制器,该系统基于模块化的架构体系,能运行在经实时扩展的Windows/Linux环境下的通用PC上,并带有简洁实用的开发工具供用户做二次开发.如图2所示,核心模块是运行在实时子系统上的CNC内核和EtherCAT主站.CNC内核包括运动引擎、PLC引擎和G代码解析器3个实时功能模块,它们是执行运动控制的关键. EtherCAT主站包括主站驱动和XML解析器,其中主站驱动又包括配置工具接口、状态机、应用程序(CNC)接口、网卡接口等.
基于XML的设备描述技术促进设备描述规范化和标准化,这意味着基于不同协议的设备能在同一个控制系统中实现无缝连接和互操作.EtherCAT在主站驱动程序中包含此功能模块,结合在应用层的众多应用接口协议,如连接CANopen设备的CoE协议和连接SERCOS设备的SoE协议等,使得基于EtherCAT的CNC主站能方便迅速的连接带其他协议的伺服驱动器.
2.2系统的软件实现
软件实现主要由3个功能模块来实现,即网卡相关操作类模块、从站对象配置类模块、以及过程数据传输模块[10].程序结构如图3所示.
图2 基于EtherCAT的开放式CNC整体构架
图3 程序结构
网卡操作包括网卡的信息获取与状态管理,以及EtherCAT帧的过滤和传输等.通过对一个开源的专业网络驱动开发包Wincap进行二次开发,在核心层嵌入EtherCAT数据帧捕捉和过滤函数Ecatfilter.sys,在协议层嵌入Ecatnpf.sys函数接收和发送经过滤的EtherCAT帧,在用户层嵌入Ecatpacket.dll动态链接库实现与CNC数据交互[11]. 使用IntervalZero的实时扩展软件RTX的配置系统,可将整个网卡驱动程序纳入到CNC系统所在的实时系统环境下,以保证数据传输的实时性.
从站对象配置包括FMMU、SM、从站类型和数目、数据长度和存储偏移地址等.在系统初始化阶段,主站读取设备的XML信息后经邮箱数据传输完成对从站RAM中各寄存器的配置,SM通道配置程序流程如图4所示,FMMU的配置与此类似.
完成网卡操作,以及SM、FMMU等寄存器的配置,且当状态机处于操作状态时,就可以进行周期性数据传输.帧的组装在EtherCAT主站中完成,主站使用逻辑写命令将CNC控制指令周期性的填入报文数据区实现数据输出,使用逻辑读命令将各从站的状态指令周期性的从报文中提取实现数据输入,由此实现高速高精的数据通信.另外,主站定时使用广播读命令监听各从站状态,有故障则立即产生中断,提交主站处理.
图4 从站SM通道配置流程图
2.3 实验验证
为验证系统的可行性,选用德国LUST的带标准EtherCAT从站接口的ServoOne系列伺服作为从站,其遵循CANopen协议的DS-402伺服驱动设备规范.
CANopen的核心概念是对象字典(OD). 对象字典是通过网络可以读取的一组预先定义好形式的对象,本质上相当于一个参数列表,字典里的每一个对象可以用一个16位索引和8位子索引来定位,每个设备的对象字典都存储在ESC的存储器中和XML设备描述文件中.CANopen其他重要的概念还包括用于过程参数通信的过程数据对象(PDO),用于参数配置通信的服务数据对象(SDO),以及用于指定每个状态的内部和外部设备特性的有限状态自动机(FSA)等.
利用CoE协议,EtherCAT可以在网段内轻松实现CANopen协议.CNC与伺服驱动器之间通过PDO映射实现周期性同步位置控制,其映射机制如图5所示.CNC生成并通过EtherCAT主站驱动向伺服驱动设备发送周期性同步位置指令值,驱动设备执行相应的动作并将状态值实时反馈给主站系统,多个伺服轴严格的同步协调运动以实现精密的轮廓控制.另外,CNC主站可以提供附加的速度和扭矩值,实现速度和扭矩的前馈控制.
实物平台如图6所示,整个网段由1个主站和4个从站构成,可用于带伺服主轴的三轴CNC加工中心.通信周期设置为0.5ms. 经过初步的测试,系统运行平稳,指令相应迅速,无明显振动和异响.系统的高速高精、以及I/O从站的连接及PLC调试也将逐步展开.
通过验证,开发基于EtherCAT工业以太网的开放式CNC系统方案是可行的,低于1ms的同步性能已远超出传统的基于总线的CNC通信能力(4~8 ms),使高速高精的轮廓控制技术不再受制于通信平台的实时能力.同时,系统硬件数量的减少,可选的伺服驱动器品牌范围得以扩展.随着EtherCAT技术的不断推广,有望真正实现基于零硬件的通用化高性能和低成本的CNC产品.
图5 周期性数据传输映射示例图
图6 基于EtherCAT的开放式CNC平台
参考文献:
[1] Sauter T. The three generations of field-level networks -evolution and compatibility issues[J].IEEE Transactions on Industrial Electronics, 2010,57(11):3585-3595.
[2] 张向利.基于以太网的数控系统现场总线技术研究[D].武汉:华中科技大学,2008.
[3] Sheng J, Chung S, Hansel L, et al. JAUS to EtherCAT Bridge: Toward Real-Time and Deterministic Joint Architecture for Unmanned Systems[J]. Journal of Control Science and Engineering, 27 April 2014:1-20.
[4] 刘喆,郇极,刘艳强.基于XML的EtherCAT工业以太网协议解析技术[J].北京航空航天大学学报,2011,37(9):1086-1090.
[5] 王国河,李伟光.EtherCAT冗余技术在多轴网络运动控制系统中的应用研究[J].组合机床与自动化加工技术,2012(1):58-61.
[6] 刘辉,林威,王培盛,等.EtherCAT时钟同步技术研究[J].计算机测量与控制,2014,22(11):3774-3776.
[7] Rostan M, Stubbs J E, Dmitry Dzilno D. EtherCAT enabled advanced control architecture[C]//2010 IEEE/SEMI, Advanced Semiconductor Manufacturing Conference. San Francisco, USA: IEEE, 2010:39-44.
[8] 徐健,宋宝,唐小琦.EtherCAT与Modbus协议转换网关的设计及实现[J].组合机床与自动化加工技术,2015,4:71-73.
[9] EtherCAT Master, cross platform stack[OL/DB]//2011,http://www.esd-electronics-usa.com/Shared/Handbooks/E therCATMasterDevelopersManual. pdf.
[10] 郇极,刘艳强.工业以太网现场总线EtherCAT驱动程序设计及应用[M].北京:北京航空航天大学出版社,2010.
[11] Zhang Mingzhong, Chen Yongming, Li Yin. Research of communication mechanism in CNC system based on EtherCAT[C]//The 2nd International Conference on Multimedia Technology, Hangzhou, 2011:3614-3618.
An Implementation of Open CNC Based on EtherCAT Network
LI Xin, ZHANG Caihong, LIANG Yi
(School of Electronic and Communication Engineering, Shenzhen Polytechnic, Shenzhen, Guangdong 518055, China)
Abstract:The features, functions and working principles of Ether CAT Network are analyzed. By inserting frame-processing function into the open CNC, EtherCAT is connected with CNC, an open network CNC system based on EtherCAT protocol was implemented. This work opened a new way for further enhancing the openness and reliability of the CNC system, reducing the reliance on hardware and saving the cost of CNC system.
Key words:EtherCAT network; open; CNC
作者简介:李欣(1984-),女,湖北黄冈人,讲师,硕士,主要研究方向为计算数学和网络编程.
收稿日期:2016-02-20
DOI:10.13899/j.cnki.szptxb.2016.03.002
中图分类号:TN919
文献标志码:A
文章编号:1672-0318(2016)03-0010-06