当前位置:   article > 正文

EtherCAT主站IGH -- 0 -- 该EtherCAT主站IGH专栏后续安排

EtherCAT主站IGH -- 0 -- 该EtherCAT主站IGH专栏后续安排

0 IGH视频欣赏及源代码链接:

持续更新。

1 该EtherCAT主站IGH专栏后续安排

大概分为以下7个大模块:
GH(Industrial Software Foundation)库安排:

1.1 介绍IGH文件和函数:

  • IGH库中的核心文件通常包括主站配置文件(如ethercat.h)和用于EtherCAT通信的API函数(如ec_init()ec_config_init()等)。这些函数允许您初始化EtherCAT主站、配置EtherCAT网络和执行数据通信。此外,IGH还提供了示例代码,以帮助您更好地理解如何使用库中的函数。

1.2 介绍IGH主要结构体:

  • IGH库包含多个关键结构体,例如EtherCAT主站配置结构体、从站配置结构体、PDO(Process Data Object)配置结构体等。这些结构体用于定义和管理EtherCAT网络的配置参数和通信数据。通过详细了解这些结构体,您可以更好地配置和管理EtherCAT网络。

1.3 在Ubuntu系统环境搭建自己的EtherCAT主站:

  • 若要搭建自己的EtherCAT主站,您需要首先创建主站配置文件,其中包括主站配置结构体,定义EtherCAT网络拓扑,以及设置EtherCAT通信参数。然后,使用IGH库提供的函数来初始化主站、建立通信通道和与从站进行数据交换。这一过程可能涉及到配置主站的周期性任务以保持实时通信。

1.4 使用Wireshark监控并分析EtherCAT数据:

使用Wireshark监控并分析EtherCAT数据是一种非常有效的手段,可以帮助我们深入了解EtherCAT协议的工作原理和数据传输机制。Wireshark是一款强大的网络协议分析器,可以捕捉和解析各种网络数据包,包括EtherCAT数据包。通过Wireshark,我们可以详细地观察EtherCAT数据包的传输过程、协议格式和数据内容,从而更好地理解EtherCAT协议的工作机制和特点。此外,我们还可以利用Wireshark提供的分析工具,对EtherCAT数据进行深入挖掘和分析,发现潜在的问题和优化点,为我们的项目提供有价值的参考。因此,使用Wireshark监控并分析EtherCAT数据是一种非常实用和有效的技术手段。

1.5 介绍EtherCAT从站XML文件

EtherCAT从站设备描述文件(XML文件)是描述从站设备配置和特性的文件,通常包含在EtherCAT主站系统中,用于自动配置和识别从站设备。以下是对EtherCAT从站XML文件的介绍及其使用流程。

  • EtherCAT从站XML文件(也称为ESI文件,EtherCAT Slave Information)包含了从站设备的详细配置信息,例如设备ID、制造商、同步管理器配置、过程数据映射等。这些文件通常由设备制造商提供,并根据EtherCAT协议标准格式编写。

1.6 使用IGH 主站控制EtherCAT-IO模块:

  • IGH库使您能够控制EtherCAT-IO模块,这通常涉及读取输入数据和写入输出数据。通过配置PDO映射,您可以将输入和输出数据映射到EtherCAT网络上的从站设备。然后,使用IGH函数来实时读取和更新这些数据,从而实现对IO模块的控制。

1.7 使用IGH 主站控制EtherCAT电机:

  • 控制EtherCAT电机通常需要与电机驱动器和控制器建立通信。您需要使用IGH库配置PDO映射来传输控制命令和获取反馈数据。控制电机的PP模式(位置模式),PV模式(速度模式),PT模式(力矩模式),CSP模式(周期同步位置模式),CSV模式(周期同步速度模式),CST模式(周期同步力矩模式)等。

深入了解IGH库的文件、函数、结构体以及实际应用步骤将有助于您更好地使用该库来构建和控制EtherCAT网络中的设备和电机。

2. IGH介绍:

IGH EtherCAT 主站介绍

Industrial Software Foundation (IGH) 提供的 EtherCAT 主站是一个开源项目,用于实现高效的实时工业以太网通信。本文将详细介绍 IGH EtherCAT 主站的开发背景、主要特点、核心功能以及文件和结构体说明。


IGH EtherCAT 主站由 Industrial Software Foundation 开发,旨在为工业自动化和控制系统提供一个开源的 EtherCAT 主站实现。该项目为研究人员和开发人员提供了一个强大的工具,可以在各种操作系统上实现 EtherCAT 通信。


IGH EtherCAT 主站采用便于移植的 C 语言开发,完全支持在 Windows 和 Linux 系统上运行,甚至可以移植到嵌入式操作系统中。由于所有的应用程序都有所不同,IGH 并未强制规定任何特定的设计架构。


在 Linux 下,它可以用于一般的用户模式、PREEMPT_RT 或 Xenomai;在 Windows 下可用于用户模式下的编程。IGH 主站通过 Raw Socket(原始套接字)接收和发送 EtherCAT 数据帧,调用系统自带的 bind、send 和 recv 模块,以实现主站与从站之间的通信。IGH 支持分布式时钟(DC),从站设备基于实时时钟,主站控制信号可以准确同步。IGH 主站代码的独立架构可支持任何 Linux 实时扩展,包括 RTDM 的 LXRT、ADEOS、RT-Preempt 和 Xenomai(包括 RTDM),同时还支持 CoE(CANopen over EtherCAT)、FoE(File Access over EtherCAT)、SoE(Servo Profile over EtherCAT)和 EoE(Ethernet over EtherCAT)等邮箱协议。


IGH EtherCAT 主站的主要功能包括以下部分:

1. 基本读写服务,如 BRD(广播读)、BRW(广播写)、APRMW(自动增读写多从站)及 LRW(读写数据到逻辑地址映射空间)等。
2. 自动扫描发现从站,自动配置从站的 FMMU(现场总线存储管理单元)和 PDO(过程数据对象)、MBX(邮箱)的内存映射。
3. 设置和读取从站状态。
4. 从站 EEPROM 的读写支持。
5. 支持时钟同步机制,根据过程数据自动配置从站时钟。
6. 支持过程数据和邮箱数据的通信。
7. 支持 SoE、CoE、EoE 和 FoE 等应用协议。


IGH EtherCAT 主站操作简单、跨平台性强并且提供开源代码,为自动化控制领域的研究人员提供了一个真正意义上的开发工具。既可以从软件本身进行 EtherCAT 通信实验,又可以深入了解软件代码底层的实现原理,便于研究人员根据自己的需求进行二次开发。EtherCAT 是一种实时以太网通信协议,广泛应用于工业自动化和机器控制领域。

关键特点:

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


IGH EtherCAT 主站文件和函数介绍

在使用IGH EtherCAT主站时,理解其文件结构和关键函数有助于开发和调试过程。以下是对IGH EtherCAT主站关键文件和函数的介绍以及基本使用流程。

IGH 目录结构介绍

序号文件夹该文件夹功能
1devices设备目录,包含用于识别和管理EtherCAT设备的相关文件。
2documentation文档目录,包含项目的详细文档和使用指南。
3examples示例代码目录,提供了如何使用主站的示例程序,帮助开发者快速上手。
4include头文件目录,包含项目的公共头文件,这些文件定义了各种数据结构和函数接口。
5lib库目录,包含项目使用的库文件和依赖项。
6m4M4宏处理器目录,包含配置和编译过程中的宏定义文件。
7mailbox_gateway邮箱网关目录,包含处理邮箱网关通信的文件。
8master主站目录,包含EtherCAT主站的核心代码和功能实现。
9script脚本目录,包含用于构建、配置和管理项目的各种脚本文件。
10tool工具目录,包含一些辅助工具,用于测试和调试EtherCAT主站。
11tty串行通信目录,包含处理串行通信的相关文件。

IGH 文件说明

序号文件该文件功能
1.hgignoreMercurial忽略文件,列出了在版本控制中要忽略的文件和目录。
2AUTHORS作者文件,列出了项目的贡献者和开发人员。
3bootstrap引导脚本文件,用于初始化和配置项目。
4CodingStyle代码风格指南文件,定义了项目的代码编写规范。
5configure.ac配置脚本文件,用于生成配置文件并检查系统环境。
6COPYING版权声明文件,包含项目的版权和许可信息。
7COPYING.LESSERLGPL许可证文件,列出了项目遵循的GNU宽通用公共许可证条款。
8Doxyfile.inDoxygen配置文件,用于生成项目的文档。
9ethercat.spec.inRPM规范文件,用于创建RPM包。
10FEATURES特性文件,列出了项目的主要特性和功能。
11globals全局变量文件,包含项目中使用的全局变量定义。
12INSTALL安装说明文件,提供了项目的安装步骤和要求。
13Kbuild.inKbuild配置文件,用于构建Linux内核模块。
14Makefile.amAutomake文件,用于生成Makefile。
15NEWS新闻文件,列出了项目的更新日志和版本变化。
16README自述文件,提供了项目的简介、使用说明和其他重要信息。
17README.EoEEthernet over EtherCAT(EoE)自述文件,提供了关于EoE的详细信息。
18README-lambert特定开发者的自述文件,包含该开发者的相关信息和贡献。
19TODO待办事项文件,列出了项目需要完成的任务和计划。


3 IGH 主要文件说明:

master文件夹里面的源代码

序号文件该文件功能
1cdev设备驱动文件,负责与底层硬件设备进行交互。
2coe_emerg_ringCANopen over EtherCAT(CoE)紧急消息处理文件。
3datagram_pair用于处理成对的数据报。
4datagram数据报处理文件,负责EtherCAT数据帧的打包和解包。
5debug调试相关文件,包含调试功能和工具。
6device设备管理文件,负责EtherCAT设备的识别和管理。
7dict_request字典请求处理文件,用于管理和处理字典数据。
8domain域管理文件,负责EtherCAT通信域的配置和管理。
9doxygen自动文档生成配置文件,用于生成代码文档。
10eoe_requestEthernet over EtherCAT(EoE)请求处理文件。
11ethernet以太网通信文件,负责EtherCAT与以太网之间的通信。
12foe_requestFile over EtherCAT(FoE)请求处理文件。
13fmmu_configFMMU(现场总线存储管理单元)配置文件。
14fsm_change状态机变更处理文件,管理状态机的状态切换。
15fsm_coeCoE状态机处理文件,管理CoE通信的状态机。
16fsm_soeSoE状态机处理文件,管理SoE通信的状态机。
17fsm_eoeEoE状态机处理文件,管理EoE通信的状态机。
18fsm_foeFoE状态机处理文件,管理FoE通信的状态机。
19fsm_mbox_gateway邮箱网关状态机处理文件。
20fsm_master主站状态机处理文件,管理主站的状态机。
21fsm_pdoPDO状态机处理文件,管理PDO的状态机。
22fsm_pdo_entryPDO入口状态机处理文件,管理PDO条目的状态机。
23fsm_reboot重启状态机处理文件,管理设备重启过程的状态机。
24fsm_siiSII(Slave Information Interface)状态机处理文件。
25fsm_slave从站状态机处理文件,管理从站的状态机。
26fsm_slave_config从站配置状态机处理文件,管理从站配置的状态机。
27fsm_slave_scan从站扫描状态机处理文件,管理从站设备的扫描过程。
28globals全局变量定义文件,包含整个项目中使用的全局变量。
29ioctl输入输出控制文件,管理IO控制操作。
30locks锁机制文件,负责实现线程安全的锁机制。
31mailbox邮箱管理文件,负责邮箱数据的发送和接收。
32mailbox_gateway_request邮箱网关请求处理文件。
33master主站管理文件,负责EtherCAT主站的初始化、启动和管理。
34module模块管理文件,负责EtherCAT模块的加载和卸载。
35pdoPDO(过程数据对象)处理文件,管理PDO数据。
36pdo_entryPDO条目处理文件,管理单个PDO条目的数据。
37pdo_listPDO列表文件,包含所有PDO条目的列表和管理功能。
38reg_request寄存器请求处理文件,管理和处理寄存器数据。
39rtdm实时设备管理文件,管理实时设备的通信。
40rtdm-ioctl实时设备管理的IO控制文件。
41sdoSDO(服务数据对象)处理文件,管理SDO数据。
42sdo_entrySDO条目处理文件,管理单个SDO条目的数据。
43sdo_requestSDO请求处理文件,管理和处理SDO请求。
44sii_firmwareSII固件文件,管理从站设备的固件数据。
45slave从站管理文件,负责从站设备的识别和管理。
46slave_config从站配置文件,负责从站设备的配置。
47soe_requestServo Drive Profile over EtherCAT(SoE)请求处理文件。
48soe_errorsSoE错误处理文件,管理SoE通信中的错误。
49sync同步管理文件,负责EtherCAT设备的同步。
50sync_config同步配置文件,配置同步相关的参数。
51voe_handlerVendor-specific over EtherCAT(VoE)处理文件,管理VoE通信。

通过详细了解 IGH EtherCAT 主站的文件结构和功能,您可以更好地理解该项目的各个模块及其在 EtherCAT 通信中的作用。这些文件和模块提供了一个系统的框架,帮助您在开发过程中有效地管理和配置 EtherCAT 网络,从而实现高效的实时工业自动化控制。


4 下载和编译 IGH EtherCAT 主站

1. 下载链接

IGH EtherCAT 主站是一个开源的 EtherCAT 协议栈,您可以在 官网 上找到并下载其代码包:
http://etherlab.org/download/ethercat/ethercat-1.5.2.tar.bz2

2. 编译

解压已下载的源码,打开根目录中的 README.md 文件,其中详细记录了相关编译步骤。这些步骤十分详细且具有指导性,让人一看就能明白如何操作。

编译步骤(以 Linux 为例):

igh把编译生成的文件默认安装在了/opt/etherlab目录。
通过设置--prefix=/home/vmuser/ethercat-master/output可以把编译生成的文件安装在/home/vmuser/ethercat-master/output目录中。
**********************************************
make
make modules
make install
sudo make modules_install

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

5 EtherCAT IGH 1.5.2 特点

EtherCAT(Ethernet for Control Automation Technology)是一个高效的实时工业以太网协议。工业软件基金会(Industrial Software Foundation, IGH)提供了一个开源的 EtherCAT 主站实现,广泛用于工业自动化控制系统中。以下是 IGH EtherCAT 主站 1.5.2 版本的主要特点和改进。

1. 完整的开源实现
  • 开源性质:IGH EtherCAT 主站 1.5.2 是一个完全开源的项目,开发者可以自由查看、修改和分发代码。这使其在工业自动化领域中非常灵活,可以根据具体需求进行定制。
2. 多平台支持
  • 跨平台兼容:支持在多种操作系统上运行,包括 Linux 和 Windows,甚至可以移植到嵌入式操作系统中。通过操作系统抽象层(OSAL)和硬件抽象层(OS-HW),确保在不同平台上的移植和运行。
3. 实时性能
  • 高性能实时通信:提供低延迟和高吞吐量的实时通信能力,适用于严格的工业自动化需求。支持分布式时钟(DC),确保各从站设备之间的同步。
4. 广泛的协议支持
  • 多种协议支持:支持 CoE(CANopen over EtherCAT)、FoE(File over EtherCAT)、SoE(Servo Profile over EtherCAT)和 EoE(Ethernet over EtherCAT)等多种上层应用协议,满足不同设备和应用场景的需求。
5. 灵活的网络配置和管理
  • 自动扫描和配置:能够自动扫描 EtherCAT 网络中的从站设备,并进行配置。支持从站设备的 EEPROM 读写和过程数据对象(PDO)的内存映射配置。
  • 网络管理:提供强大的网络管理功能,支持网络拓扑配置和实时监控。
6. 调试和诊断工具
  • 强大的调试工具:提供丰富的调试工具和日志功能,帮助开发者快速定位和解决问题。
  • Wireshark 支持:可以使用 Wireshark 等网络协议分析工具,监控和分析 EtherCAT 数据帧,深入了解通信细节。
7. 代码模块化和易于维护
  • 模块化设计:采用模块化设计,代码结构清晰,易于扩展和维护。分层结构包括原始套接字接口、数据帧管理、API 接口、通信功能和上层应用功能。
  • 丰富的示例和文档:提供丰富的示例代码和详细的文档,帮助开发者快速上手并理解代码实现。
8. 安全性
  • 安全功能集成:支持多种安全机制,包括错误检测和恢复、冗余配置等,提高系统的可靠性和稳定性。
9. 社区支持
  • 活跃的社区:拥有活跃的开发社区,提供技术支持和定期更新,确保项目的持续发展和改进。

该文档修改记录:

修改时间修改说明
2024年6月26日EtherCAT主站IGH – 0 – 该EtherCAT主站IGH专栏后续安排

总结

以上就是EtherCAT主站IGH – 0 – 该EtherCAT主站IGH专栏后续安排的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。

上下博客链接

上一篇博客:
NC

下一篇博客:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/762320
推荐阅读
相关标签
  

闽ICP备14008679号