基于EtherCAT的多轴运动控制器研究专家:刘艳强 领域:工业以太网 行业:网络通讯 日期:09-12-16 14:20 点击数:6222 |
基于工业以太网的运动控制器在工业机器人、数控机床和机电一体化加工和测试设备中获得了广泛应用。由于以太网通信速度快、数据量大等特点使运动控制性能得到了极大的提升。EtherCAT(Ethernet for Control Automation Technology)技术(也称为以太网现场总线)是德国BECKHOFF公司提出的实时工业以太网技术,它基于标准的以太网技术,具备灵活的网络拓扑结构,系统配置简单,具有高速、高有效数据率等特点,其有效数据率可达90%以上,全双工特性完全得以利用。本文设计和实现了基于EtherCAT的伺服控制器从站,每个从站可以最多控制8个伺服轴。 1 EtherCAT技术介绍 EtherCAT支持几乎所有的拓扑类型,包括线型、树型、星型等,其在物理层可使用100BASE-TX双绞线、100BASE-FX光纤或者 LVDS(Low Voltage Differential Signaling, 即低压差分信号传输),还可以通过交换机或介质转换器实现不同以太网布线的结合。快速以太网的物理层(100Base-TX)允许两个设备之间的最大电缆长度为100米,而LVDS的物理层只能保障10米的传输间距,适合于近距离站点的连接。整个网络最多可以连接65535个设备。 借助于从站中的EtherCAT专用芯片和主站中读取网卡数据的DMA技术,整个协议处理过程都在硬件中进行。EtherCAT系统可以在30μs内刷新1000个I/O点,它可以在300μs内交换一帧多达1486个字节的协议数据,这几乎相当于12000个数字量输入或输出。控制100个输入输出数据均为8字节的伺服轴只需要100μs[2]。EtherCAT的高性能使它还可以处理分布式驱动器的电流(转矩)控制。
EtherCAT于2005年2月正式成为IEC规范-IEC/PAS 62407。除此之外,EtherCAT技术也将集成到国际现场总线标准的下一代标准IEC61158和IEC61800-7(电子功率可调速驱动系统框架与接口)之中。国际标准组织(ISO)已将EtherCAT纳入ISO15745标准。EtherCAT技术引起了自动化技术领域的广泛关注,并于2003年成立了EtherCAT技术组织,简称ETG。到目前为止,ETG组织成员已超过500个。 2 EtherCAT技术的实现 2.1 EtherCAT主站的实现 (1) 读取XML配置文件,根据配置文件信息构造主站与从站设备; (2) 管理EtherCAT从站,发送配置文件中定义的初始化帧,初始化从站,为通信做准备; (3) 使用邮箱操作实现非周期性数据传输,配置系统参数,处理通信过程中某些偶然性事件; (4) 实现过程数据通信,完成主站与从站之间的实时数据交换,达到主站控制从站运行,并处理从站实时状态的功能。 主站代码结构图如图4:
3EtherCAT伺服控制器原理
从站控制底板采用Atmega128芯片作为处理器,通信卡使用BECKHOFF公司提供的ESC20控制器,运动控制卡为一种多功能的位置控制卡,可以完成位置控制和速度控制 3.2 数据通信
数据模块头使用2个字节,包括4位的运动控制卡地址和3位工作方式。从站上的每个运动控制卡分配不同的地址,从站根据数据模块头中的地址信息寻址相应的运动控制卡,并根据工作方式控制运动控制卡的工作。从站运动控制卡可以工作在位置控制、速度控制、回参考点以及读编码器计数值等方式下。握手位用于工作方式切换时主站和从站之间的握手。 指令数据模块中,指令控制字使用2个字节,包括伺服使能控制、复位控制等伺服控制信息;指令数据使用6个字节,对应不同控制方式下的指令值,如位置指令数据、速度指令数据等。状态数据模块中,状态字使用2个字节,包括伺服使能状态及报警信息等反馈信息;状态数据使用6个字节,对应于不同控制方式下的反馈值,例如位置控制下的实际位置值和当前跟随误差,速度控制方式下的实际速度值,I/O方式下的输入值等。 主站和从站之间进行周期性的通信来完成伺服控制,其通信时序如图8所示。数据帧传输完成后,从站在T1时刻前从通信控制卡读取指令数据,并经过运算后输出到运动控制卡;在T2时刻之前读取运动控制卡实际状态,并写入通信控制卡,等待下个数据帧读取。
初始化阶段:建立主从站通信,包括主站分配ESC从站通信地址,初始化ESC相关寄存器,配置通信参数,为通信做准备,从站单片机从EEPROM读入从站配置数据,配置伺服轴数、设置各伺服轴的状态(是否参加通信)、通信周期等,从站在初始化阶段还要配置通信类型、初始状态的工作方式及各通信参数变量等。 周期运行阶段:上位机PC按照协议及控制要求把控制字和指令数据发送到各个从站,从站单片机读出数据并译码处理,同时采集各伺服轴的状态反馈信息并填写状态数据包。PC机收到返回的数据帧,读取状态数据报文中的信息并做相应的处理。程序流程图如图9所示。 当从站单片机完成初始配置工作后,开始进入工作循环,等侍EtherCAT数据帧的到来,当数据帧到达ESC20控制器时,ESC20接收数据帧,向控制芯片发出中断,Atmega128单片机响应中断读出指令数据,处理后发送给动动控制卡,并检测是否有状态请求事件发生。如果状态请求模块数据到来,程序读取当前伺服状态数据,写入状态模块数据结构,返回给主站,一次通信结束。 4 结论 [1] 德国倍福公司.实时以太网:I/O层超高速以太网.工业以太网与现场总线 [2] EtherCAT技术组.EtherCAT-以太网现场总线 [3] 杜品圣.工业以太网技术的介绍和比较.仪器仪表标准化与计量.2005,5:16-19 [4] 张鑫,李宝峰.工业以太网关键性技术研究.中国水运.2007.1第519821216卷 [5] 陈曦,刘俊峰,付少波.工业以太网传输延时特性分析.计算机与信息技术
|