linux的windows子系统- EtherCAT与SOEM在WSL Ubuntu 18上



有没有人尝试过在WSL linux中通过SOEM连接到EtherCAT设备?

当TwinCAT成功连接到我的Maxon EPOS4并在Windows 10下使用RT-Ethernet中间驱动程序移动笔记本电脑上的直流电机时,SOEM slaveinfo在WSL下没有返回eth0上的slave。

p。我在我的笔记本电脑上使用了一个以太网到usb-c的局域网适配器,自动IP地址,Ubuntu 18.04在WSL 2上安装了Hyper-V,并测试了关闭我的windows防火墙。由于编译问题,我还没有在窗口下使用SOEM。最初,我没有在eth0上找到套接字的问题,但在安装hyper-V并将我的WSL当前安装的Ubuntu-18.04升级到WSL 2后,这个问题得到了解决。

我在WSL Ubuntu 20下有同样的问题,当防火墙被停用时,如果我禁用所有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

你能详细说明一下你的以太网控制器吗?你有一个USB-C适配器设置TwinCAT和RT-Ethernet驱动程序吗?如果是这样,我希望在Ubuntu中运行的SOEM在WSL下没有访问这个控制器的权限。

我将在没有安装TwinCAT的系统上进行测试,或者回滚TwinCAT RT-Ethernet驱动程序的安装,以便以太网控制器对Windows和WSL可用。或者您是否可以使用TwinCAT无法使用的附加适配器?

对于我来说,在windows上eth0将无法为epos4工作。我必须在控制台中编写getmac并复制

DeviceTcpip_{------- copy this part ------}.

然后在我的代码中我会写

init_comm("\Device\NPF_{--- your copied part ---}");

最新更新