Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RTThreaed
EtherCAT
基于 RT-Thread专业版的EtherCAT主站方案
发布于 2024-06-19 12:03:02 浏览:3203
订阅该版
[tocm] ## (一) 方案介绍 本方案基于 RT-Thread 专业版,在RT-Thread端集成EtherCAT主站协议,通过EtherCAT对伺服电机或远程IO进行实时控制,具备传输速度快,实时性高,扩展设备灵活等特点。在 RT-Thread实时操作系统上运行 EtherCAT主站协议,大大提高了实时性,极大降低了循环同步抖动时间,可满足各种对实时性要求苛刻的应用场景。 以下是在瑞芯微 RK3568平台上实现 EtherCAT 主站控制汇川 SV630ND 伺服驱动电机运行的演示图。 ![1.png](https://oss-club.rt-thread.org/uploads/20240619/0976b65999dd642b7fa722f96bc73aa5.png.webp) 图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协议栈共同使用。 ![2.png](https://oss-club.rt-thread.org/uploads/20240619/3f4e998957166c44824520bb2ca52980.png) 图1-2 EtherCAT数据帧结构 一个完整的数据帧结构如图1-3所示: ![3.png](https://oss-club.rt-thread.org/uploads/20240619/9e84e0ba25a3508cf229b4044af2b616.png.webp) 图1-3 EtherCAT数据帧完整结构 EtherCAT数据位于以太网帧数据区,EtherCAT数据由EtherCAT头和若干EtherCAT数据报文组成。其中EtheRCAT头中记录了EtherCAT数据报的长度、和类型,类型为1表示与从站通讯。EtherCAT数据报文内包含多个子报文,每个子报文又由子报文头、数据和WKC域组成。子报文结构含义如下: ![4.png](https://oss-club.rt-thread.org/uploads/20240619/0cc25c74868be9ce550d9981ebcc0530.png) 图1-4 EtherCAT子报文结构含义 下图为一个EtherCAT数据帧传输动态过程: ![5.gif](https://oss-club.rt-thread.org/uploads/20240619/051fb14020f649d8d59afc1b56bf998e.gif) 图1-5 EtherCAT数据帧传输过程 EtherCAT在伺服电机控制器上的应用中通常是基于CANopen的CiA402标准规范。这套配置文件规范标准化了伺服驱动器、变频器和步进电机控制器的功能行为。在EtherCAT中,通常被称为COE(CANopen Over EtherCAT)。COE中定义了状态机,控制字,状态字,参数值,它们映射到过程数据对象(PDO)配置文件已经在IEC 61800-7系列规范中进行了部分国际化标准。 ![6.png](https://oss-club.rt-thread.org/uploads/20240619/245ca868e2582442b78e68b5acb9fa01.png.webp) 图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。软件框架如下图所示: ![7.png](https://oss-club.rt-thread.org/uploads/20240619/dd696fd6965287128ee9176b160145bf.png.webp) **视频演示** ![3333.jpg](https://oss-club.rt-thread.org/uploads/20240619/bce75cbdb973cfbeab196d7acce93b93.jpg) 视频链接:https://www.bilibili.com/video/BV1w4421X7kE 如您有意向采用RT-Thread专业版并探索其在EtherCAT主站应用,可以及时与RT-Thread团队取得联系,申请试用版亲身体验这一优秀解决方案的实际效能,从而做出最合适的选择。 ![9.png](https://oss-club.rt-thread.org/uploads/20240619/621eaae4cfdbb374e7c4f62cde7e5ebe.png) ** 申请试用** ——————End——————
12
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
RT-Thread小师弟
微信:rtthread2020
文章
289
回答
171
被采纳
33
关注TA
发私信
相关文章
1
RTThread支持loongson2k1000了么?
2
终端出现The aht10 is under an abnormal status
3
为什么系统一直在重启?
4
rt-thread有EtherCAT相关总线协议支持吗?
5
EtherCAT通讯时,怀疑是网络通讯抖动,造成了轮询方式通讯时收到的数据帧不对,请问是什么原因呢?也有人怀疑是RTT的时间精度不够导致的。
6
请教如何优化关闭中断时间
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
at_device
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
张世争
8
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
KunYi
6
个答案
1
次被采纳
本月文章贡献
程序员阿伟
5
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部