EtherCAT主站SOEM在Ubuntu上的移植

EtherCAT主站SOEM在Ubuntu上的移植

原文:https://blog.csdn.net/ethercat_i7/article/details/52794069?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.nonecase

      SOEM(Simple Open EtherCAT Master)是rt-lab提供的一个开源EtherCAT主站,使用裸套接字收发EtherCAT帧,可以很方便地移植到嵌入式设备上。

      本文介绍如何在Ubuntu(VMware)上运行SOEM主站的步骤,以及通过1个按钮控制一个LED指示灯的简单实验。

1、软硬件环境
      软件:VMware10+Ubuntu14.04, 在此虚拟机上运行SOEM,并连接EtherCAT从站。

      硬件:

      (1)24V电源

        (2) EK1100

        (3)EL1014 (输入通道1接一个按钮)

        (4) EL2004 (输出通道1接一个LED指示灯)

        (5) EL9010

2、获取源码
         从网站http://openethercatsociety.github.io/上下载SOEM1.3.1并在Ubuntu中解压到/opt,解压后的文件如下:

      soem文件夹下为实现EtherCAT master功能的主要文件。

      osal和oshw文件夹下是操作系统的接口文件,包括intime、linux、rtk和win32。

      test文件夹是各操作系统下的一些demo程序。

    

3、编译
       在终端中进入SOEM所在目录:
       :cd /opt/SOEM-1.3.1

       运行初始化脚本:
       : source ./setup.sh linux

       编译:
      : make all

4、打开debug功能
      打开debug功能后,EC_PRINT函数将有效。

      将../soem/EthercatConfig.c文件的第62行注释去掉就可以了:

      // define if debug printf is needed
      #define EC_DEBUG

5、运行demo
      运行test目录下的demo程序:

     : cd /opt/SOEM-1.3.1/test/linux/simple_test

     :./simple_test eno16777736

     其中eno16777736为网卡名称,通过命令ifconfig查询得到,运行效果如下

6、使用Wireshark监控EtherCAT帧
       在主机上运行Wireshark软件,网卡选择本地连接,监控到的数据如下:

      

7、简单实验
       在/soem/test/linux/simple_test.c 中添加一行:

       *(ec_slave[0].outputs = *(ec_slave[0].inputs;

       即通过EL1014的输入控制EL2004,这样就能通过按钮控制LED指示灯的亮灭了。

                  


————————————————
版权声明:本文为CSDN博主「ethercat_i7」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ethercat_i7/article/details/52794069

你可能感兴趣的:(EtherCAT主站SOEM在Ubuntu上的移植)