高创(Googol)直线电机驱动器(如 EtherCAT 系列、CANopen 系列)在工业自动化中广泛应用,其变量、指令和故障代码遵循标准化通信协议(如 EtherCAT 的 CoE、CANopen 的 DS402),同时具备品牌特有的功能定义。以下是常用变量、核心指令及故障代码说明:
一、常用变量(以 EtherCAT 协议为例,基于 CoE 对象字典)
高创直线电机驱动器的变量通过对象字典(Object Dictionary)定义,常用索引(Index)及子索引(Subindex)如下:
1. 控制与状态变量
索引(Index) | 子索引 | 变量名称 | 数据类型 | 功能描述 |
---|---|---|---|---|
0x6040 | 0x00 | 控制字(Controlword) | UINT16 | 控制驱动器运行状态: - 0x0006:使能驱动器 - 0x0007:启动运行 - 0x000F:急停复位 |
0x6041 | 0x00 | 状态字(Statusword) | UINT16 | 反馈驱动器状态: - 0x0001:准备就绪 - 0x0004:运行中 - 0x0080:故障状态 |
0x6064 | 0x00 | 位置指令(Target Position) | DINT | 设定目标位置(单位:LU,需根据电机分辨率换算) |
0x6065 | 0x00 | 实际位置(Position Actual Value) | DINT | 反馈当前实际位置(单位:LU) |
0x6042 | 0x00 | 速度指令(Target Velocity) | INT32 | 设定目标速度(单位:LU/s) |
0x606C | 0x00 | 实际速度(Velocity Actual Value) | INT32 | 反馈当前实际速度(单位:LU/s) |
0x6071 | 0x00 | 扭矩指令(Target Torque) | INT16 | 设定目标扭矩(单位:mA,对应百分比额定扭矩) |
0x6077 | 0x00 | 实际扭矩(Torque Actual Value) | INT16 | 反馈当前实际扭矩(单位:mA) |
2. 模式与参数变量
索引(Index) | 子索引 | 变量名称 | 数据类型 | 功能描述 |
---|---|---|---|---|
0x6060 | 0x00 | 运行模式(Modes of Operation) | UINT8 | 设定控制模式: - 1:位置模式 - 3:速度模式 - 4:扭矩模式 - 6:回原点模式 |
0x6098 | 0x00 | 回原点方式(Homing Method) | UINT8 | 设定回原点类型(如 0:挡块回零,1:Z 相回零) |
0x60A4 | 0x00 | 位置范围限制(Software Position Limit) | UINT8 | 使能软限位(0:禁用,1:启用) |
0x607D | 0x00 | 扭矩限制(Torque Limit) | UINT16 | 设定最大扭矩限制(单位:% 额定扭矩,如 100=100%) |
二、核心指令(基于 EtherCAT/CANopen 通信)
高创驱动器的控制指令通过写入对应变量实现,常用操作流程如下:
1. 驱动器使能与初始化
c
运行
// 初始化步骤(伪代码)Write(0x6060, 0x00, 1); // 设置位置模式Write(0x6040, 0x00, 0x0006); // 使能驱动器(控制字=0x0006)Delay(100ms); // 等待驱动器就绪if (Read(0x6041, 0x00) & 0x0001) { // 检查状态字(就绪位=1) // 初始化完成}
2. 位置模式运动控制
c
运行
// 移动到目标位置(10000 LU)Write(0x6064, 0x00, 10000); // 写入目标位置Write(0x6040, 0x00, 0x0007); // 启动运行(控制字=0x0007)// 等待运动完成while (!(Read(0x6041, 0x00) & 0x0010)) { // 检查状态字(到位标志=1) Delay(10ms);}
3. 回原点操作
c
运行
// 挡块回原点(模式9)Write(0x6098, 0x00, 9); // 设置回原点方式为挡块回零Write(0x6040, 0x00, 0x000F); // 启动回原点(控制字=0x000F)// 等待回原点完成while (!(Read(0x6041, 0x00) & 0x0020)) { // 检查状态字(回零完成标志=1) Delay(10ms);}
三、常见故障代码及处理
高创驱动器故障代码通过状态字(0x6041)的故障位(0x0080)指示,具体故障原因需读取故障代码变量(0x603F):
故障代码(0x603F) | 含义 | 可能原因 | 解决方法 |
---|---|---|---|
0x0504 | 过流保护 | 电机线圈短路、驱动器功率模块故障 | 检查电机接线绝缘,更换功率模块 |
0x0505 | 过压保护 | 电源电压过高、再生能量过大 | 检查电源电压,增加再生电阻或延长减速时间 |
0x0506 | 欠压保护 | 电源电压过低、接线松动 | 检查电源电压及接线,紧固端子 |
0x0507 | 过热保护 | 环境温度过高、风扇故障 | 降低环境温度,清理风扇或更换风扇 |
0x0508 | 过载保护 | 负载超过额定扭矩、机械卡阻 | 检查机械负载,排除卡阻,增大扭矩限制 |
0x050A | 位置超差 | 位置环增益过低、负载波动大 | 提高位置环增益(0x2200),优化 PID 参数 |
0x050B | 编码器故障 | 编码器接线错误、信号干扰 | 检查编码器接线,使用屏蔽线并单端接地 |
0x0510 | 软限位触发 | 运动超过设定的软限位范围 | 调整软限位参数(0x607B/0x607C),或禁用软限位 |
0x0520 | 通信超时 | 总线断开、通信参数不匹配 | 检查总线接线,确认波特率 / 地址一致 |
0x05FF | 内部故障 | 驱动器固件错误、硬件故障 | 升级固件,联系厂家维修 |
故障复位方法:
c
运行
// 清除故障(控制字写入0x0080)Write(0x6040, 0x00, 0x0080);Delay(100ms);if (!(Read(0x6041, 0x00) & 0x0080)) { // 确认故障位已清除 // 故障复位成功}
四、使用注意事项
高创直线电机驱动器的变量和指令高度标准化,可通过第三方软件(如 TwinCAT、CANoe)或自研程序访问,实际应用中需结合具体型号手册调整参数。