本方案基于 RT-Thread 专业版,在RT-Thread端集成EtherCAT主站协议,通过EtherCAT对伺服电机或远程IO进行实时控制,具备传输速度快,实时性高,扩展设备灵活等特点。在 RT-Thread实时操作系统上运行 EtherCAT主站协议,大大提高了实时性,极大降低了循环同步抖动时间,可满足各种对实时性要求苛刻的应用场景。
以下是在瑞芯微 RK3568平台上实现 EtherCAT 主站控制汇川 SV630ND 伺服驱动电机运行的演示图。
图1-1 RK3568混合部署EtherCAT控制汇川SV630ND控制器
EtherCAT (Ethernet Control Automation Technology) 是由德国倍福公司在2003年提出的工业以太网技术,具有很高的实时性。传统的以太网通信中每一个节点都是按照接收,处理和转发这个三个流程进行,而EtherCAT则是同时传输和处理EtherCAT数据。EtherCAT已成为工业自动化领域中最受欢迎的总线协议之一,被广泛应用于机器人、自动化生产线、运动控制等场景。
EtherCAT使用标准的IEEE802.3以太网帧,单从以太网角度看,EtherCAT是二层网络,常说的MAC层,以太网帧头使用以太网类型0x88A4来和其他以太网帧相区别。所以在EtherCAT主站中通常可以在以太网驱动层通过数据帧头识别,分离出TCPIP数据帧和EtherCAT数据帧,实现TCPIP协议栈和EtherCAT协议栈共同使用。
图1-2 EtherCAT数据帧结构一个完整的数据帧结构如图1-3所示:
图1-3 EtherCAT数据帧完整结构
EtherCAT数据位于以太网帧数据区,EtherCAT数据由EtherCAT头和若干EtherCAT数据报文组成。其中EtheRCAT头中记录了EtherCAT数据报的长度、和类型,类型为1表示与从站通讯。EtherCAT数据报文内包含多个子报文,每个子报文又由子报文头、数据和WKC域组成。子报文结构含义如下:
图1-4 EtherCAT子报文结构含义
下图为一个EtherCAT数据帧传输动态过程:
图1-5 EtherCAT数据帧传输过程
EtherCAT在伺服电机控制器上的应用中通常是基于CANopen的CiA402标准规范。这套配置文件规范标准化了伺服驱动器、变频器和步进电机控制器的功能行为。在EtherCAT中,通常被称为COE(CANopen Over EtherCAT)。COE中定义了状态机,控制字,状态字,参数值,它们映射到过程数据对象(PDO)配置文件已经在IEC 61800-7系列规范中进行了部分国际化标准。
图1-6 EtherCAT COE框架图
➢ 正式授权:RT-Thread 成功加入EtherCAT Technology Group(ETG),已是该组织的正式会员,可提供合作伙伴相关授权。
➢ 性能卓越:相对于设定了相同循环时间的其他总线系统,EtherCAT 系统结构通常能减少 25%-30%的 CPU 负载。可以改善控制精度,获得更高的吞吐量,并降低成本;RT-Thread硬实时内核调度,可满足各种对实时性要求苛刻的应用场景;结合千兆网卡及EtherCAT技术,过程控制数据能够实时、快速、高效的传输到节点,具备极低的通信延迟、高效数据处理能力、支持分布式时钟,循环时间小于10us (双轴伺服16字节IN+16字节OUT);
➢ 支持全面:EtherCAT主站支持COE、VOE、SOE、EOE、FOE,可灵活移植适配,不需要复杂初始化配置即可运行,提供全面 API 接口及使用示例,主站部署更简单;
➢ 显控一体:可基于 RT-Thread 混合部署方案,控制显示界面可部署在 Linux 端,使用 Qt 或其他图形库开发显示界面,控制方案在 RT-Thread 实现,实现实时运动控制。
➢ 快速启动:可单独运行 RT-Thread,上面直接部署运动控制方案及轻量级图形界面,实现系统快速启动,上电3秒内即可显示图形界面,进行完整控制。
➢ 调试便利:提供专业 RT-Thread Studio IDE支持,支持Jlink仿真调试,可通过图形化工具一站式开发,编译,下载,调试,可支持断点,单步跟踪,变量查看等功能,开发更高效;
➢ 日志存储:提供日志存储功能,所有运动控制及其他相关重要日志数据都可以被高效,可靠的保存到存储器中。
该 Demo 演示基于RK3568开发板,通过EtherCAT连接汇川SV630ND控制器进行双路伺服电机控制,EtherCAT循环控制周期为1ms,更新时间小于10us。软件框架如下图所示:
全部0条评论
快来发表一下你的评论吧 !