← 返回文章列表
TECH NOTE

EtherCAT PDO 与 CSP 控制笔记:固定映射、周期插值与反馈链路

约 3 分钟阅读 1309 字 # EtherCAT# CiA 402# 伺服控制# PDO# CSP

1. EtherCAT 通信逻辑

  • EtherCAT 使用 SM(Sync Manager,同步管理器) 和 FMMU(Fieldbus Memory Management Unit,现场总线内存管理单元)。
  • 一个通信周期只发送一个标准以太网数据帧。
  • 采用类似“列车”的机制:所有电机的 PDO 数据都放在同一个报文中。
  • EtherCAT 采用“飞越传输”(on-the-fly processing):报文经过从站时,从站直接读取或写入属于自己的数据区。

2. PDO 内存布局

  • PDO 使用固定的内存布局。
  • 运行期间不能临时改变 PDO 的长度、排列顺序或数据种类。
  • RxPDO 用于下发控制指令,TxPDO 用于上传状态与反馈。

2.1 RxPDO:控制器 → 驱动器

对象索引 名称 说明
0x6040 Controlword 控制字
0x607A Target position 目标位置
0x60FF Target velocity 目标速度
0x6071 Target torque 目标转矩
0x60B1 Velocity offset 速度偏置
0x6060 Modes of operation 运行模式

2.2 TxPDO:驱动器 → 控制器

对象索引 名称 说明
0x6041 Statusword 状态字
0x6064 Position actual value 实际位置
0x606C Velocity actual value 实际速度
0x6077 Torque actual value 实际转矩
0x603F Error code 故障码
0x300B DC bus voltage 母线电压
0x300C Current RMS value 电流有效值
0x3009 Motor temperature 电机温度
0x300F Drive-board temperature 驱动板温度
0x6061 Modes of operation display 当前控制模式

0x3009、0x300B、0x300C、0x300F 属于厂商自定义对象,准确含义应以驱动器对象字典为准。

3. 控制模式与 PDO 字段

涉及的同步控制模式:

  • CSP:Cyclic Synchronous Position,周期同步位置模式
  • CSV:Cyclic Synchronous Velocity,周期同步速度模式
  • CST:Cyclic Synchronous Torque,周期同步转矩模式

PDO 布局可以固定,但驱动器会根据当前模式选择需要处理的字段。例如在 CST 模式下,驱动器会忽略 Target velocity。

4. CSP 插值与目标位置下发

  • CSP 进行 5 次插值,每 1 ms 下发一次中间位置。
  • 电机移动过程中:持续下发中间位置。
  • 电机到达目标后:持续下发最终位置,不能停止刷新目标值。
  • 新的 CSP 目标值加入环形队列,队列容量为 8。

简化流程:

1
2
3
4
5
6
7
8
9
上层目标位置
↓
插值生成中间位置
↓ 每 1 ms 下发一次
环形队列(容量 8)
↓
RxPDO:Target position(0x607A)
↓
驱动器执行;到达后继续发送最终位置

5. 反馈路径

sdk中的反馈链路为:

1
Axis Feedback → Controller → IPC → C++ read_feedback() → demo

即轴反馈先由控制器采集,再传至 IPC,最后由 C++ 接口 read_feedback() 提供给演示程序或上层应用。

INTERACTION / 讨论与互动

评论与表情点赞