EtherCAT主站SOEM-- 0 SOEM下载编译及文件功能介绍

0 介绍EtherCAT主站SOEM文件及主要功能函数

  • [1. soem介绍:](#1. soem介绍:)
  • [2 soem主要功能文件说明:](#2 soem主要功能文件说明:)
  • [3 soem下载链接](#3 soem下载链接)
  • [4 编译soem](#4 编译soem)
    • [4.1 Windows (Visual Studio):](#4.1 Windows (Visual Studio):)
    • [4.2 Linux & macOS:](#4.2 Linux & macOS:)
  • 该文档修改记录:
  • 总结

1. soem介绍:

SOEM(Simple Open EtherCAT Master)是一个开源的EtherCAT主站库,允许开发者构建自定义的EtherCAT主站应用程序。EtherCAT是一种实时以太网通信协议,广泛应用于工业自动化和机器控制领域。下面是关于SOEM库的一些重要信息:

  1. 开源性质:SOEM是一个开源项目,这意味着开发者可以自由地查看、修改和分发代码。这使其成为工业自动化领域的一个强大工具,可以根据具体需求进行定制。
  2. EtherCAT主站实现:SOEM库提供了一个完整的EtherCAT主站实现,允许主站与多个EtherCAT从站设备进行通信。主站可以向从站设备发送实时数据,例如控制命令和传感器数据。
  3. 功能丰富:SOEM库包括一系列功能丰富的模块,包括支持CAN over EtherCAT (CoE)、File over EtherCAT (FoE)、Servo Drive Profile over EtherCAT (SoE) 和 Ethernet
    over EtherCAT (EoE) 等不同EtherCAT通信协议的功能。
  4. 网络配置和管理:SOEM库支持配置和管理EtherCAT网络,包括从站设备的配置、网络拓扑设置和分布式时钟同步。
  5. 实时性:EtherCAT是一种实时通信协议,SOEM库的设计目标是提供高性能和低延迟的通信,以满足工业自动化中对实时性的需求。
  6. 示例应用程序:SOEM库附带了示例应用程序和文档,帮助开发者入门并开始构建自己的应用程序。这些示例应用程序演示了主站初始化、通信配置和实时数据交换等操作。
  7. 跨平台支持:SOEM库可以在多种操作系统和平台上运行,包括Linux和Windows。
  8. 活跃的社区:SOEM库有一个积极的开发社区,提供技术支持、更新和改进,以确保库的持续发展。

2 soem主要功能文件说明:

文件 该文件功能
ethercattype.h 定义了EtherCAT通信所需的数据类型。 包括PDO(Process Data Object)数据类型、SyncManager配置和其他与数据传输相关的类型定义。此文件主要是一些新的类型定义和宏定义,使用这些可以给具体的应用程序带来优化和便利
nicdrv.h 包含网络接口卡(NIC)驱动程序的定义。用于与主机计算机的网络接口卡通信,以连接到EtherCAT网络。EtherCAT原始套接字驱动,主要包含了使用网卡NIC和socket通信来发送数据帧的函数。
ethercatbase.h 定义了EtherCAT通信的基础配置和功能。包括了主站配置、EtherCAT帧的数据结构定义等。
ethercatmain.h 包含了EtherCAT主站的主要函数和数据结构。提供了主站的初始化、启动、停止和周期性任务执行等主要功能。EtherCAT主要功能模块,包含了EtherCAT初始化、状态设置和读取、邮箱数据通信、从站EEPROM操作、从站信息接口SII读和过程数据交换等函数。以及定义ec_slave[],所有从站信息都在这个结构体中。
ethercatdc.h 提供了分布式时钟(DC,Distributed Clocks)相关的函数和数据结构。用于同步从站设备的时钟以实现实时通信。
ethercatcoe.h 定义了CAN over EtherCAT(CoE)通信的相关函数和数据结构。用于配置和通信CANopen对象字典。
ethercatfoe.h 包括文件传输 over EtherCAT(FoE)通信的函数和数据结构。用于文件传输,例如固件升级。
ethercatsoe.h 包括Servo Drive Profile over EtherCAT(SoE)通信的函数和数据结构。用于与伺服驱动器进行通信。
ethercateoe.h 包含Ethernet over EtherCAT(EoE)通信的函数和数据结构。用于与EtherCAT从站设备进行以太网通信。
ethercatconfig.h 用于配置EtherCAT网络的头文件。包括网络拓扑、从站设备的配置以及主站的配置信息。
ethercatprint.h 包含了用于在调试和日志中打印信息的函数和宏。用于记录和调试EtherCAT通信。将EtherCAT错误转换成可读信息模块,SDO中止信息和应用层状态代码用于传递从站信息给用户应用层,所以这个文件里函数的主要功能是将二进制码转换成可读的文本信息。
ethercatconfiglist.h 包含的是一个列表,里面包含了一些已知产品参数的EtherCAT从站。
osal.h 包含定时器配置模块,主要包含了一些定时器设置和延时等函数。
oshw.h 包含的函数主要用来识别现在这台机器上现有的网卡信息。
simple_test.h 包含自己所需的EtherCAT主站开发所编写的程序,通过各种配置,数据发送和读取。

3 soem下载链接

soem下载地址

在github上下载代码包地址:https://github.com/OpenEtherCATsociety/SOEM

或者在开源社区下载: https://openethercatsociety.github.io/

解压缩大概文件:

4 编译soem

4.1 Windows (Visual Studio):

然后启动Visual Studio命令提示符:

c 复制代码
mkdir build
cd build
cmake .. -G "NMake Makefiles"
make

4.2 Linux & macOS:

c 复制代码
mkdir build
cd build
cmake ..
make

该文档修改记录:

修改时间 修改说明
2023年10月27日 EtherCAT主站SOEM-- 0 SOEM下载编译及文件功能介绍

总结

以上就是EtherCAT主站SOEM-- 0 SOEM下载编译及文件功能介绍的内容。

有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。

相关推荐
JXES智能生态系统2 个月前
【EtherCAT实践篇一】TwinCAT 3安装、使用
ethercat·电机驱动
田彼南山4 个月前
零差云控电机ubuntu+IGH调试记录
ethercat·igh
幻想编织者5 个月前
EtherCAT使用教程:在C++中的详细应用
开发语言·c++·ethercat
金士顿5 个月前
/EtherCATInfo/Descriptions/Devices/Device/SubDevice/@Hideable
服务器·网络·php·ethercat
钡铼技术网关5 个月前
钡铼Profinet、EtherCAT、Modbus、MQTT、Ethernet/IP、OPC UA分布式IO系统BL20X系列耦合器
分布式·mqtt·modbus·opc ua·耦合器·ethercat·ethernet/ip
金士顿5 个月前
路径:/EtherCATInfo/Descriptions/Devices/Device/Type/@ShowHideableSubDevices
ethercat
天狭鬼5 个月前
EtherCAT笔记(六)—— 分布时钟之一
笔记·ethercat
金士顿5 个月前
使用引用 XML 文件来优化 EtherCAT ESI 文件的描述
ethercat
金士顿5 个月前
深入解析EtherCAT ESI和SCI文件:InfoReference元素的应用与区别
ethercat
兴达易控6 个月前
EtherCAT转Profinet网关配置说明第一讲:配置软件安装及介绍
ethercat转·ethercat·profinet协议转换模块·转profinet协议网关·ethercat转pn网关