有没有人尝试过在WSL linux中通过SOEM连接到EtherCAT设备?
虽然TwinCAT成功地连接到我的Maxon EPOS4,并使用RT-Ethernet中间驱动程序在Windows10下移动了我笔记本电脑上的直流电机,但SOEM slaveinfo在WSL下的eth0上没有返回任何从设备。
Ps。我在我的笔记本电脑上使用了以太网转usb-c局域网适配器,自动IP地址,安装了Hyper-V的WSL2上的Ubuntu 18.04,并测试了是否关闭了我的windows防火墙。由于编译问题,我还没有在windows下使用SOEM。最初,我在eth0问题上找不到插座,但在安装hyper-V并将我当前安装的Ubuntu-18.04升级到WSL2后,它得到了解决。
在WSL Ubuntu20下,当防火墙被停用时,如果我禁用所有TwinCAT服务并从以太网属性窗口卸载TwinCAT项目,我也会遇到同样的问题!
以下是我所做的工作和输出:
$ sudo setcap cap_net_raw+ep /opt/ros/melodic/bin/slaveinfo
$ sudo /opt/ros/melodic/bin/slaveinfo
SOEM (Simple Open EtherCAT Master)
Slaveinfo
Usage: slaveinfo ifname [options]
ifname = eth0 for example
Options :
-sdo : print SDO info
-map : print mapping
Available adapters
Description : lo, Device to use for wpcap: lo
Description : bond0, Device to use for wpcap: bond0
Description : dummy0, Device to use for wpcap: dummy0
Description : eth0, Device to use for wpcap: eth0
Description : sit0, Device to use for wpcap: sit0
End program
$ sudo /opt/ros/melodic/bin/slaveinfo eth0
SOEM (Simple Open EtherCAT Master)
Slaveinfo
Starting slaveinfo
ec_init on eth0 succeeded.
No slaves found!
End slaveinfo, close socket
End program
发布于 2021-01-19 05:02:45
您能详细介绍一下您的以太网控制器吗?您是否安装了带有TwinCAT和RT-Ethernet驱动程序的one USB-C适配器?如果是这样的话,我希望在WSL下运行在Ubuntu中的SOEM不能访问这个控制器。
我会在没有安装TwinCAT的系统上进行测试,或者回滚Windows Ethernet驱动程序的安装,以便TwinCAT和WSL都可以使用以太网控制器。或者,您是否可以有一个TwinCAT无法使用的附加适配器?
发布于 2021-04-09 09:42:49
对我来说,在epos4上运行eth0是行不通的。我必须在控制台中编写getmac并复制代码行
\Device\Tcpip_{------- copy this part ------}.
然后在我的代码中,我会写下
init_comm("\\Device\\NPF_{--- your copied part ---}");
https://stackoverflow.com/questions/65758527
复制相似问题