默认的 PDO 映射不适合我的应用,如何自定义 RxPDO/TxPDO 的字段?

作者
Beard Hu 25 天前更新
时间
发布于 2026-07-30 · 最后更新 2026-07-30 15:21
解答

DO 映射通过 SDO (Service Data Object) 配置,流程如下:

 1. 修改 PdoMapping.c 中的映射表

    // TxPDO 映射表 (从站 → 主站)

    static const uint16_t pdo1_map[] = {

        0x6041, 0x00,   // Status Word (2字节)

        0x6061, 0x00,   // OpMode Display (1字节)

        0x6064, 0x00,   // Actual Position (4字节)

        // 添加更多字段…

    };

    // RxPDO 映射表 (主站 → 从站)

    static const uint16_t rpdo1_map[] = {

        0x6040, 0x00,   // Control Word (2字节)

        0x6060, 0x00,   // Operation Mode (1字节)

        0x607A, 0x00,   // Target Position (4字节)

        // 添加更多字段…

    };

 2. 通过 SDO 配置 PDO

    // 配置示例

    ECM_EcatSdoWrite(1, 0x1600, 0x00, data_length, rpdo_config);

    ECM_EcatSdoWrite(1, 0x1C12, 0x01, 2, &sm2_idx);  // RxPDO 映射索引

 3. 常见 PDO 对象字典索引:

    ┌──────────┬──────────────────────────────┬────────┐

    │ 索引     │ 名称                         │ 方向   │

    ├──────────┼──────────────────────────────┼────────┤

    │ 0x1600   │ RxPDO1 映射配置              │ 主→从  │

    │ 0x1A00   │ TxPDO1 映射配置              │ 从→主  │

    │ 0x1C12   │ RxPDO 映射汇总索引           │ 主→从  │

    │ 0x1C13   │ TxPDO 映射汇总索引           │ 从→主  │

    └──────────┴──────────────────────────────┴────────┘

 4. 完成配置后需重启 EtherCAT 网络 (ECM_EcatReconfig)

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
搜索