基于LinuxCNC下的EtherCAT的下载,安装,编译 《一》

声明:本文是参考他人的博客最后成功安装EtherCAT主站的
加上参考的文章链接
https://blog.csdn.net/scyhk/article/details/51672136
https://blog.csdn.net/absinjun/article/details/81449033

在安装之前要检测是否已经安装好实时补丁了,如果没有安装请参考,识荒者大佬的文章
https://blog.csdn.net/absinjun/article/details/81506326

执行 uname -r

如果出现以下则说明已经安装好了
基于LinuxCNC下的EtherCAT的下载,安装,编译 《一》_第1张图片

1、下载IgH EtherCAT Master的源码
http://etherlab.org/en/ethercat/
双击网址之后进入页面找到下图所示的页面,点击 Sources code [tar.bz2]格式的压缩包
基于LinuxCNC下的EtherCAT的下载,安装,编译 《一》_第2张图片
1.1 把下载到的压缩包复制到 根目录下的usr

$ /usr

1.2cd 到 / usr目录下 解压 ethercat-1.5.2.tar.bz2 执行下列命令

sudo tar -vexf ethercat-1.5.2.tar

1.3 解压之后得到一个目录文件ethercat-1.5.2 下图是我解压后得到的
基于LinuxCNC下的EtherCAT的下载,安装,编译 《一》_第3张图片
1.4 执行命令进入ethercat-1.5.2

cd ethercat-1.5.2

出现下图的 configure 看红色箭头
基于LinuxCNC下的EtherCAT的下载,安装,编译 《一》_第4张图片
2,进行编译前的配置,每个人使用的LinuxCNC的版本不一样,内核等各方面都可能不一样,需要根据自己的实际情况进行配置
一开始我是使用

uname -a 

来查看内核版本的,可是发现不是这个,后来看了前面两位大神的博客之后,应该是该环境是在debian7上打了rtai实时补丁所使用的安装配置
我之前更新过系统的软件包的 默认情况下所有下载的软件存放在

$ cd /usr/src

执行命令之后
在这里插入图片描述
实时补丁是存放在/usr/src/中的linux-headers-3.4-9-rtai-686-pae

执行配置命令
1

./configure --with-linux-dir=/usr/src/linux-headers-3.4-9-rtai-686-pae --enable-8139too=no --enable-wildcards=yes

2
接着执行

make

3
接着执行

make modules

3 安装EtherCAT Master

依次执行下列命令

1

make install

2

make modules_install

3把模块插入内核,这一步很重要不可以缺失

depmod

4执行上述命令后会在根目录下的opt中生成一个etherlab 目录文件,l里面包含着 EtherCAT主站的库文件,执行文件 配置文件等
执行cd /opt得到下图
在这里插入图片描述
进入etherlab
基于LinuxCNC下的EtherCAT的下载,安装,编译 《一》_第5张图片
4.1修改配置文件,进入etherlab 下的etc>>sysconfig,注意不是根目录下的etc

cd etc/syeconfig

在这里插入图片描述
修改配置文件执行下列命令

sudo gedit ethercat 

在MASTER0_DEVICE=""填写你的以太网卡的MAC地址DEVICE_MODULES=“generic”,保存退出。

4.2在/etc目录下新建一个sysconfig/的文件夹,将修改后的ethercat文件复制到刚刚新建的文件中

sudo mkdir /etc/sysconfig

4.3 把配置好的ethercat 文件复制到新建的目录中去

sudo  cp ethercat  /etc/sysconfig

4.4 创建软连接

sudo ln -s /opt/etherlab/etc/init.d/ethercat  /etc/init.d/

5执行开机命令

sudo  /etc/init.d/etercat start 

不出意外的情况会跳出下面图
在这里插入图片描述
6修改EtherCAT的权限
每次需要打开EtherCAT0的时候需要用到超级用户sudo来执行

sudo  /etc/init.d/etercat start 

这样比较麻烦,现在修改一下让普通用户也可以打开
依次执行下列命令,

 gedit /etc/udev/rules.d/99-ethercat.rules


在弹出的页面中添加下列
添加如下的内容,把EtherCAT0到EtherCAT9的权限都修改为可读可写

KERNEL=="EtherCAT[0-9]",MODE="0777"

接着执行

udevadm control --reload-rules

执行重启命令

sudo reboot

7添加库文件的绝对路径
执行下列命令

gedit /etc/ld.so.conf

在弹出的页面中添加下列字符串

/opt/etherlab/lib

/usr/local/lib

再次重启之后可以使用

 /etc/init.d/etercat start 

来打开主站

由于我使用的虚拟机来安装LinuxCNC的,所以需要配置网络模式
基于LinuxCNC下的EtherCAT的下载,安装,编译 《一》_第6张图片
配置好网络之后,开始配置检测从站的命令分别执行下列命令执行

第一步将/opt/etherlab/include下的2个头文件放入/usr/local/include

# cp /opt/etherlab/include/* /usr/local/include

第二步把/opt/etherlab/lib下的libethercat.so.1.0.0放入/usr/local/lib

# cp /opt/etherlab/lib/libethercat.so.1.0.0 /usr/local/lib

第三步把/opt/local/etherlab/bin下的ethercat放入/usr/local/bin
这一步很重要,如果没有那么ethercat slaves 则会显示命令不存在

# cp /opt/local/etherlab/bin/ethercat /usr/local/bin

执行以下命令打开从站

sudo ethercat slaves 

即可检测到从站

使用ethercat slaves -v可查看从站的信息

执行命令ethercat可以看从站的控制命令如图所示
基于LinuxCNC下的EtherCAT的下载,安装,编译 《一》_第7张图片
基于LinuxCNC下的EtherCAT的下载,安装,编译 《一》_第8张图片

后期–待续 2019.06.26

你可能感兴趣的:(LinuxCNC)