igh ethercat 主站扫描功能开发

igh ethercat 主站扫描功能开发

    • 前言
    • 版本与安装
    • 添加tool部分代码
    • 不要把RxPdo与TxPdo弄反

前言

为什么要开发扫描功能?众所周知,igh ethercat在examples中提供了一个最小的主站开发示例mini.c,这个示例快速开发单个电机控制还是可以的,但是随着设备越来越多,快速开发测试的需求也越来越多,不可能每个设备来了都去手动适配一个写的很死的测试文件,此时就非常怀念在windows上的twincat软件,插上网线,什么鬼都跟你扫描出来,不需要配置。那么在linux上怎么做呢?

版本与安装

就用最新的官网推荐版本1.5.2即可,新版本的默认安装路径不在/opt/下了,在配置的时候注意设置一下即可

hg clone http://hg.code.sf.net/p/etherlabmaster/code ethercat-hg
hg update stable-1.5
cd /ethercat-hg
./bootstrap
./configure --enable-8139too=no --prefix/opt/etherlab
make all modules
sudo make modules_install install
sudo depmod
sudo ln -fs /opt/etherlab/etc/init.d/ethercat /etc/init.d/
sudo ln -fs /opt/etherlab/bin/ethercat /usr/local/bin/
sudo mkdir /etc/sysconfig
sudo ln -fs /opt/etherlab/etc/sysconfig/ethercat /etc/sysconfig/
sudo -i
echo KERNEL==\"EtherCAT[0-9]*\", MODE=\"0664\" > /etc/udev/rules.d/99-EtherCAT.rules

然后继续配置网口

gedit /etc/sysconfig/ethercat
modify the Hw_address: MASTER0_DEVICE=”00:xx:xx:xx:5c:xx”
modify Hw_driver: DEVICE_MODULES=”generic”

添加tool部分代码

在tool文件夹中找到MasterDevice相关代码添加到自己的工程编译调试即可,注意版本的匹配。

不要把RxPdo与TxPdo弄反

createDomain和exchangeData的时候保持一致即可。

- [1] http://etherlab.org/en/ethercat/

你可能感兴趣的:(Ethercat)