AKD® 伺服驱动器 CANopen 通信
CANopen 通信基础与硬件配置
(一)CAN-Bus 硬件接口与设置
接口定义:采用 X12(CAN 输入)和 X13(CAN 输出)两个 6 针 RJ-12 端子,引脚功能明确,其中 Pin3 为 CANH、Pin4 为 CANL、Pin2 为屏蔽层、Pin5 为 GND,Pin1 和 Pin6 用于激活内置 132Ω 终端电阻(仅总线两端设备需启用)。
关键参数配置
波特率:支持 125/250/500/1000 kBit/s 固定波特率及自动检测模式,通过参数 FBUS.PARAM01 或驱动器前面板旋转开关(S1=9,S2 对应 0-4)设置,自动检测模式需驱动器侦听总线上有效 CAN 帧后匹配位时间。
节点地址:由驱动器前面板 S1(MSB)和 S2(LSB)旋转开关设定,地址范围 1-127,且与 IP 地址存在关联(如 S1=4、S2=5 对应 CAN 地址 45、IP 地址 192.168.0.45),可通过 WorkBench 分离 IP 与旋转开关配置。
终端电阻:总线两端的 AKD 需激活内置终端电阻,可使用可选端子插头(P-AKD-CAN-TERM)短接 X13 端子 Pin1 和 Pin6,非端点设备需断开终端电阻避免信号反射。
电缆要求:需使用特性阻抗 100-120Ω 的屏蔽双绞线,最大电缆长度随波特率变化(1000 kBit/s 时 10m、500 kBit/s 时 70m、250 kBit/s 时 115m),电缆电容需≤60 nF/km,引线环阻≤159.8 Ω/km,屏蔽层需可靠接地以保证 EMC 性能。

(二)CANopen 核心通信协议
通信对象(COB):CANopen 通信基于 11 位 COB-ID 标识通信对象,优先级由 ID 决定,核心对象包括:
网络管理对象(NMT):COB-ID=0,用于节点启动 / 停止、通信重置(如 cs=129 重置节点、cs=1 启动节点)。
同步对象(SYNC):默认 COB-ID=0x80,为总线提供周期性时钟,支持多轴同步运动,可通过对象 1005h 修改 COB-ID,通过对象 1006h 定义通信循环周期(单位 μs)。
紧急对象(EMCY):高优先级事件触发对象,COB-ID=0x80 + 节点地址,包含 2 字节错误代码、1 字节错误寄存器及 1 字节错误类别,用于上报驱动器故障(如过压、过流)。
服务数据对象(SDO):用于访问对象字典,支持参数读写(如通过 SDO 下载电机参数、读取故障历史),采用确认式通信,包含启动下载 / 上载、段传输、中止传输等协议。
过程数据对象(PDO):用于实时数据交互,分接收 PDO(RXPDO,主站→驱动器,如控制字、目标速度)和传输 PDO(TXPDO,驱动器→主站,如状态字、实际位置),支持事件触发、时间触发、同步触发三种传输方式。
数据类型:定义无符号整数(UNSIGNED8/16/32 等)、有符号整数(INTEGER8/16/32 等)、混合数据类型(STRUCT/ARRAY)及扩展数据类型(OCTET_STRING/VISIBLE_STRING),传输采用 “低位优先”(Intel 格式),确保多设备数据兼容性。

对象字典与核心功能配置
(一)对象字典分类与关键对象
对象字典是 CANopen 通信的核心,按功能分为 DS301 标准对象(1000h-1FFFh)、生产商特定对象(2000h-3FFFh)、DS402 驱动器子协议对象(6000h-6FFFh),关键对象如下:
DS301 标准对象
1000h(设备类型):标识设备为伺服驱动器(DS402 子协议),默认值 0x00020192,只读。
1001h(错误寄存器):1 字节寄存器,位 0 表示一般错误、位 1 表示电流错误、位 2 表示电压错误、位 3 表示温度错误,用于快速定位故障类型。
1003h(预定义错误字段):数组类型,存储最近 10 条紧急错误记录,Subindex 0 表示错误数量,Subindex 1-10 存储具体错误代码。
1400h-1403h(RXPDO 通信参数):定义 RXPDO 的 COB-ID(默认 0x200 + 节点地址等)、传输类型(如 0xFF 为事件触发)。
1600h-1603h(RXPDO 映射参数):配置 RXPDO 数据内容,默认 RXPDO1 映射控制字(6040h),可自定义映射目标位置(607Ah)、目标速度(60FFh)等。
1800h-1803h(TXPDO 通信参数):定义 TXPDO 的 COB-ID(默认 0x180 + 节点地址等)、禁用时间(避免总线过载)、事件定时器。
1A00h-1A03h(TXPDO 映射参数):配置 TXPDO 数据内容,默认 TXPDO1 映射状态字(6041h),可自定义映射实际位置(6064h)、实际速度(606Ch)等。
DS402 驱动器子协议对象
6040h(控制字):16 位控制字,位 0 控制 “打开 / 关闭”、位 2 控制 “快速停止”、位 3 控制 “操作使能”、位 7 控制 “故障重置”,用于驱动状态机切换。
6041h(状态字):16 位状态字,位 0 表示 “准备开启”、位 1 表示 “开启”、位 2 表示 “操作使能”、位 3 表示 “故障”,用于反馈驱动器当前状态。
6060h(操作模式):设置驱动器运行模式,支持轨迹位置模式(01h)、轨迹速度模式(03h)、轨迹转矩模式(04h)、标零模式(06h)、插值位置模式(07h)等,需在电机零速时切换模式。
607Ah(目标位置):32 位整数,轨迹位置模式下的目标位置设定值,支持绝对 / 相对位置控制,单位由齿轮速比(6091h)和馈入常数(6092h)定义。
6064h(位置实际值):32 位整数,反馈驱动器实际位置,分辨率可通过对象 608Fh(位置编码器分辨率)调整。
6098h(标零方法):8 位整数,定义标零方式(如 -7 表示负方向找标零输入后找反馈零、8 表示正向找基准开关标零),需配合标零速度(6099h)、标零加速度(609Ah)使用。
生产商特定对象
2001h(系统故障):数组类型,存储最近 10 条系统故障编号,Subindex 1-10 对应 DRV.FAULT1-DRV.FAULT10,只读。
2011h(DRV.RUNTIME):32 位无符号整数,以秒为单位记录驱动器运行时间,只读。
20A4h(锁存器控制寄存器):16 位寄存器,控制锁存器监控使能(如位 0 使能外部锁存器 1 上升沿),支持位置捕获功能。
345Ah(制动控制):数组类型,Subindex 1 控制制动器命令(0 = 抱闸、1 = 释放),Subindex 2 反馈制动器状态,支持现场总线直接控制制动器,需注意故障时驱动器会重新接管制动逻辑。
(二)核心功能配置示例
PDO 配置:以 “通过 PDO 控制电机速度” 为例,需先禁用未使用的 PDO 减少总线负载,再配置 RXPDO 映射目标速度(60FFh)、TXPDO 映射实际速度(606Ch),最后启用 PDO 并设置同步触发方式(如每收到 1 个 SYNC 报文传输 1 次 PDO)。
标零配置:通过 SDO 写入标零方法(6098h=-7)、标零速度(6099h Sub1=10000 计数 /s)、标零加速度(609Ah=1000 计数 /s²),再通过控制字(6040h)触发标零操作,标零完成后状态字(6041h)位 12 置 1 表示标零成功。
轨迹位置控制:设置操作模式为轨迹位置模式(6060h=01h),通过 RXPDO 写入目标位置(607Ah)、轨迹速度(6081h)、轨迹加速度(6083h),触发控制字位 4 启动运动,TXPDO 实时反馈实际位置(6064h)和运动状态。

故障处理与紧急消息
(一)紧急错误代码与故障分类
手册详细列出 CANopen 紧急消息对应的错误代码,涵盖硬件故障、电源故障、电机 / 反馈故障、通信故障等类别,典型代码如下:
错误代码 故障类型 描述 补救措施
0x3210 电源故障 F501 直流母线过压 降低负载减速速率,检查再生电阻连接
0x3220 电源故障 F502 直流母线欠压 检查输入电源稳定性,排查接线松动
0x4310 温度故障 F235 驱动器散热器超温 清理散热通道,检查风扇运行状态,降低负载
0x7380 反馈故障 F402 反馈 1 模拟信号幅值故障 检查反馈电缆接线,更换反馈设备
0x8480 电机故障 F302 电机超速 提高速度阈值(VL.THRESH),优化速度环参数
0xFF02 电流故障 F529 超过 Iu 电流偏移限幅 检查电流传感器,重新校准电流环
(二)故障排查流程
识别故障代码:通过驱动器面板(双 7 段屏显示 “F + 代码”,如 F501)、LED 指示灯(红色闪烁 = 故障)或 WorkBench 软件读取 DRV.FAULTS 命令获取错误代码。
定位故障原因:根据手册 “CANopen 紧急消息和错误代码” 章节,匹配代码对应的故障类型(如电源、反馈、温度),排查硬件接线、参数配置、环境条件(如温度、负载)。
执行补救措施:
接线类故障(如反馈断线):断电后重新插拔电缆,确认引脚对应关系(参考附录接线图)。
参数类故障(如母线过压):通过 SDO 调整参数(如降低减速速率),保存后重启驱动器。
硬件类故障(如功率级故障):重启无效时,联系技术支持返厂维修。
清除故障:通过控制字位 7(故障重置)或 DRV.CLRFAULTS 命令清除故障,确认故障消除后重新使能驱动器。
