一、安装步骤
- 下载安装包
EtherCAT安装包:igH EtherCAT安装包(目前最新的稳定版)
- 安装依赖包
sudo apt install autoconf automake libtool net-tools
- 解压EtherCAT安装包,进入解压出的文件夹,右键打开终端输入
./bootstrap ./configure --enable-cycles --enable-hrtimer --enable-8139too=no --enable-generic=yes
其中./bootstrap命令完成配置文件的建立,用于生成编译主站程序模块之前的配置脚本;./configure命令完成对主站程序模块的配置
-
编译与加载
make all modules
sudo make modules_install install
sudo depmod
注:make all modules可能出错(Linux4.15内核):implicit declaration of function ‘signal_pending’; did you mean ‘timer_pending’?
解决方法:在master.c中加入#include <linux/sched/signal.h>后,重新编译
#include <linux/sched/signal.h>
- 修改网卡地址
新开一个终端,输入ifconfig查询本机网卡的物理地址
ifconfig
出现下图,复制图中地址 00:0c:29:bc:a5:8d
在EtherCAT配置文件(文件路径:/etc/sysconfig/ethercat)中对网卡模块物理地址与型号进行修改。
新开一个终端,打开EtherCAT配置文件ethercat:
sudo gedit /usr/local/etc/sysconfig/ethercat
将地址粘贴至MASTER0_DEVICE=" " 引号中
在 DEVICE_MODULES=" " 引号里面填入 generic
- 连接
将EtherCAT主站的初始化脚本和配置文件与Linux系统的初始化目录与配置目录链接,使EtherCAT主站作为Linux系统的一个服务,在PC机上电后自动启动:
sudo ln -s /usr/local/etc/init.d/ethercat /etc/init.d/ethercat
sudo mkdir /etc/sysconfig
sudo cp /usr/local/etc/sysconfig/ethercat /etc/sysconfig/
需要先进入root模式
su root
echo KERNEL==\"EtherCAT[0-9]*\", MODE=\"0664\" > /etc/udev/rules.d/99-EtherCAT.rules
- 启动igH EtherCAT Master
sudo /etc/init.d/ethercat start
显示Starting EtherCAT master 1.5.2 done则说明成功。
二、启动igH EtherCAT
- 启动EtherCAT master
ethercat master
- 启动EtherCAT master
ethercat slave
注:如果打不开,可以进入root模式试试