Ethercat 主站搭建
介绍 Ubuntu16.04 下 Igh Ethercat 主站搭建的过程。
1 前言
从 https://github.com/ribalda/ethercat 下载 ethercat 安装包。
2 安装流程
用 lspci -vvv 查看网卡的型号以及驱动类型,也可以系统桌面右上角的网络连接中查看网卡的型号,从网上搜驱动类型。
Ethernet controller 可以看到网卡型号为 82576,Kernel modules 可以看到网卡驱动类型为 igb。
用 ifconfig 查看所有网卡的MAC地址,也可以从系统桌面右上角的网络连接中通过 Edit Connections —> Edit —> Ethernet —> Device 中查看。
1 | sudo apt-get install autoconf autogen libtool # 安装依赖项 |
在第27行 MASTER0_DEVICE的引号中 添加网卡的MAC地址,例如 MASTER0_DEVICE=”6c:b3:11:40:a7:e0”。
在第100行 DEVICE_MODULES的引号中 添加网卡驱动类型,例如 DEVICE_MODULES=”igb”。
注意:经过实际测试,preempt_rt+Ethercat,使用igb的驱动,会造成内存泄露的问题。现象就是程序正常运行,然后内存会逐渐增大,用最简单的程序,大概会一分钟增加0.01G内存,程序结束后,这块内存也不会自动销毁,换成generic的驱动(或者使用RTL8169驱动支持的网卡),则没有这个问题!保存退出后,继续执行:
1 | sudo ln -s /opt/etherlab/bin/ethercat /usr/local/bin/ethercat |
3 主站测试
在超级用户模式下执行 /etc/init.d/ethercat start 指令后,得到如下结果表示主站安装正确。
通过 ethercat slaves 可以查看连接的从站情况。
从 Igh 主站 PDF 文件中可以找到各项的输出信息解释如下所示:
Tip1:注意读出来的名字是否正常,如果名字与相应的 xml 文件中名字不一致,大概率是不能通过 Igh 主站来配置的。原因有很多种,建议用一个标准的商用产品先做调试。
Tip2: 如果读取到从站的名字全是 0,考虑网卡型号不符合 Igh 主站的要求。
从 Igh 官网可以查看相应的说明,官网网址:https://etherlab.org/en/ethercat/