4. 硬件与驱动配置

在 TwinCAT NC PTP 系统中,硬件配置并不是“把设备扫描进来”就结束了。真正决定运动控制能否正确运行的关键,是建立一条从物理硬件到逻辑轴的完整映射链:伺服驱动器 → 电机 → 编码器 → EtherCAT 从站 → NC 轴。这条链上的每一环都必须一一对应,否则会出现轴使能失败、位置反馈异常、方向相反、零点漂移甚至飞车等严重问题。

核心思想:TwinCAT NC 轴是一个“逻辑运动对象”,它本身不知道电机是谁、编码器装在哪里。它只通过 EtherCAT 过程数据(PDO)与从站交换目标位置、实际位置、状态字和控制字。因此,配置的本质是把逻辑轴的输入输出变量,绑定到从站的过程数据对象上。

一、映射链的整体结构

下图展示了从物理层到 NC 轴层的完整映射关系。左侧是物理硬件,中间是 EtherCAT 通信层,右侧是 TwinCAT 逻辑层。理解这张图,就能理解后续所有配置步骤的目的。

物理硬件层 EtherCAT 通信层 TwinCAT 逻辑层 伺服驱动器 伺服电机 编码器(反馈) 机械负载 / 丝杠 EtherCAT 从站 PDO 过程数据 CoE 对象字典 分布式时钟 DC NC 轴(Axis) Setpoint / Actual Scaling 比例换算 PLC 接口变量 物理连接 PDO 映射 映射链:驱动器 → 电机 → 编码器 → EtherCAT 从站 → NC 轴

二、配置流程与关键步骤

在 TwinCAT 3 中,完整的硬件与驱动配置通常按以下顺序进行。每一步都建立在前一步正确的基础上,跳步或顺序颠倒往往会导致后续无法排查的映射错误。

  1. 扫描 EtherCAT 从站:在 I/O 配置中扫描设备,确认从站型号、站地址、拓扑顺序正确。
  2. 配置驱动器参数:通过 CoE 或厂商工具设置电机额定电流、编码器分辨率、电子齿轮比等。
  3. 选择 PDO 映射:根据 NC 轴需要,选择包含控制字、状态字、目标位置、实际位置、模式等对象的 PDO。
  4. 创建 NC 轴:在 Motion 配置中新建轴,设置轴类型为“连续轴”或“有限轴”。
  5. 绑定驱动变量:将 NC 轴的 Setpoint、Actual、Enable、Ready 等信号链接到从站 PDO 变量。
  6. 设置 Scaling 比例:把编码器增量换算为 mm、度或用户单位,并确定方向。
  7. 使能与测试:在线使能轴,观察实际位置反馈,执行点动和回零测试。
建议在绑定变量前先保存一份 I/O 配置快照。一旦映射错误导致轴异常,可以快速回退到已知正确的配置状态。

三、PDO 映射与 NC 轴接口的对应关系

NC 轴与从站之间的数据交换,本质上是一组过程数据对象的周期性读写。下表列出了最常见的信号对应关系,实际项目中不同驱动器可能略有差异,但核心逻辑一致。

NC 轴信号 方向 EtherCAT PDO 对象 说明
Enable / 使能 NC → 从站 Controlword (0x6040) 写入使能位、运行位
Setpoint Position NC → 从站 Target Position (0x607A) 周期位置设定值
Actual Position 从站 → NC Position Actual Value (0x6064) 编码器反馈位置
Status / 状态 从站 → NC Statusword (0x6041) 就绪、报警、到位
Operating Mode NC → 从站 Modes of Operation (0x6060) 周期同步位置模式 CSP
Velocity Actual 从站 → NC Velocity Actual Value (0x606C) 用于速度监控

四、Scaling 比例换算与方向设置

Scaling 是映射链中最容易被忽视、却最容易出错的环节。它决定了“编码器增量”与“用户单位”之间的换算关系。例如,丝杠导程为 10 mm,编码器为 23 位多圈绝对值,减速比为 1:1,则每转对应 2^23 个增量,每毫米对应 2^23 / 10 个增量。

Scaling Factor = 编码器每转增量 / 丝杠导程
               = 8388608 / 10
               = 838860.8 增量/mm

若减速比为 5:1,则:
Scaling Factor = 8388608 / (10 / 5)
               = 4194304 增量/mm

方向设置同样关键。如果电机正转时 NC 轴实际位置减小,说明方向反了,需要在 Scaling 中勾选“Invert Motor Direction”或“Invert Feedback Direction”,而不是通过修改接线来纠正。软件方向反转更安全、更可追溯。

不要同时反转电机方向和反馈方向,否则等于没有反转,且会引入额外的调试困惑。通常只反转其中一个即可。

五、典型案例:某包装机送料轴配置复盘

某包装机送料轴使用倍福 AM8000 伺服电机、AX5000 驱动器和 23 位编码器,通过 EtherCAT 与 TwinCAT NC 连接。初次配置后轴使能正常,但点动时实际位置反馈跳动剧烈,且方向与预期相反。

排查过程如下:

  • 检查 PDO 映射,发现实际位置对象 0x6064 被映射为 32 位,但 NC 轴 Scaling 仍按 16 位增量计算,导致数值溢出。
  • 修正 Scaling 为 8388608 增量/转,并重新计算每毫米增量。
  • 方向问题通过勾选“Invert Feedback Direction”解决,电机方向保持不变。
  • 重新使能后,点动平稳,回零准确,定位误差在 ±0.02 mm 以内。

这个案例说明:PDO 映射的位宽、Scaling 的数值、方向设置三者必须一致。任何一项不匹配,都会表现为“轴能动但不对”的典型症状。

六、常见误区与检查清单

  • 误区一:只扫描从站,不检查 PDO 内容。不同驱动器的默认 PDO 可能不包含 NC 轴需要的全部对象。
  • 误区二:Scaling 直接填 1,认为“增量就是单位”。这会导致位置数值巨大或极小,无法正常定位。
  • 误区三:方向反了就去改电机接线。改接线会同时影响反馈和输出,风险高且不易复现。
  • 误区四:忽略分布式时钟 DC 配置。多轴同步应用中,DC 未启用会导致轴间同步误差累积。
  • 误区五:使能前不检查 Statusword。驱动器未就绪时强制使能,可能触发报警或飞车。
推荐检查顺序:从站扫描 → PDO 映射 → NC 轴创建 → 变量链接 → Scaling 计算 → 方向确认 → 在线使能 → 点动测试 → 回零测试。每一步都确认无误后再进入下一步。