声明:本文是参考他人的博客最后成功安装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
1、下载IgH EtherCAT Master的源码
http://etherlab.org/en/ethercat/
双击网址之后进入页面找到下图所示的页面,点击 Sources code [tar.bz2]格式的压缩包
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 下图是我解压后得到的
1.4 执行命令进入ethercat-1.5.2
cd ethercat-1.5.2
出现下图的 configure 看红色箭头
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
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/
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的,所以需要配置网络模式
配置好网络之后,开始配置检测从站的命令分别执行下列命令执行
第一步将/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
可查看从站的信息
后期–待续 2019.06.26