type
Post
status
Published
date
Mar 6, 2025
slug
2025/03/06/EtherCAT-Master-IgH-Learning---Conceptual-Chapter
summary
tags
Linux
EtherCAT
category
EtherCAT
created days
new update day
icon
password
Created_time
Mar 6, 2025 03:07 AM
Last edited time
Jul 30, 2025 07:29 AM

1. Domain(域)

  • 定义
    • Domain 是 EtherCAT 主站中一个逻辑数据分组单元,用于管理多个从站的过程数据(Process Data)。它将不同从站的输入/输出数据(PDO)整合到一个共享内存区域中,便于主站高效处理。
  • 作用
    • 统一管理多个从站的过程数据(PDO)。
    • 优化数据访问效率,减少实时通信延迟。
  • 示例
    • 在代码中,通过 ecrt_master_create_domain() 创建一个域,并通过 ecrt_domain_data() 访问其数据。

2. 主站(Master)

  • 定义
    • EtherCAT 主站是控制网络的核心控制器,负责协调所有从站的通信,管理数据帧的发送与接收。
  • 核心功能
    • 配置从站(如 PDO 映射、同步管理器设置)。
    • 生成周期性通信帧,确保实时性。
    • 监控网络状态(从站响应、链路状态)。
  • 实现方式
    • 通常基于实时操作系统(如 Xenomai、RT Linux)或专用硬件(如 EtherCAT 主站卡)。

3. 从站(Slave)

  • 定义
    • 从站是 EtherCAT 网络中的终端设备,执行具体任务(如数字 I/O、电机控制)。每个从站有唯一的物理地址或别名。
  • 核心功能
    • 接收主站指令并执行(如输出控制信号)。
    • 采集数据并返回给主站(如传感器输入)。
  • 硬件示例
    • 数字输入模块(EL1008)。
    • 伺服驱动器(如 Beckhoff AX5000)。

4. 通信方式

  • 机制
    • EtherCAT 采用 “飞过”(On-the-Fly) 通信模式:
      1. 主站发送一个数据帧,依次经过所有从站。
      1. 每个从站实时提取插入自己的数据。
      1. 帧返回主站时,已完成所有从站的数据交换。
  • 特点
    • 极低延迟:数据帧只需单次遍历网络。
    • 高效带宽利用率:帧中仅包含有效数据,无协议冗余。
  • 拓扑支持
    • 支持线型、树型、星型等多种拓扑结构。
notion image

5. EOE(Ethernet over EtherCAT)

  • 定义
    • EOE 是一种协议,允许在 EtherCAT 网络中传输标准以太网数据,实现 EtherCAT 与常规以太网的共存。
  • 应用场景
    • 在实时 EtherCAT 网络中集成非实时设备(如 HMI、摄像头)。
    • 远程配置或监控从站。
  • 工作原理
    • 将标准以太网帧封装到 EtherCAT 数据帧中,由主站或网关解封装。

6. PDO(Process Data Object)与 PDO 条目

  • PDO
    • 定义PDO 是用于实时通信的数据单元,包含从站的输入或输出数据。
    • 特点
      • 周期性传输(如 1 ms 周期)。
      • 无协议开销,直接映射到内存。
    • 示例
      • 一个 PDO 可能包含 8 个数字输出信号。
  • PDO 条目
    • 定义PDO 中的具体数据项(如单个信号)。
    • 属性
      • 索引(Index)和子索引(Subindex):标识数据在从站对象字典中的位置。
      • 位长(Bit Length):数据长度(如 1 位表示开关量,16 位表示模拟量)。
    • 示例
      • {0x3101, 0x01, 8} 表示索引 0x3101、子索引 0x01 的 8 位数据。

7. 同步信息(Sync Manager, SM)

  • 定义
    • 同步管理器是 EtherCAT 从站中的硬件模块,用于管理数据缓冲与同步确保数据在正确的时间点被读取或写入。
  • 关键配置参数
    • 方向Direction):输入(EC_DIR_INPUT)输出(EC_DIR_OUTPUT)
    • 起始地址Start Address):数据在从站内存中的起始位置。
    • 控制字节Control Byte):定义同步模式(如缓冲模式、看门狗使能)。
  • 工作模式
    • 缓冲模式Buffered):数据在指定时间点原子化更新。
    • 直接模式Direct):数据实时更新(可能引发数据不一致)。
 
 
欢迎加入喵星计算机技术研究院,原创技术文章第一时间推送。
notion image
 
EtherCAT 主站 IgH 学习之 —— xenomai_posix 例程代码学习Fcitx5 Android 自定义键盘布局实践与自定义字体(基于 fxliang 修改版)