4. 台达运动控制器与伺服通讯故障诊断

台达运动控制器(如 AX 系列、AS 系列)与伺服驱动器(ASDA-A3/B3/ASDA-B2 等)之间的通讯,是整台设备能否正常动作的“神经”。一旦通讯异常,表现往往不是“完全不动”,而是偶发丢步、定位漂移、使能后报 AL.xxx、控制器显示轴未就绪等难以复现的现象。要高效排障,必须先分清总线类型,再按“物理层—参数层—协议层—应用层”的顺序逐层收敛。

一、先分清三种总线的故障特征

CANopen、EtherCAT、Modbus 在台达伺服上的故障表现差异很大,判断方向也不同:

  • CANopen(DS301/DS402):基于 CAN 总线,站号即节点 ID,波特率必须全网一致。典型故障是站号冲突导致“多轴同时响应”或“某轴无响应”,以及心跳/节点守护超时。
  • EtherCAT:主站(AX 控制器)与从站(ASDA-A3/B3)通过 ESC 芯片实时交换过程数据。典型故障是拓扑断链、从站不进入 OP 状态、DC 同步偏差过大、SM 看门狗超时。
  • Modbus RTU/TCP:多用于参数读写或低速控制。典型故障是站号冲突、校验错误、响应超时、寄存器地址偏移错误。

下面这张图把三类总线的“故障定位路径”放在同一张拓扑里,便于对照排查:

台达运动控制器—伺服三类总线故障定位拓扑 运动控制器 AX / AS 系列 CANopen EtherCAT Modbus CAN 节点 站号 1 / 2 / 3 心跳 100ms ESC 从站 IN / OUT 端口 DC 同步 1ms Modbus 从站 站号 1~247 RTU 9600/8N1 ASDA-B2 CAN 轴 1 ASDA-A3 EtherCAT 轴 2 ASDA-B3 Modbus 轴 3 站号冲突 心跳超时 波特率不一致 从站不达 OP DC 偏差大 SM 看门狗 CRC 校验错 响应超时 寄存器偏移错

二、站号冲突:最隐蔽也最常见

站号冲突的本质是“两个从站对同一帧报文都做出响应”,在 CANopen 和 Modbus 上尤其致命。排查时不要只看拨码开关,要结合软件参数一起核对。

以 ASDA-B2 的 CANopen 为例,站号由参数 P3-00(节点 ID)和 P3-01(波特率)决定。若两台驱动器都设为 1,控制器发送“轴 1 使能”时,两台都会进入使能状态,表现为“一动全动”。排查步骤:

  1. 断开所有从站,只接一台,用控制器逐个点动,确认单轴响应正常。
  2. 逐台接入,每接入一台就重新扫描节点,观察是否出现重复 ID。
  3. 用 CAN 分析仪抓取报文,检查是否有两个不同物理节点回复同一 COB-ID。

Modbus 侧则要同时检查站号与寄存器映射。例如控制器读 0x2000 作为状态字,而伺服实际状态字在 0x2100,此时不会报通讯错误,但读回的数据恒为 0,容易被误判为“通讯正常但轴不动”。

三、通讯超时与数据丢包

超时和丢包往往同源,区别在于丢包是“偶尔丢”,超时是“连续丢到超过阈值”。EtherCAT 上最典型的判断依据是工作计数器 WKC:主站每周期发送报文,从站处理后会递增 WKC。若 WKC 小于预期值,说明有从站未处理或链路中断。

假设一个 3 从站 EtherCAT 网络,正常 WKC 应为 3。若监控到 WKC 在 2 和 3 之间跳变,说明第三个从站偶发不响应,常见原因包括:

  • 网线屏蔽层未接地,变频器干扰导致 CRC 错误;
  • 从站 DC 同步模式与主站不一致,导致周期抖动;
  • 从站 ESC 供电不足,端口间歇性掉线。

CANopen 侧则看心跳报文。若心跳周期设为 100ms,控制器守护时间设为 300ms,连续 3 次未收到心跳即报超时。此时应先用示波器或 CAN 分析仪确认总线差分电平是否正常(CAN_H 约 2.5V,CAN_L 约 2.5V,显性时差值约 2V),再检查终端电阻是否为 120Ω。

四、控制器—驱动器握手失败

握手失败通常发生在“物理层已通、协议层未通”的阶段。以 EtherCAT 为例,从站状态机必须依次经过 INIT → PREOP → SAFEOP → OP。若卡在 SAFEOP,说明 PDO 映射或同步管理器配置不匹配;若卡在 PREOP,说明邮箱通讯或 SDO 参数有问题。

台达 ASDA-A3 在 EtherCAT 下需重点核对以下参数:

参数含义典型值握手影响
P1-01控制模式0x0A(CSP)模式不匹配则无法进入 OP
P2-10DI1 功能0x01(使能)使能信号未映射则轴不响应
P3-00节点 ID1~127冲突则无法唯一寻址
P3-01波特率与主站一致不一致则完全无通讯

若控制器报“轴未就绪”,先看驱动器面板是否显示 AL.xxx。例如 AL.011 为过电流、AL.013 为过载,这些是驱动器自身保护,不是通讯故障;而 AL.180 系列才与通讯相关。区分这一点可以避免在通讯参数上反复折腾。

快速判断口诀:先看灯(RUN/ERR/通讯指示灯),再看号(站号、节点 ID),后看线(终端电阻、屏蔽、DC 同步),最后看参(PDO 映射、控制模式、心跳周期)。四步之内基本能定位 80% 的通讯故障。

五、一个可复用的排查记录表

现场排障时建议直接填写下表,避免遗漏关键项:

检查项CANopenEtherCATModbus
物理层120Ω 终端、差分电平网线屏蔽、端口 LINK 灯RS485 A/B 极性、终端电阻
站号/节点P3-00 唯一从站顺序与拓扑一致站号 1~247 唯一
速率/周期P3-01 全网一致DC 周期与主站一致波特率、数据位、校验一致
协议状态心跳/节点守护正常WKC 等于从站数、状态达 OPCRC 正确、响应在超时内
应用映射PDO 映射与 DS402 一致PDO 映射、SM 配置正确寄存器地址与功能码匹配

把这张表打印出来贴在电柜门内侧,每次故障按行打勾,能显著缩短平均修复时间。通讯故障并不可怕,可怕的是在没有分层的情况下盲目更换驱动器或控制器。先分层、再定位、后验证,才是工程化的排障方式。