SOEM主站安装及简单试用记录

        学习SOEM主站过程中进行的一些记录,防止以后遗忘,顺便分享出来,适合新手入门看看。

1. SOEM的安装

        SOEM安装还是比较容易的。我的安装环境是debian9,在类似的linux系统下安装方法类似。没有尝试在windows下安装,如有需要,大家可以查阅其他资料。

        进入SOEM主站官网Open EtherCAT Society: Home of SOEM and SOES

下拉,找到对应的版本,我下载的是SEOM-1.3.1

SOEM主站安装及简单试用记录_第1张图片

         下载完后,解压到自己的目录下。然后在该目录下打开终端,输入以下命令即可安装完成。

source ./setup.sh linux

make all

2. SOEM简单试用

        利用网线将ethercat从站连接至电脑网口,接通电源。终端中输入以下命令,查找ethercat从站使用了哪个网口。

ifconfig

        输入命令后可以看到以下情况,因为电脑安装了多个网卡。此处需要自行判断是用了哪个。测试时实际连接在eth1网卡上。

SOEM主站安装及简单试用记录_第2张图片

        得知这个关键信息后,即可运行SOEM中一个自带的简易程序。终端中输入命令如下

sudo 你的目录/SOEM-1.3.1/test/linux/simple_test/simple_test 你的网卡名

 运行效果如下,

SOEM主站安装及简单试用记录_第3张图片

 至此,说明你的SOEM至少是已经可以正常工作的。但是simple_test这个测试只是在进行简单的循环操作,每次循环时打印过程数据ProcessData的输入输出状态。下面将尝试怎么修改这个文件来满足我们自己的需要。

3. SOEM主站应用程序的简单修改

        打开原SOEM-1.3.1/test/linux/simple_test文件夹下的simple_test.c文件可以看到代码,截取部分如下。可以看到第97行中,设置的循环次数为10000次。由于运行此段测试代码时循环太多,导致打印的字符占满了整个终端,现在进行一个简单的修改,即将此处的10000次改为10次,然后看如何编译通过。

SOEM主站安装及简单试用记录_第4张图片

         修改后的文件另存为simple_test1.1.c后在目录下编译将会报错。首先查看本目录下的Makefile,查看后可以看到其中有一些变量值。因此,需要像安装SOEM时一样,首先source一下,然后再make。需要执行的命令如下

cd 你的目录/SOEM-1.3.1
source ./setup.sh linux
cd /test/linux/simple_test
make 

        然后发现仍然会报错,如下

SOEM主站安装及简单试用记录_第5张图片

        因此尝试改正,修改Makefile中APPNAME = simple_test1.1 发现仍然报同样的错误。考虑到报错提示重复定义,怀疑可能是需要删除掉之前原始文件以及其编译生成的库文库。

        进入SOEM-1.3.1/test/linux/simple_test/obj/linux目录删除simple_test.o和simple_test.d

再次make,发现编译通过,如下

        输入以下代码,运行修改后的程序,

sudo 你的目录/SOEM-1.3.1/test/linux/simple_test/simple_test1.1 你的网卡名

         运行结果如下,SOEM主站安装及简单试用记录_第6张图片

         此处仍然有些疑问,改了循环次数为10次。但实际却只打印了第十次,而不是打印10次。因此,需要进一步研究代码中写的内容。

        后面尝试了如何去控制IO模块的输入输出。发现已经有博主分享过了,此处就贴上他的链接吧,大家可以自行查阅,按照文中方式修改代码即可,链接如下,

SOEM控制io超简洁程序_IGH EtherCAT的博客-CSDN博客_ec_config_init

你可能感兴趣的:(debian)