1. XPlanar系统架构与防碰撞调度定位

XPlanar 是 Beckhoff 基于电磁悬浮与平面电机技术构建的柔性输送系统。要理解防碰撞调度,必须先看清它的分层架构:动子(Mover)是承载工件的悬浮执行体,定子模块(Tile)是提供二维驱动力的平面阵列,TwinCAT 控制层负责实时闭环与状态采集,运动规划层把工艺任务翻译成每个动子的轨迹,调度层则决定“谁在什么时候走哪条路”。防碰撞并不只是最后加一道安全判断,而是贯穿调度与规划之间的约束条件。

一、从物理对象到控制层级

XPlanar 的最小物理单元是定子模块,常见规格为 240 mm × 240 mm 或 320 mm × 320 mm 的矩形 Tile,可无缝拼接成任意形状的输送平面。每个 Tile 内部由多个铜线圈组成,通过电流相位控制产生行波磁场,推动动子做二维平移和绕 Z 轴旋转。动子底部装有永磁体阵列,悬浮高度通常在 0.5~2 mm 之间,具体取决于负载与动子型号。动子本身不带电缆,位置由 Tile 内的传感器或外部视觉/编码系统反馈给控制器。

控制层以 TwinCAT 3 为运行平台,实时任务周期常见为 1 ms 或 250 μs。TwinCAT 通过 EtherCAT 与各 Tile 的驱动模块通信,周期性地读取动子位置、速度、悬浮间隙,并下发电流指令。运动规划层通常运行在 TwinCAT 的 PLC 或 C++ 模块中,接收上层 MES 或工艺控制器的任务,例如“将工件从 A 工位送到 B 工位,并在 C 点停留 2 s”。规划层输出的是每个动子的时间-位置序列。调度层则位于规划层之上或与之紧耦合,负责多动子之间的路径分配、优先级排序和冲突消解。

二、防碰撞在架构中的位置

防碰撞调度不是独立于运动规划的外挂模块,而是调度层与规划层之间的约束过滤器。调度层先根据任务优先级和动子状态生成候选路径,防碰撞模块检查这些路径在时空上是否与其它动子冲突;若冲突,则调整出发时间、路径或速度曲线,直到所有动子的轨迹在时间-空间维度上互不重叠。规划层再将这些经过约束的轨迹离散成每个控制周期的位置设定值,交给 TwinCAT 执行。

这种分层设计的好处是:调度层可以处理全局优化,例如最小化整线节拍;规划层专注于单动子的平滑运动;控制层保证实时性和悬浮稳定性。防碰撞约束在调度层介入,避免规划层反复试错,也避免控制层因紧急避让而牺牲动态性能。

XPlanar 分层架构与防碰撞调度定位 物理层 · 定子模块阵列(Tile) Tile 1 Tile 2 Tile 3 Tile 4 Tile 5 Tile 6 M1 M2 M3 控制层 · TwinCAT 3 实时内核 EtherCAT 主站 位置/电流闭环 悬浮间隙控制 状态采集与上报 运动规划层 · 轨迹生成与插补 时间-位置序列生成 速度/加速度平滑 周期离散化输出 调度层 · 任务分配与防碰撞约束 优先级排序 路径分配 防碰撞检查 节拍优化 防碰撞约束贯穿调度与规划 实时性由控制层保证

三、防碰撞在整线节拍中的工程价值

在传统输送线上,工件间距由机械挡块或固定节拍保证,换型时需要停机调整。XPlanar 的动子可以独立运动,理论上可以做到“零等待”的柔性输送。但如果没有防碰撞调度,多个动子在同一区域交叉运行时,要么被迫降速,要么发生碰撞风险。防碰撞调度的工程价值体现在三个层面:

  • 安全层面:确保任意两个动子在任意时刻的最小间距大于安全阈值。例如动子外径 100 mm,安全间距设为 30 mm,则中心距不得小于 130 mm。调度层需要在轨迹生成阶段就保证这一约束,而不是等控制层检测到危险再急停。
  • 节拍层面:通过合理的路径分配和优先级排序,减少动子之间的等待时间。例如在分拣应用中,高优先级动子优先通过交叉口,低优先级动子绕行或延迟出发,整体吞吐量可提升 15%~30%(示例值,取决于布局和任务分布)。
  • 柔性层面:当产品换型或工艺路线变更时,只需修改调度层的任务描述和约束参数,无需改动机械结构。防碰撞调度使“同一平面、多品种、变批量”的混线生产成为可能。

四、一个简化的调度示例

假设平面上有 4 个动子 M1~M4,需要从左侧上料区移动到右侧三个工位。调度层首先读取任务队列:M1 去工位 A,M2 去工位 B,M3 去工位 C,M4 返回上料区。防碰撞模块计算各动子的候选路径,发现 M1 和 M2 在交叉口存在时间重叠。调度层将 M2 的出发时间延迟 0.3 s,并略微调整其路径曲率,使两者在交叉口的时间窗口错开。规划层随后为每个动子生成平滑的速度曲线,控制层以 1 ms 周期执行。最终整线节拍从 4.2 s 降至 3.5 s(示例数据,仅用于说明调度效果)。

工程提示:防碰撞调度的参数(安全间距、优先级权重、最大延迟时间)需要根据实际动子尺寸、负载、速度上限和工艺节拍要求进行标定。建议先在 TwinCAT 中用仿真动子验证调度逻辑,再逐步接入真实动子。

五、架构定位总结