多机器人协同单元 (4/5/6 机变体)
本案例展示如何用 一台工控机 + 一份 Darra 工程 统一调度多台机器人完成协同作业。三个变体共享同一套架构方法(统一 EtherCAT 主站、统一运动学引擎、统一 PLC 状态机、统一 HMI),只是机器人数量、末端工艺和节拍不同。

共同架构
不论 4 台还是 6 台机器人,整条单元的工程结构一致,全部在同一 IDE 工程里维护:
| 模块 | 职责 | 载体 |
|---|---|---|
| EtherCAT 主站 | 所有机器人关节伺服 + 变位机 + 传送带 + 远程 IO + 编码器 | Runtime 内置 |
| Robot 引擎 | 每台机器人独立坐标系,正逆解 / 轨迹规划 / 示教点管理 | Runtime 内置 |
| PLC 主状态机 | 整线启停 / 工位握手 / 节拍分配 / 安全链 / 故障降级 | SCL 程序 |
| 工艺对象 | 输送带跟踪 / 电子齿轮 / 末端补偿 | Runtime 工艺对象库 |
| HMI 设计器 | 车间大屏 + 调试屏 + 移动端(同一份画面多终端投放) | IDE HMI Designer |
| 视觉接口 | GigE Vision 相机(料位 / 箱位 / 寻位) | Vision FB |
| 配方管理 | 不同产品的阵型 / 节拍 / 夹爪 / 工艺参数(JSON) | Recipe Manager |
| 信息化 | OPC UA 向上暴露数据,MQTT 上云 | Runtime 内置 |
模块之间通过工程内全局变量直接交互,无需通讯中间件、网关或桥接软件。机器人之间的握手在同一扫描周期内完成,避免跨设备通讯延迟。
变体 A — 四机器人包装线
一条高速装箱产线由 4 台机器人构成,完成"上料 → 码盒 → 封箱 → 堆垛"全流程:
- Robot1(6 轴,上料):从来料传送带抓取散装物件,按节拍送入分流传送带。
- Robot2 / Robot3(双 SCARA,码盒):左右对称布置,并行完成一个纸箱内 6~12 件物件的整齐码放。
- Robot4(6 轴,封箱 + 堆垛):封箱完成后把成品箱码到托盘(2×2 或 3×3 垛型)。
整线节拍约 4.0 秒/箱(15 箱/分钟)。要点:分流传送带带编码器,码盒机器人通过输送带跟踪工艺对象实现飞拍飞放;4 套坐标系在同一工程内互不干扰。
变体 B — 五机器人柔性装配单元
工件绕 5 工位分度盘轮转,5 台机器人依次完成上料、预装、精装、检测、下料:
- R1(6 轴,上料):视觉定位 + 抓取,放到分度盘工位 1。
- R2(6 轴,预装 + 力控):带力矩传感器,以小到 ±0.2 N 的精度压入装配工装。
- R3(6 轴,精装):驱动电动螺丝机,拧 4~8 颗螺丝,扭矩闭环。
- R4(SCARA,检测):多相机 AOI,尺寸 + 外观检测。
- R5(SCARA,下料):按 OK / NG 分流到两条出料带。
单件节拍约 8 秒。要点:增加了力控 FB(6 轴力传感器)和螺丝机 FB;分度盘 2 轴作为联动坐标系参与运动学;每件产品 UUID 全程数据记录,经 OPC UA 暴露给上层系统。
变体 C — 六机器人焊接工作站
6 台焊接机器人 + 2 轴变位机围绕同一工件(白车身 / 车架 / 钢结构骨架)协同焊接:
- R1~R6:分前 / 中 / 后段左右布置,每台负责一组焊点。
- 变位机:2 轴伺服翻转 + 旋转,承载重型工件,让 6 台机器人都能够到焊缝。
整线节拍取各机器人最大值。要点:
- 变位机协调 — 变位机翻转 / 旋转时,6 台机器人的 TCP 坐标动态重算(PositionerSync FB)。
- 电弧跟踪 — 高频周期实时采集电流电压,PID 动态调整焊枪高度(ArcSeam FB)。
- 视觉寻位 — 线激光扫描工件,输出 6 自由度偏差修正示教轨迹。
- 焊接工艺库 — 材料 / 板厚 / 坡口对应的电流 / 电压 / 送丝 / 气量参数包,用配方管理切换。
选型对照
| 变体 | 机器人数 | 关键附加能力 | 典型行业 |
|---|---|---|---|
| A 包装 | 4(6 轴 + 双 SCARA + 6 轴) | 输送带跟踪、飞拍飞放 | 食品 / 日化 / 电商 |
| B 装配 | 5(3×6 轴 + 2×SCARA) | 力控、螺丝机、视觉、分度盘 | 电子 / 家电 / 汽车零部件 |
| C 焊接 | 6(6×6 轴)+ 变位机 | 电弧跟踪、视觉寻位、变位机联动 | 汽车 / 工程机械 / 钢结构 |
实施要点(通用)
- 先在仿真里跑通节拍 — IDE 内 3D 仿真验证多机不干涉、节拍达标,再下装到现场。
- 安全链优先 — 安全光幕 / 围栏 / 急停先接入安全 FB,再调运动。
- 工位握手用全局变量 — 不要用边沿丢失的脉冲做握手,用带超时的状态位。
- 配方驱动换产 — 阵型 / 工艺参数全部进配方,换产品只切配方不改程序。