EtherCAT(ubuntu18.04,linux4.9.38,xenomai3.1,igh1.52)配置完整流程

所需安装包

#linux4.9.38
wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.38.tar.gz
#xenomai3.1
wget https://xenomai.org/downloads/xenomai/stable/xenomai-3.1.tar.bz2
#igh1.52
git clone https://github.com/ribalda/ethercat.git
sudo apt install gcc libc6-dev libncurses5-dev libssl-dev build-essential bison flex
#解压
sudo tar xf linux-4.9.38.tar.gz
sudo tar xf xenomai-3.1.tar.bz2

给ubuntu内核打上xenomai补丁,建立一个x86_64位内核

cd xenomai-3.1
sudo wget https://xenomai.org/downloads/ipipe/v4.x/x86/ipipe-core-4.9.38-x86-4.patch
sudo ./scripts/prepare-kernel.sh --linux=/home/wx/linux-4.9.38 --ipipe=ipipe-core-4.9.38-x86-4.patch --arch=x86_64

配置menuconfig

cd linux-4.9.38
sudo make menuconfig
> Processor type and features
[ ] Linux guest support  ---- 
[ ] Multi-core scheduler support
> Power management and ACPI options
[ ] Suspend to RAM and standby 
[ ] Hibernation (aka 'suspend to disk') 
> Power management and ACPI options > CPU Frequency scaling
[ ] CPU Frequency scaling
> Power management and ACPI options > ACPI (Advanced Configuration and Power Interface) Support
< >   Processor 
> Power management and ACPI options > CPU Idle  
[ ] CPU idle PM support   
> Processor type and features
[ ] Transparent Hugepage Support
[ ] Contiguous Memory Allocator
[ ] Allow for memory compaction
[ ]   Page migration
> Xenomai/cobalt > Sizes and static limits
 (4096) Number of registry slots
 (4096) Size of system heap (Kb)
 (256) Size of private heap (Kb)
 (256) Size of shared heap (Kb) 
 (512) Maximum number of POSIX timers per process  
> General setup 
(-xenomai-3.1) Local version - append to kernel release
> General setup > Timers subsystem
[*] High Resolution Timer Support
> Xenomai/cobalt > Drivers > RTnet
<M> RTnet, TCP/IP socket interface
> Xenomai/cobalt > Drivers > RTnet > Drivers

编译,安装内核

sudo apt install kernel-package
#CONCURRENCY_LEVEL=$(nproc) make-kpkg --rootcmd fakeroot --initrd kernel_image kernel_headers
sudo CONCURRENCY_LEVEL=$(nproc) make-kpkg --initrd kernel_image kernel_headers

安装生成的系统文件

cd ..
sudo dpkg -i linux-headers-4.9.38-xenomai-3.1_4.9.38-xenomai-3.1-10.00.Custom_amd64.deb linux-image-4.9.38-xenomai-3.1_4.9.38-xenomai-3.1-10.00.Custom_amd64.deb

允许非root用户

sudo addgroup xenomai --gid 1234
sudo addgroup root xenomai
sudo usermod -a -G xenomai $USER

配置GRUB

sudo gedit  /etc/default/grub
#具体修改如下
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 4.9.38-xenomai-3.1"

#GRUB_DEFAULT=saved

#GRUB_SAVEDEFAULT=true

# Comment the following lines

#GRUB_HIDDEN_TIMEOUT=0

#GRUB_HIDDEN_TIMEOUT_QUIET=true

GRUB_TIMEOUT=5

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash xenomai.allowed_group=1234"

GRUB_CMDLINE_LINUX=""
#更新GRUB并重新启动
sudo update-grub
#重启电脑
sudo reboot
#重新开机后选择Ubuntu高级内核

安装xenomai

cd xenomai-3.1
./configure --with-pic --with-core=cobalt --enable-smp --disable-tls --enable-dlopen-libs --disable-clock-monotonic-raw
make -j`nproc`
sudo make install

更新环境变量

echo '
### Xenomai
export XENOMAI_ROOT_DIR=/usr/xenomai
export XENOMAI_PATH=/usr/xenomai
export PATH=$PATH:$XENOMAI_PATH/bin:$XENOMAI_PATH/sbin
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$XENOMAI_PATH/lib/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$XENOMAI_PATH/lib
export OROCOS_TARGET=xenomai
' >> ~/.xenomai_rc
echo 'source ~/.xenomai_rc' >> ~/.bashrc
source ~/.bashrc

测试

cd /usr/xenomai/bin
sudo ./latency

编译igh

./bootstrap
./configure --with-linux-dir=/usr/src/linux-headers-4.9.38-xenomai-3.1 --with-module-dir=/lib/modules/4.9.38-xenomai-3.1 --enable-generic=yes --enable-8139too=no --enable-e1000=yes --enable-e1000e=yes --enable-r8169=no --enable-rtdm=yes --enable-cycles=yes --enable-hrtimer=yes --with-xenomai-dir=/usr/xenomai --prefix=/opt/etherlab
make
make modules
sudo make install
sudo make modules_install

ethercat主站配置

#获取到网卡的mac地址
ifconfig 
#你需要在上面2个文件中的MASTER0_DEVICE=后添加你的网卡的mac地址形如MASTER0_DEVICE="b8:ae:ed:7e:6e:66", 然后把DEVICE_MODULES=添加"generic"或r8169形如DEVICE_MODULES="generic"然后执行sudo depmod命令
#lspci | grep -i ethernet 查看自己网卡型号

cd /opt/etherlab
sudo cp /etc/sysconfig/ethercat /etc/sysconfig/
sudo ln -s /opt/etherlab/etc/init.d/ethercat /etc/init.d
#注意inid.d下ethercat文件中的地址部分是否正确

测试

开启主站
开启主战

主站详细信息
在这里插入图片描述
从站详细信息
在这里插入图片描述

  • 4
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
EtherCAT IGH从站配置流程如下: 1. 确定物理连接:根据EtherCAT网络拓扑结构,将EtherCAT从站设备与主站设备通过EtherCAT总线进行物理连接。 2. 选取从站设备:根据系统需求和功能要求,选择合适的EtherCAT从站设备。 3. 设定从站设备ID:为每个从站设备分配唯一的设备ID,通常通过DIP开关或软件配置完成。 4. 配置主站设备:使用EtherCAT主站的配置工具,例如EtherCAT Master Configurator,对主站进行配置。 5. 扫描从站设备:在主站配置工具中,执行从站设备扫描操作,通过扫描可以检测到连接的从站设备,并获取相应的设备信息。 6. 分配从站设备位置:根据主站配置工具中显示的扫描结果,为每个从站设备分配相应的位置。 7. 配置从站设备参数:根据主站配置工具中的从站设备信息,对每个从站设备进行参数配置,如输入、输出、通信速率等。 8. 验证配置:在主站配置工具中,通过执行通信测试或运行示例程序等方式,验证从站设备的配置是否正确。 9. 保存配置:将主站设备的配置信息保存到配置文件中,以便在后续应用中加载使用。 10. 部署系统:将配置好的主站设备与从站设备部署到物理环境中,确保连接稳定并进行系统测试。 通过以上步骤,可以完成EtherCAT IGH从站的配置流程,实现从站设备与主站设备的通信和数据交换。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值