版权说明:本文为本站blog.openpilot.cc站长走着原创文章,转载请注明出处。

本文书写时间:2022年9月29日


软硬件环境说明:

树莓派4B 4G版本一个,SD卡64GB

系统:ubuntu server 20.04.5 LTS 内核是linux-headers-5.4.0-1070-raspi

igh版本:最近几年最新的都是stable-1.5,不用怀疑

1,下载和准备

git clone https://gitlab.com/etherlab.org/ethercat.git
git checkout stable-1.5

sudo apt-get install autoconf automake libtool
./bootstrap

2,配置

uname -a

./configure --with-linux-dir=/usr/src/linux-headers-5.4.0-1070-raspi --with-module-dir=ethercat --disable-8139too --prefix=/opt/etherlab

3,安装

make
make modules

sudo make install
sudo make modules_install

4,运行配置

1,复制配置文件

sudo mkdir /etc/sysconfig
sudo cp /opt/etherlab/etc/sysconfig/ethercat /etc/sysconfig/ethercat //这是配置文件
sudo cp /opt/etherlab/etc/init.d/ethercat /etc/init.d/ethercat
sudo ln -s /opt/etherlab/bin/ethercat /usr/bin/ethercat //软连接
insserv ethercat  #开机启动,不好用

2,解决EC_master问题

sudo depmod
modprobe ec_master

3,解决网络没有eth0问题

sudo gedit /etc/netplan/02-netcfg.yaml

network:
  version: 2
  renderer: networkd
  ethernets: 
    eth0: 
     dhcp4: true
     optional: true
sudo netplan apply

4,修改配置文件

sudo vi /etc/sysconfig/ethercat

内容修改如下,其实这里可以写实际网线接口的mac地址,或者接口名字如“eth0”,下面的ff地址,表示会自动搜索网络设备的第一个设备作为igh主站。

MASTER0_DEVICE="ff:ff:ff:ff:ff:ff"
DEVICE_MODULES="generic"

5,启动

# /etc/init.d/ethercat start|stop | restart
# ethercat start

检查启动是否成功

# lsmod | grep ec_ (会输出两行, ec_generic 和 ec_master, 说明已装载)

6,ethercat命令

# ethercat slaves
0  0:0  PREOP  +  CL3-E57H