2. XTS EtherCAT拓扑与从站配置
XTS(eXtended Transport System)不是一台独立的伺服驱动器,而是一组挂在 EtherCAT 上的分布式从站:每个 XTS 模块内部集成了电机线圈段、位置检测和 EtherCAT 从站控制器,动子(Mover)在模块轨道上运动,位置信息由模块上的传感器阵列采集并周期性地通过 EtherCAT 过程数据上传给 TwinCAT。因此,XTS 的调试质量在很大程度上取决于 EtherCAT 网络规划是否合理、从站是否被正确扫描识别、过程数据对象(PDO)映射是否与运动控制需求匹配,以及分布式时钟(DC)是否同步。本节围绕这四件事展开。
一、EtherCAT 网络规划:先定拓扑,再谈配置
XTS 模块之间通过 EtherCAT 的 IN/OUT 端口串联,形成一条逻辑上的菊花链。规划阶段需要先明确三件事:控制器与首个从站之间的连接方式、XTS 模块的物理排列顺序、以及是否在链路中混入其他从站(如 EL 系列 I/O、AX5000/AX8000 伺服驱动器、EtherCAT 耦合器等)。
推荐做法是:TwinCAT 控制器(如 CX 系列或工控机 + TwinCAT 3)的以太网口先接到第一个 XTS 模块的 IN 口,模块的 OUT 口接下一个模块的 IN 口,依次串联,最后一个模块的 OUT 口回到控制器形成环网(可选)。若使用环网冗余,需在 TwinCAT 中启用 Redundancy 并指定第二个网口;若为线型拓扑,则最后一个模块的 OUT 口悬空即可。需要注意:XTS 模块的 EtherCAT 端口通常有明确的 IN/OUT 标识,接反会导致链路无法建立,扫描时表现为“找不到从站”或“链路中断”。
另一个规划要点是供电与 EtherCAT 的分离。XTS 模块的功率供电(通常为 24V 或更高电压的驱动电源)与 EtherCAT 通信供电是两套系统,规划时应确保每个模块的电源端子正确接入,且 EtherCAT 通信在功率未上电时也能被扫描到(部分模块需要通信供电才能被识别)。建议在规划表中记录每个模块的物理位置、EtherCAT 地址顺序、供电来源和线缆长度,便于后续排障。
二、从站扫描:让 TwinCAT 认识每一个 XTS 模块
在 TwinCAT 3 中,扫描从站的标准路径是:打开 I/O 配置树,右键 Devices → Scan,选择目标网卡,TwinCAT 会广播扫描并列出所有在线从站。对于 XTS,扫描结果中通常会出现类似 XTS Module 或 AX8000 等设备名称,每个模块对应一个从站条目,并带有自动分配的 EtherCAT 地址(如 1001、1002……)。
扫描时常见的异常有三类:一是只扫描到部分模块,通常是因为链路中某个模块未上电或 IN/OUT 接反;二是扫描到未知设备,说明 ESI(EtherCAT Slave Information)文件未安装,需要从 Beckhoff 官网下载对应 XTS 模块的 ESI 并放入 TwinCAT\3.1\Config\Io\EtherCAT 目录后重新扫描;三是扫描到的模块顺序与物理顺序不一致,这通常是因为扫描时 TwinCAT 按拓扑自动排序,若物理接线顺序与预期不符,应在扫描后手动核对每个从站的 EtherCAT Address 与物理位置。
扫描完成后,建议立即在 Slave 的 General 标签页中确认 Type、Revision 和 Serial Number,并与实际模块铭牌核对。对于多模块 XTS 系统,这一步能避免“模块型号混用”导致的后续 PDO 映射错误。
三、过程数据对象配置:把位置、速度、状态映射出来
XTS 从站的 PDO 决定了每个周期 TwinCAT 与模块之间交换哪些数据。典型 XTS 模块的输入 PDO 包含:动子位置(Position)、速度(Velocity)、状态字(Status Word)、错误码(Error Code)等;输出 PDO 包含:控制字(Control Word)、目标位置/速度、使能位等。配置时在 Slave → Process Data 中选择 Expert Mode,勾选实际需要的 PDO 条目,避免全选导致过程数据过大、周期时间被拉长。
以双动子 XTS 模块为例,若每个动子需要位置和速度反馈,则输入 PDO 至少应包含 Position 1、Velocity 1、Position 2、Velocity 2,以及模块级的状态字。输出 PDO 则根据控制方式选择:若使用 TwinCAT 的 XTS 运动控制库(如 Tc2_MC2 或 XTS 专用功能块),通常只需映射控制字和使能;若自行编写控制逻辑,则需映射目标位置和速度。配置完成后,TwinCAT 会自动生成 Inputs 和 Outputs 变量树,变量名与 PDO 条目一一对应,可直接在 PLC 中引用。
四、分布式时钟设置:让所有模块在同一时间基准上
XTS 系统中多个模块需要协同工作,动子在不同模块间交接时,位置和时间必须基于同一时钟。EtherCAT 分布式时钟(DC)机制就是为此设计的:第一个支持 DC 的从站作为参考时钟(Reference Clock),其余从站通过测量线路延迟和本地时钟偏差,将自己的时钟同步到参考时钟。在 TwinCAT 中,DC 的配置位于 Slave → DC 标签页,通常选择 Enable DC,模式选 DC-Synchron(或 DC-Synchron with Sync0),并设置 Sync0 Cycle Time 与 EtherCAT 周期一致(例如 1 ms 或 500 µs)。
配置 DC 时需注意:参考时钟应选择链路中第一个支持 DC 的从站,通常是第一个 XTS 模块;若该模块不支持 DC,则需在链路中增加一个支持 DC 的耦合器或 I/O 模块作为参考。Sync0 信号用于触发从站本地任务,XTS 模块通常需要 Sync0 来同步位置采样,因此建议启用 Sync0 并设置合适的偏移(Shift)。配置完成后,可在 TwinCAT 的 Online 视图中查看每个从站的 DC Status,若显示 Sync 且偏差在微秒级,说明同步正常;若显示 Lost 或偏差过大,则需检查线缆长度、拓扑和周期设置。
五、配置检查与常见问题
完成上述四步后,建议按以下顺序做一次完整检查:首先在 Online 视图中确认所有从站状态为 OP(Operational),若停留在 PREOP 或 SAFEOP,通常是 PDO 映射不完整或 DC 未同步;其次查看每个 XTS 模块的 DC Status,确认 Sync 标志有效且偏差在允许范围内;然后在 PLC 中读取输入 PDO 变量,手动推动动子,观察位置值是否连续变化;最后下发使能和目标位置,确认动子按预期运动。
常见问题中,最典型的是“扫描到从站但无法进入 OP 状态”。此时应优先检查 PDO 映射是否与 ESI 描述一致,尤其是输入/输出长度是否匹配;若使用了 DC,还需确认 Sync0 Cycle Time 与主站周期一致,且参考时钟选择正确。另一个常见问题是“动子位置跳变”,通常与 DC 未同步或 Sync0 偏移设置不当有关,可尝试调整 Shift 值(例如从 0 改为周期的一半)后重新观察。
整体来看,XTS 的 EtherCAT 配置并不复杂,但每一步都直接影响后续运动控制的稳定性。拓扑规划决定了链路能否建立,从站扫描决定了设备能否被识别,PDO 映射决定了数据能否正确交换,DC 设置决定了多模块能否协同。把这四步做扎实,后续的动子控制和轨迹规划才有可靠的基础。