# EC_Master_Tools **Repository Path**: leju-robot/EC_Master_Tools ## Basic Information - **Project Name**: EC_Master_Tools - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2025-07-21 - **Last Updated**: 2026-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # EC_Master_Tools 一个基于 EC_Master 的 EtherCAT 驱动器调试工具,支持批量配置、参数读写、电机自学习、错误诊断等功能,适用于 EtherCAT 总线驱动器的调试和维护。 ## 🎯 项目简介 - 简化 EtherCAT 驱动器的批量配置、参数管理和调试流程。 - 支持批量写入/校验驱动器配置、SDO 参数读写、电机自学习、错误码诊断与日志分析、CSP 正弦运动测试(工厂专用)。 ## 🤖 支持的机器人平台 | 版本号 | 机器人类型 | EC从站数量 | 配置文件 | |--------|------------|------------|----------| | 13 | Roban2 | 13个 | `dirver_roban2.json` | | 42/45/49 | Kuavo | 14个 | `dirver_kuavo.json` | ## 📁 目录结构 ```bash ec_master_tools/ ├── CMakeLists.txt # 顶层CMake构建脚本 ├── EC_master_tools.py # Python主程序入口 ├── EcMasterConfig.py # 配置参数与环境管理 ├── config/ # 配置文件目录 │ ├── ENI_config/ # EtherCAT ENI 配置文件 │ └── sdo_config/ # 驱动器参数配置文件 ├── EC_log/ # EC日志 ├── lib/ # 依赖的第三方库 ├── LinkOsLayer/ # 驱动层适配代码 ├── src/ # 核心源码 │ ├── Common/ # EC线程、定时器等 │ ├── EcSdk/ # EtherCAT SDK头文件与库 │ └── Sharelib/ # 业务逻辑与Python绑定 └── README.md # 项目说明文档 ``` ## 🚀 安装与编译 ### 1. 获取代码 ```bash git clone https://www.lejuhub.com/yangzhifan/ec_master_tools.git cd ec_master_tools ``` ### 2. 编译项目 ```bash mkdir build && cd build # 创建并进入build文件夹(只有在没有该文件夹时才创建) cmake .. make ``` > ⚠️ 注意:编译完成后,`build/src` 目录下会生成 Python 扩展模块 `ec_master_wrap.so`。 ## ⚙️ 配置说明 ### ENI 配置文件 - 位置:`config/ENI_config/` 目录 - 格式:XML格式的EtherCAT网络配置文件 ### SDO 配置文件 - 位置:`config/sdo_config/` 目录 - 格式:JSON格式的驱动器参数模板 - 功能:工具会读取驱动器配置生成 `Driver_Real.json`,用于实际参数与模板的对比 ### 环境变量配置 - ROBOT_VERSION:指定机器人型号(13、42、45、49),影响编码器范围、从站数量等 - 驱动器类型:配置文件 `~/.config/lejuconfig/EcMasterType.ini` 可指定驱动器类型 ## 📖 使用方法 > ⚠️ 重要提示:本工具需要root权限运行,请确保在安全的环境中使用。 ### 启动程序 ```bash sudo su python3 EC_master_tools.py ``` ### 主菜单功能 | 选项 | 功能 | 说明 | |:----:|------|------| | 1 | 写入全身驱动器配置 | 批量写入预设参数,适合初次上电或参数恢复 | | 2 | 检查全身驱动器配置 | 自动检查配置并输出不一致项,便于快速定位问题 | | 3 | 读取特定索引参数 | 通过驱动器ID、对象索引、子索引读取SDO参数 | | 4 | 写入特定索引参数 | 写入SDO参数,可选择是否掉电保存 | | 5 | 电机自学习 | 对指定驱动器进行自学习,支持多种模式 | | 6 | 检查错误码 | 自动检查所有驱动器的错误码,便于维护排查 | | 7 | 读取日志错误 | 从日志文件提取分析错误信息 | | 8 | CSP正弦运动 | 所有电机CSP模式正弦运动(工厂专用) | | 9 | 校验运动方向 | 检验指定电机方向,调整正反向(生产专用) | | q | 退出程序 | 退出EC_Master_Tools工具 | ### 操作示例 #### 读取SDO参数 1. 选择菜单选项 3 2. 输入驱动器ID(如:1) 3. 输入对象索引(如:0x3104) 4. 输入子索引(如:0x00) 5. 等待读取结果 ## 📋 EC日志管理 - 日志位置:`EC_log/` 目录 - 分析工具:通过菜单选项 7 读取并分析错误信息 - 注意:只读取上次EC运行日志,不启动新程序 ## 🔧 常用案例 ### 出厂电机自学习流程 > 📖 详细教程: 图片教程可参考 [出厂电机自学习具体使用流程](./doc/出厂电机自学习具体使用流程.md) 1. 写入配置:选择选项1,一键写入全部参数 2. 断电重启:重启驱动器使参数生效 3. 检查配置:选择选项2,确认参数正确 4. 检查错误码:选择选项6,确保无错误码 5. 电机自学习:选择选项5,输入驱动器ID和模式 6. 验证自学习:选择选项6,确认错误码为自学习完成标志 7. 断电重启:重启驱动器使自学习参数生效 8. 检查错误码:选择选项6,确保无错误码 9. 方向校验:选择选项9,确认运动正常并校准方向 ## ❓ 常见问题与解答 ### Q:SDO读写特定索引失败? A:检查驱动器固件版本,部分老版本固件参数未开放SDO读写权限。 ### Q:运行提示无root权限? A:使用 `sudo su` 切换到root用户。 ### Q:环境变量未生效? A:可直接在运行时指定版本号: ```bash sudo ROBOT_VERSION=13 python3 EC_master_tools.py ``` ### Q:驱动器报错 `0x019` 或 `0x01A` ? A:优先使用功能4进行多圈复位,复位重启后如果依然无效: ``` 请选择功能(输入1-8,输入q退出):4 请输入驱动器ID (例如 1):1 请输入需要写入的对象索引 (例如 0x3401):0x3801 请输入子索引 (例如 0x00):0 请输入要写入的数据(整数):2 请确认本次写入是否需要掉电保存 (yes/no):yes 正在写入特定索引的参数... ✔ 写入成功 ``` ``` 写入成功后断电重启,再次检查错误码 若依然报错 `0x019` 或 `0x01A`,检查编码器的电池是否正常 ```