前言
IGH EtherCAT Master的1.5.2版本中没有.bootstrap文件,如果只运行.configure文件后续会报错,所以在安装时选取了最近的stable-1.5。IGH源码下载地址为
一、安装依赖库
sudo apt install autoconf automake libtool net-tools build-essential cmake
sudo apt-get install linux-headers-$(uname -r)
如果事先对系统打了rt补丁,可能在linux-headers-$(uname -r)的位置报错,即找不到合适的头文件,这个问题可以略过。
二、编译与安装
将IGH源码复制到/usr/src下进行解压
cd ~/下载
sudo cp ethercat-stable-1.5.tar.bz2 /usr/src
cd /usr/src
sudo tar -xjf ethercat-stable-1.5.tar.bz2
执行配置操作,configure参数见IGH手册。
cd /usr/src/ethercat-stable-1.5
sudo su
./bootstrap
./configure --enable-cycles --enable-sii-assign --enable-hrtimer --enable-8139too=no --prefix="/opt/etherlab"
进行编译
sudo make -j16
sudo make modules
安装
sudo make modules_install install
sudo ldconfig
sudo depmod
三、检查
在/opt下查看是否存在etherlab文件夹,检查是否安装。至此如果没有出现报错,安装结束,之后需要进行一系列配置工作保证主站的正常使用。
四、配置
配置工作需要完成对服务的链接、二进制文件的链接以及接口的配置。
Service
sudo ln -s /opt/etherlab/etc/init.d/ethercat /etc/init.d/ethercat
Binary
sudo ln -s /opt/etherlab/bin/ethercat /usr/bin/ethercat
Interface
1.添加udev rule
echo KERNEL==\"EtherCAT[0-9]*\", MODE=\"0664\" > /etc/udev/rules.d/99-EtherCAT.rules
2.链接sysconfig
在/etc下创建/sysconfig目录后
mkdir /etc/sysconfig
sudo ln -s /opt/etherlab/etc/sysconfig/ethercat /etc/sysconfig/ethercat
3.配置conf
在/etc/sysconfig/ethercat 文件中配置需要绑定的网口MAC与驱动模块,MASTER0_DEVICE=" "的分号中填入配置为EtherCAT总线的网卡地址,保存退出后结束。
gedit /etc/sysconfig/ethercat
MASTER0_DEVICE="${MAC}"
DEVICE_MODULES="generic"
五、验证
ethercat
如果正确安装,这里可以将显示ethercat命令的所有用法。
对主站状态的控制,通过以下代码实现:
sudo /etc/init.d/ethercat status
sudo /etc/init.d/ethercat start
sudo /etc/init.d/ethercat stop
sudo /etc/init.d/ethercat restart
如果需要系统自启动ethercat 服务,通过sysv-rc-conf 管理。
如果需要配置实时权限:
sudo gedit /etc/security/limits.conf
在文件中添加
<username> hard rtprio 99