# XDH-60T4 伺服与运动控制

本参考仅针对 `XDH-60T4` 的 PLC 侧运动控制。先确认轴是接在本体晶体管脉冲口，还是接在 EtherCAT 总线上；两条路径的参数、接线、使能和诊断方式不同，不能混用。项目使用 `DS5C-20P4-PTA` 时，同时读取 `ds5c-20p4-pta-drive.md`；其他伺服驱动器仍必须以其型号手册为准。

## 已确认的机型能力

| 项目 | 官方资料确认 | 工程含义 |
|---|---|---|
| 本体类型 | XDH-60T4 是 XDH-60 系列的 T4 型 | 使用晶体管输出，不是继电器脉冲输出。 |
| 本地高速脉冲轴 | `Y0~Y3`，4 路 | 每一轴可作为脉冲输出端；方向端从其余晶体管输出中分配并在配置中明确指定。 |
| 本地脉冲规格 | DC5~30V、最大 50mA、最大 100kHz | 驱动器脉冲输入必须与 OC 脉冲加方向方式兼容；不能只按“有脉冲口”判断兼容。 |
| EtherCAT | XDH 有两个以太网口，EtherCAT 使用 `LAN2` | PLC 到第一个伺服 LAN1，再从该伺服的另一口串到下一台，采用线型拓扑。 |
| 高级运动 | 高级运动篇适用于 XDH | 可用 EtherCAT 轴配置、轴调试、单轴/轴组/CAM/POU 功能；具体指令和版本条件逐项查原手册。 |

来源：XDH-60 随机手册 PDF 1-2；定位控制篇 PDF 13-14；高级运动控制篇 PDF 8-10、42-45。

## 路径选择

### 本体脉冲加方向

适用于驱动器提供脉冲输入，且项目需要 1-4 条独立本地轴的情形。

1. 将轴脉冲输出分配到 `Y0~Y3`，每轴另外分配未被占用的晶体管输出作为方向端，避免多个轴复用同一方向端。
2. 在 XDPPro 的脉冲参数/定位指令配置中设定脉冲端、方向端、方向极性、脉冲单位、每转脉冲数和机械单位换算。
3. 在驱动器中把指令输入配置为与 PLC 相符的集电极开路、脉冲加方向、负逻辑输入形式；若驱动器仅接受差分输入，使用合适的 OC-Diff 转换方案并以驱动器接线图为准。
4. 先做低速点动或小距离 `DRVI`，确认方向和实际位移；再做 `ZRN`，最后才允许绝对定位 `DRVA`。

XDH-60T4 的脉冲输出属于 OC 脉冲加方向。定位控制篇指出定位用脉冲输出负载电流应为 DC5~24V、10~100mA；控制线应与动力线分开，并使用外部急停、正反转/上下限硬件互锁。不要从本体 I/O 名称推测具体伺服的 PUL/DIR 端子或 NPN/PNP 接法。

来源：定位控制篇 PDF 13-14、162-168；XDH-60 随机手册 PDF 2。

### EtherCAT 总线轴

适用于需要总线伺服、多轴同步、插补、电子凸轮、追剪或飞剪的项目。本地 4 路脉冲轴数不等于 EtherCAT 从站轴数，后者应以 PLC 型号配置、固件、驱动器和通讯周期实际核定。

1. 在停机、断能状态完成 `LAN2 -> 第一台伺服 LAN1 -> 下一台伺服` 的线型接线，使用屏蔽工业以太网线并核对每个从站顺序。
2. 在工程树的 PLC 配置中打开 EtherCAT；先扫描从站或手工添加匹配的 XML。`StationID 0` 是第一台从站，列表顺序必须与物理拓扑一致。
3. 设定主站同步周期。高级运动篇给出的推荐值为：16 轴及以下 1000us，17-32 轴 2000us，33-64 轴 4000us；满足固件条件时，4 轴及以下可设 250us、8 轴及以下可设 500us。先以保守周期调通，再评估缩短周期。
4. 将从站设置为 Servo Module，并把功能映射号与轴配置的从站号对应。不要把“站号”和程序使用的逻辑轴号混为一谈。
5. 先配置并写入，随后激活。激活会让从站经历 `Init -> PreOP -> SafeOP -> OP`，其效果近似停机后重新运行，必须在设备可安全动作时执行。
6. 在轴配置中选择 EtherCAT 指令通道，设置单位换算、电子齿轮/每圈脉冲数、正负限位、回原参数；轴调试前关闭程序里已有的轴使能。

来源：高级运动控制篇 PDF 8-25、42-52。

## 脉冲定位指令路由

| 目标 | 指令 | 必要认识 | 主要来源 |
|---|---|---|---|
| 相对移动 | `DRVI S0 S1 S2 D0 D1` | 上升/下降沿触发；`S0` 为脉冲数，负数反向；`S1` 为频率；`S2` 为 0 加速到设定频率的时间；`D0` 脉冲端、`D1` 方向端。 | 定位控制篇 PDF 111-116 |
| 绝对移动 | `DRVA S0 S1 S2 D0 D1` | 目标以机械原点为基准，依赖累计脉冲位置；没有完成可靠回零前，不要把它作为真实机械绝对位置。 | 定位控制篇 PDF 117-122 |
| 机械回零 | `ZRN S D` | 上升/下降沿触发；原点、极限、方向、爬行速度和可选 Z 相由参数配置。该指令不支持软限位和原点辅助信号功能。 | 定位控制篇 PDF 123-130 |
| 发送过程判断 | `SM1000` / `SM1020` / `SM1040` / `SM1060` | 分别对应 Y0/Y1/Y2/Y3 正在发脉冲。其下降沿表示 PLC 已发完脉冲，不等于机械已真正停止到位。 | 定位控制篇 PDF 169-170 |

同一脉冲端口在脉冲发送期间，新的定位指令不会被响应。为每轴建立独立的“请求、忙、完成、故障、到位”状态机，完成条件至少组合 PLC 脉冲发送结束、驱动器报警正常、驱动器到位或机械反馈条件，不能只靠 `SM1000` 的下降沿。

## EtherCAT 单轴和 POU 路由

高级运动篇的原梯形图单轴指令包括 `A_PWR`（使能）、`A_RST`（清错）、`A_STOP`（停止）、`A_HALT`（暂停）、`A_MOVEA`（绝对位置）、`A_MOVER`（相对位置）、`A_VELMOVE`（速度）和 `A_HOME`（HM 回原）。它们与脉冲 `DRVI`/`DRVA`/`ZRN` 是两套不同控制层，不要对同一个轴同时交叉下令。

需要 POU 时，XDPPro 可在运动 POU 库中使用带 `BMC_` 前缀的指令，例如 `BMC_A_POWER`。轴配置添加轴后会生成轴结构体变量；使用前在系统变量表中勾选“引用”。POU 引脚必须关联类型匹配的变量，不能直接把寄存器或线圈接到 POU 引脚。

来源：高级运动控制篇 PDF 64-75。

## 调试与诊断顺序

1. 备份工程、核对急停/防护门/STO、外部正负限位、机械区域清空；先停止主运动并解除负载风险。
2. 先监控，不先强制输出。脉冲轴核查 `Y0~Y3` LED、方向输出、累计脉冲寄存器和对应发送标志；总线轴核查从站状态、故障和轴反馈。
3. 脉冲轴不动作时依次核查接线、PLC 端 LED/方向、累计脉冲是否变化、驱动器输入形式是否匹配。停止位置不准时优先核查电子齿轮、原点/爬行速度、编码器 Z 相和机械背隙。
4. EtherCAT 轴先确认实际从站顺序、StationID、功能映射号、PDO 映射和是否到 OP；状态可从 `SD[8021+20*i]` 观察，状态切换错误可从 `SD[8028+20*i]` 查阅。
5. 仅在确知对象、停机状态和恢复方案时修改 CoE-Online、SDO 或 ESC 寄存器。部分对象或寄存器的在线写入会造成通讯中断。

来源：定位控制篇 PDF 171-173；高级运动控制篇 PDF 13-25、46-52；EtherCAT 运动控制用户手册 PDF 162-175（补充）。

## 版本与未决信息

- 定位控制篇列出 XDH 需要 XDPPro V3.7.4 及以上；高级运动中的具体功能还会各自要求固件和软件版本，实施前逐条核对。
- `XDH-60T4` 已能确认本地 4 路脉冲输出；EtherCAT 的实际可用从站数、周期和控制模式应以当前 PLC 固件、驱动器 XML、驱动器型号和工程配置为准。
- 当前 DS5C-20P4-PTA 的驱动器侧资料见 `ds5c-20p4-pta-drive.md`。获得电机完整型号、机械传动数据、限位/原点传感器和当前 XDPPro 版本后，可继续生成这套设备的接线表、参数表、软元件分配和梯形图/POU 顺序。
