机器人功能概述
Darra Software PLC 内置机器人控制功能,支持多种常见工业机器人类型。您可以在 PLC 程序中直接编写运动指令,结合 3D 仿真验证后部署到实际设备。
支持的机器人类型
| 机器人类型 | 典型应用 | 轴数 |
|---|---|---|
| 6轴关节机器人 | 搬运、焊接、装配、喷涂 | 6 |
| SCARA 机器人 | 高速取放、电子装配、锁螺丝 | 4 |
| Delta/蜘蛛机器人 | 高速分拣、食品包装 | 3~4 |
| 龙门/桁架机器人 | 大范围搬运、CNC 上下料 | 3 |
| 并联平台 | 精密定位、振动台 | 6 |
| 7 轴冗余机器人 | 避障、狭小空间作业 | 7 |
可同时控制多台机器人
一个项目中可以添加多台不同类型的机器人,它们共享 IO 信号和 PLC 变量,可以实现协同工作。
使用流程
1. 添加机器人
在 IDE 的项目浏览器中右键 → 添加机器人,选择机器人型号。系统会自动加载运动学参数和 3D 模型。
2. 示教点位
打开示教器面板,通过手动点动将机器人移动到目标位置,然后保存为命名点位(如 Home、Pick、Place)。
3. 编写运动程序
在 SCL 编辑器中编写运动指令:
// 简单取放程序
MOVJ Home, Speed := 50; // 回到初始位置
MOVJ Pick_Above, Speed := 80; // 移动到取料上方
MOVL Pick, Speed := 20; // 直线下降到取料位
DO[1] := TRUE; // 夹爪关闭
DELAY 0.3; // 等待夹紧
MOVL Pick_Above, Speed := 30; // 直线抬起
MOVJ Place_Above, Speed := 80; // 移动到放料上方
MOVL Place, Speed := 20; // 直线下降到放料位
DO[1] := FALSE; // 夹爪打开
DELAY 0.3; // 等待松开
MOVL Place_Above, Speed := 30; // 直线抬起
4. 仿真验证
点击 仿真运行,在 3D 视口中查看机器人运动轨迹,确认无碰撞、路径正确。
5. 部署运行
编译后下载到 Runtime,机器人按程序自动运行。
两种运动指令风格
| 风格 | 指令 | 适用场景 |
|---|---|---|
| 机器人指令 | MOVJ / MOVL / HOME | 多轴协调运动,示教点位 |
| PLCopen 功能块 | MC_MoveAbsolute / MC_Jog / MC_Home | 单轴精确定位,与 PLC 逻辑深度集成 |
如何选择
- 做机器人应用(取放、焊接、码垛)→ 使用 MOVJ / MOVL
- 做单轴运动控制(传送带、升降台)→ 使用 PLCopen MC_*
系统架构
三层分工
| 层 | 组件 | 职责 |
|---|---|---|
| 用户态 | Darra.PLC.IDE / Panel | 编程, 示教, 诊断, UI |
| 服务 | Darra.PLC.Service | 编译, 下载, 日志, 项目管理 |
| 内核 | DarraRT_PLC.sys + Darra.Robot.dll | 1 ms 实时周期, 正逆运动学, 轨迹插补 |
内核驱动与 EtherCAT 驱动通过 GlobalIO Section (内核共享内存) 零拷贝交互, TCP → 关节 → 伺服 PDO 的链路全程不跨驱动调用, 响应延迟 < 100 μs。
三大运动学
1. 串联运动学 (6 轴工业臂)
base --J1--> link1 --J2--> link2 --J3--> link3 --J4--> link4 --J5--> link5 --J6--> flange
- 逆解: 闭解 (球腕) 或 DLS 数值解 (非球腕)
- 典型品牌: ABB IRB, Kuka KR, Fanuc M, Yaskawa MH, 新松 SR, 埃夫特 ER, 遨博 i 系列
2. 并联运动学 (Delta / Stewart)
3 个或 6 个支链共同连接动平台
- 逆解: 闭解 (并联天然闭式)
- 正解: 数值迭代 (Newton-Raphson)
- 典型应用: 高速分拣 (Delta 峰值 300 pick/min), 6 自由度运动台
3. SCARA
肩 (θ1) → 肘 (θ2) → Z 轴 (d3) → 腕转 (θ4)
- 全部闭解
- 高速低精度, 平面内作业
- 典型: 电子装配, 锁螺丝
产品组件
| 产品 | 包含组件 | 交付物 |
|---|---|---|
| Darra PLC | Service + Panel + Runtime | 工业 PC 镜像 |
| Darra PLC IDE (选装) | IDE + DevExpress 编辑器 | 开发工作站用 |
| Darra PLC SDK | C# / Python / C++ API | 二次开发 |
| Darra Robot Pack | 90+ 品牌机器人模型 + 运动学参数 | 与 IDE 集成 |
性能指标
| 指标 | 值 | 说明 |
|---|---|---|
| 最小实时周期 | 1 ms | 需 Intel i7 以上 + TSN 网卡 |
| 支持关节数 | 48 | 可分为多个机器人 |
| 单机器人最大轴数 | 12 | 覆盖 6 轴 + 附加外部轴 (变位机) |
| 逆解计算时间 (6 轴) | < 20 μs | 闭解情况 |
| 逆解计算时间 (7 轴冗余) | < 80 μs | DLS 数值解 |
| TCP 绝对精度 | ±0.5 mm | 取决于机型, 标定良好 |
| TCP 重复精度 | ±0.05 mm | ISO 9283 |
| 轨迹时间 | < 1 ms 延迟 | 从 PLC 指令到伺服目标输出 |
入门学习路径
- 读 机器人概述 (本页)
- 读 机器人导入向导 → 把第一台机器人加到项目
- 读 使能与急停 → 上电安全流程
- 读 工具坐标系 (TCP) + 用户坐标系 → 标定
- 读 点动 JOG + 手动拖动示教 → 示教点位
- 读 MoveJ + MoveL + MoveC → 写程序
- 读 关键点规划 → 路径规划思路
- 读 基础仿真 → 仿真验证
- 读 机器人诊断 → 运行时排错
- 遇到卡点看 奇异点