链接:https://pan.baidu.com/s/1I23KNZEtL1L3TmrxiSf8_Q
提取码:wrg6
为了避免各种下载麻烦,先贴个网盘链接
然后开始聊聊安装
最开始的时候也是参考的这篇文章:IgH EtherCAT Master 源码编译安装_scyhk的博客-CSDN博客_ethercat编译
这篇文章里讲的很不错,但是当我想在Debian上如法炮制的时候,各种问题就来了,尤其还碰上了锐捷校园网,台式机根本连不上,摸索+逛论坛才终于从头到尾搞定了,所以干脆发个脱机简化+Linuxcnc-2.7.14(捆绑的Debian镜像)特化版(在Linuxcnc2.8捆绑的Debian上会因为找不到内核文件夹而无法安装)。
1.先在网盘下载好IgH EtherCAT Msater的1.5.2安装包ethercat-1.5.2.tar.bz2,通过U盘给到无网络的电脑上,右键打开终端,输入
sudo su
并输入密码进入管理员模式,再使用
cp ethercat-1.5.2.tar.bz2 /usr/src/
把安装包扔到/usr/src/去(tips:善用Tab键,可以帮你减少输入长文件夹名和文件名的功夫)
2.开始安装,先
cd /usr/src/
进入文件夹,再使用
tar -xjf ethercat-1.5.2.tar.bz2
解压压缩包
解压完以后进入文件夹
cd ethercat-1.5.2
3.接下来是./configure,这个后面要带参数和配置,需要你找到你的内核位置,我这里的内核在/usr/src/下,这也是我一开始把压缩包搬过来的原因
./configure --with-linux-dir=/usr/src/linux-headers-3.4-9-rtai-686-pae --enable-8139too=no --enable-wildcards=yes
这里要注意,可能会有不只一个内核文件夹(linux-headers开头的),版本号后直接跟rtai的大概率是对的,实在不行你两个都试一下,一个是对的,另一个返回的一大堆单词里会有error
之后是常规的make安装流程
make
make modules
make install
make modules_install
make DESTDIR=/vol/nfs/root modules_install
↑最后这一句我其实不是很理解,这个路径是没有的,需要手动输入,但是可以运行,却也没啥反应
4.接下来这个就比较重点了,是原文章主要不适配Debian的地方
首先,vim这个命令我这里的Debian是不认的,得用vi,而且用vi打开了对应文件以后,修改和保存的操作很迷,如果是在Ubuntu上,这都不是问题,所以我用了一个相对麻烦一点,但是通用的方法
(1)先把/opt/etherlab/etc/sysconfig目录下的ethercat文件复制到一个普通权限的文件夹,比如/home/xxx(xxx代表你的用户名)
cd /opt/etherlab/etc/sysconfig/
cp ethercat /home/xxx/
这个时候你就可以为所欲为了,如果不放心可以给原来的ethercat做个备份,我们就可以开始改内容了!
(2)我们要做的是找到MASTER0_DEVICE=""这一行,在双引号中间添加你的以太网卡MAC地址,这个地址在这个文件里/sys/class/net/eth0/address(这里是指点进文件系统开始,进入sys文件夹,再进入class文件夹。。。的意思,最后在address文件里的一串码复制过去就行)
(3)还有就是DEVICE_MODULES=""这一行,在双引号中间添加generic这个单词就可以了
(4)之后我们要做的就是把改好的文件粘回去,因为一开始就获取了权限,所以你甚至不用在前面加sudo
cd /home/xxx/
cp ethercat /opt/etherlab/etc/sysconfig/
5.这一步我们主要是把改完的ethercat文件放到各种地方去
mkdir /etc/sysconfig/
cp /opt/etherlab/etc/sysconfig/ethercat /etc/sysconfig/
ln -s /opt/etherlab/etc/init.d/ethercat /etc/init.d/
6.好了,恭喜你来到了倒数第二步,输入
depmod
/etc/init.d/ethercat start
你就会得到如下提示
Starting EtherCAT master 1.5.2 done
7.原文的安装到这里就结束了,如果安装过程中出现了问题,可以去开头的原文章最后找找,大部分应该都能解决。但是我需要在命令行里调用ethercat的功能,所以安装结束了,但是教程没结束,在命令行中输入
/opt/etherlab/bin/ethercat -v slave
就可以使用ethercat自带的命令了,包括查询pdo、states等操作,直接把命令加在-v后即可(记得加空格哦)
ps:但是在状态机上还是有问题,无法切换到op状态,暂时也没有找到可行的方法,找到了会更新在这里或者新写一篇文章的
附录:讲解各种ethercat命令的文章Ethercat解析(十二)之命令行工具的使用_absinjun的博客-CSDN博客_ethercat命令行