admin 管理员组

文章数量: 887016

前置工作

SOEM在Windows系统中依赖下面及个软件:

  1. Visual Studio 2019 community(其他版本也可以)
  2. WinPcap 4.1.3(Win7)
  3. Npcap 1.7.9(Win10/Win11)
  4. Cmake 2.8.0及以上

Visual Studio的安装步骤网上已经很多了这里就不重复了,就是注意安装工作负载的时候一定记得勾选:使用C++的桌面开发。

SOEM在Windows系统中通过专门的网络接口组件获取EtherCAT数据包以及和底层网卡交互,所以在用SOEM前要先安装它们。不过需要注意自己当前的系统是Win7、Win10还是Win11。
Win7及以下推荐安装WinPcap,在这个网址下载安装包:https://www.winpcap/,然后安装就是直接一路点next。
Win10及以上不管系统的小版本号多少,为了避免以后出问题都强烈建议不装WinPcap,而是选择Npcap,在这个网址下载安装包:https://npcap/#download,安装步骤也是一直点next就可以。

Cmake的话一般不用特意安装,因为装了Visual Studio并且选了使用C++的桌面开发之后会有。

获取源码

组件装完之后就可以开始SOEM的操作了,首先在github上获取.zip形式的源码
https://github/OpenEtherCATsociety/SOEM

目前master分支默认是最新的1.4.0,如果需要其他版本到这个网址里找,不过下载的源码包是.tar.gz格式
https://openethercatsociety.github.io/

编译

编译前准备工作

解压下载好的源码,在根目录里有个README.md,打开可以看到里面有windows系统里的编译步骤。

不过先不着急操作,先修改同目录下的CMakeLists.txt。
打开CMakeLists.txt,拉到最下面,可以看到这些编译目录都是linux的,我们需要改到windows系统。注释掉原来的四条命令,同时加上一条add_subdirectory(test/win32/slaveinfo),后面如果想编译其他需求也在这里改就好。

然后进到SOEM-master\test\win32\slaveinfo目录下,新建一个CMakeLists.txt输入以下内容,要是嫌麻烦的话可以直接到其他目录复制一份放过来,比如SOEM-master\test\linux\slaveinfo

set(SOURCES slaveinfo.c)
add_executable(slaveinfo ${SOURCES})
target_link_libraries(slaveinfo soem)
install(TARGETS slaveinfo DESTINATION bin)

开始编译

打开visual studio的x86命令行,切换到SOEM根目录,根据README.md中的步骤创建build文件夹并进入文件夹


在build路径下依次执行cmake .. -G "NMake Makefiles"nmake命令

编译完成后可以看到build目录下多了很多东西,我们检查下build\test\win32\slaveinfo目录中有没有exe执行文件,有就说明编译成功了。

基础使用

接下来的操作还是在visual studio的x86命令行里,首先进到build\test\win32\slaveinfo目录,执行.\slaveinfo.exe命令,会返回所有网卡设备名。

连接好EtherCAT从站之后,再执行一遍.\slaveinfo.exe命令,就可以看到从站信息了。这次的命令后面需要跟上网卡设备名,如果有大于1张物理网卡,可能得一个个试了,目前我还不知道怎么看哪张网卡对应哪个设备名。

本文标签: 开源 主站 Windows EtherCAT SOEM