米尔电子
直播中

jf_15811252

3年用户 252经验值
擅长:嵌入式技术
私信 关注
[技术]

【米尔-瑞萨RZ/G2UL开发板】6.基于SOEM的EtherCat主站

1. EtherCAT简介

准备工作EtherCAT(Ethernet Control Automation Technology)是一种高性能实时以太网通信协议,用于在工业自动化领域中进行实时控制和通信。它是由德国Beckhoff自动化公司在2003年开发的,并被国际电工委员会(IEC)标准化为IEC 61158标准。

EtherCAT的设计目标是实现极低的通信延迟和高带宽的数据传输,以满足高速控制和数据采集的需求。它通过一种特殊的主从架构实现,其中一个主站(Master)负责协调整个网络,而从站(Slave)则负责提供输入输出功能

EtherCAT由一个主站设备和多个从站设备组成。主站设备使用标准的以太网控制器,具有良好的兼容性,任何具有网络接口卡的计算机和具有以太网控制的嵌入式设备都可以作为EtherCAT的主站。对于PC计算机而言,主站控制器多采用倍福开发的TwinCAT软件。EtherCAT从站使用专门的从站控制器(ESC),如专用集成芯片ET1100和ET1200,或者是利用FPGA集成EtherCAT通信功能的的IP-Core。EtherCAT物理层使用标准的以太网物理层器件,如传输介质通常使用100BASE-TX规范的5类UTP线缆。

在EtherCAT网络中,主站和从站之间的通信是实时的、高效的和可靠的。主站通过广播方式将命令和控制数据传输到所有的从站,从站接收到相应的数据后进行处理并发送响应。这种并行处理的方式使得EtherCAT能够实现低延迟和高带宽的数据交换,适用于对实时性要求较高的工业自动化应用。

2. 实现过程

下载EtherCAT源码:git
clone https://github.com/OpenEtherCATsociety/SOEM
image.png

在终端中进入该路径,安装一下Cmake:
image.png

添加编译工具:

image.png

新建文件build_MYIR,并进入这个文件 ,输入cmake ..

image.png

然后输入make:

Scanning dependencies of target soem

[
4%] Building C object CMakeFiles/soem.dir/soem/ethercatbase.c.o

[
9%] Building C object CMakeFiles/soem.dir/soem/ethercatcoe.c.o

[ 14%] Building C object
CMakeFiles/soem.dir/soem/ethercatconfig.c.o

[ 19%] Building C object
CMakeFiles/soem.dir/soem/ethercatdc.c.o

[ 23%] Building C object
CMakeFiles/soem.dir/soem/ethercateoe.c.o

[ 28%] Building C object
CMakeFiles/soem.dir/soem/ethercatfoe.c.o

[ 33%] Building C object
CMakeFiles/soem.dir/soem/ethercatmain.c.o

[ 38%] Building C object
CMakeFiles/soem.dir/soem/ethercatprint.c.o

[ 42%] Building C object
CMakeFiles/soem.dir/soem/ethercatsoe.c.o

[ 47%] Building C object CMakeFiles/soem.dir/osal/linux/osal.c.o

[ 52%] Building C object
CMakeFiles/soem.dir/oshw/linux/nicdrv.c.o

[ 57%] Building C object
CMakeFiles/soem.dir/oshw/linux/oshw.c.o

[ 61%] Linking C static library libsoem.a

[ 61%] Built target soem

Scanning dependencies of target simple_ng

[ 66%] Building C object
test/simple_ng/CMakeFiles/simple_ng.dir/simple_ng.c.o

[ 71%] Linking C executable simple_ng

[ 71%] Built target simple_ng

Scanning dependencies of target slaveinfo

[ 76%] Building C object
test/linux/slaveinfo/CMakeFiles/slaveinfo.dir/slaveinfo.c.o

[ 80%] Linking C executable slaveinfo

[ 80%] Built target slaveinfo

Scanning dependencies of target eepromtool

[ 85%] Building C object
test/linux/eepromtool/CMakeFiles/eepromtool.dir/eepromtool.c.o

[ 90%] Linking C executable eepromtool

[ 90%] Built target eepromtool

Scanning dependencies of target simple_test

[ 95%] Building C object
test/linux/simple_test/CMakeFiles/simple_test.dir/simple_test.c.o

[100%] Linking C executable simple_test

[100%] Built target simple_test

打开MobaXterm,通过SSH连接到开发板,手动设置:

image.png

SSH与开发连接:

image.png

将编译的文件放到开发板的/mnt/d路径下,如下所示:

image.png

添加运行权限:

image.png

运行:

image.png

更多回帖

发帖
×
20
完善资料,
赚取积分