安装IGHethercat
1、首先下载所需要的IGH程序源码
在sourceforge上下载IGH stable-1.5版本,这个是支持linux4.x内核的。
https://sourceforge.net/p/etherlabmaster/code/ci/stable-1.5/tree/
点击DownloadSnapshot进行压缩包下载,重命名为简短一点的名字(例如 etherlab-stable1.5.zip),然后按照以下步骤配置,编译,安装即可
sudo apt install autoconf automake libtool net-tools
编译指令解析
unzip etherlab-stable1.5.zip
cd ~/etherlab-stable1.5
./bootstrap
#方式1(有问题)扫描到从站但状态不对名称也显示不出
./configure --enable-cycles --enable-hrtimer --enable-8139too=no #可以打开configure查看详细配置项,如果你没有安装linux-headers,要在第一步安装linux-headers并指定--with-linux-dir=
#进行这步骤之前需要将编译好的实时内核拷贝到/usr/src/下然后重命名为linux-4.19.72-rt26,不然会报错误
#configure: error: No configured Linux kernel sources in /usr/src/linux-4.19.72-rt26
方式2(不完美看方法三成功)
sudo mv '/usr/src/linux-4.19.72' '/usr/src/linux-4.19.72-rt26'
./configure --with-linux-dir=/usr/src/linux-4.19.72-rt26 --enable-generic=yes kernelrelease=$(uname -r) --enable-8139too=no
方式3(成功,真实工控机高速网卡e1000e)
./configure --with-linux-dir=/usr/src/linux-4.4.299-rt230 --enable-generic=yes kernelrelease=$(uname -r) --enable-e1000e --enable-cycles --enable-hrtimer
make all modules
sudo make modules_install install
sudo depmod
sudo ln -fs /usr/local/etc/init.d/ethercat /etc/init.d/
sudo mkdir /etc/sysconfig
sudo ln -fs /usr/local/etc/sysconfig/ethercat /etc/sysconfig/
sudo -i #之后不用频繁输入密码
echo KERNEL==\"EtherCAT[0-9]*\", MODE=\"0664\" > /etc/udev/rules.d/99-EtherCAT.rules
退出sudo -i 不然下面的指令无法正常执行
exit
把相关模块放进系统目录(要在你编译的目录下)
sudo cp devices/ec_generic.ko /lib/modules/$(uname -r)
sudo cp master/ec_master.ko /lib/modules/$(uname -r)
如果不是用的通用网卡,需要多进一个目录,比如这个:
sudo cp devices/e1000e/ec_e1000e.ko /lib/modules/$(uname -r)
sudo depmod
ifconfig #查看mac地址
sudo gedit /etc/sysconfig/ethercat
MASTER0_DEVICE=”00:0c:29:b4:aa:66” //注:此为ifconfig命令显示的网卡地址,安装时应该为自己的
DEVICE_MODULES=”generic”
启动主站
sudo /etc/init.d/ethercat start
sudo ethercat sl
优化Linuxcnc环境和启动脚本和IGH-Ethercat自启动
执行命令(开机执行这些命令配置文件)
sudo gedit /etc/rc.local
在打开的文本中的exit 0上面添加
sudo /etc/init.d/ethercat start
这样可以保证每次开机都可以提前开启IGH-Ethercat主站