示教操作
示教是机器人编程的第一步 — 手动将机器人移动到目标位置,保存为点位,然后在程序中引用这些点位。
打开示教器
在 IDE 菜单栏选择 视图 → 示教器面板,或使用快捷键。示教器面板会出现在界面右侧。
选择坐标系
示教器支持 4 种坐标系,点动时机器人的运动方向不同:
| 坐标系 | 说明 | 适用场景 |
|---|---|---|
| 关节 | 每个轴独立转动 | 大范围移动、避障 |
| 世界 | 沿 X/Y/Z 方向平移,绕 Rx/Ry/Rz 旋转 | 对齐工件 |
| 工具 | 沿工具方向移动 | 焊接、涂胶等沿工具方向微调 |
| 用户 | 沿用户定义的坐标系移动 | 倾斜工作台上的操作 |
点动机器人
连续点动
按住方向按钮(J1+/J1-、X+/X-...),机器人持续运动。松开即停。
步进点动
设置步长(0.1mm / 1mm / 10mm),每点击一次移动固定距离。适合精确调整位置。
速度控制
拖动速度滑块(1% ~ 100%)控制点动速度。
安全提示
示教时请确保:
- 工作区域内无人员
- 速度设置在安全范围内(初次建议 10% 以下)
- 随时准备按下急停按钮
记录点位
将机器人移动到目标位置后:
- 在示教器面板点击 记录当前位置
- 输入点位名称(如
Pick1、Place1、Home) - 选择点位类别(可选)
- 点击 确定 保存
点位命名建议
使用有意义的名称,方便程序中阅读:
Home— 初始位置Pick_Above— 取料上方安全高度Pick— 实际取料位Place_Above— 放料上方安全高度Place— 实际放料位
修改已有点位
在点位管理面板中双击某个点位,可以:
- 移动到该点位:机器人自动移动过去,方便确认位置
- 更新位置:将当前机器人位置覆盖到该点位
- 微调坐标:手动输入精确坐标值
常用示教技巧
- 先示教安全高度点:先记录抬起位置(如
Pick_Above),再降下记录实际位置(Pick),避免碰撞 - 利用步进模式精调:大范围用连续点动,到达附近后切换为 0.1mm 步进精确调整
- 善用坐标系切换:接近工件时切换到工具坐标系,沿工具方向微调更直观
- 及时保存:每示教几个点位后保存项目,防止意外丢失
示教器面板布局
Darra 示教器是软件面板 (Darra.PLC.Panel 项目), 不是独立硬件设备。布局如下:
┌──────────────────────────────────────────────┐
│ 机器人选择 [Robot1 ▾] 模式 [T1 ▾] 急停 ● │
├──────────────────────┬───────────────────────┤
│ 3D 视口 │ JOG 面板 │
│ │ 坐标系: [工具 ▾] │
│ [机器人实时 3D] │ 倍率: [■■■■□] 40% │
│ │ J1+ J1- J2+ J2- │
│ │ ... │
│ │ │
├──────────────────────┴───────────────────────┤
│ 当前位姿 │
│ 关节: J1=0.00 J2=-90.00 J3=90.00 ... │
│ TCP: X=300.5 Y=0.0 Z=500.2 Rx=0 Ry=90 ...│
├──────────────────────────────────────────────┤
│ 点位列表 / 诊断 / 日志 (子页签) │
└──────────────────────────────────────────────┘
模式切换 (T1 / T2 / Auto)
| 模式 | 速度上限 | 安全门 | 使能要求 | 用途 |
|---|---|---|---|---|
| T1 | 250 mm/s TCP, 30 °/s 关节 | 可开 | 三位使能按住 | 示教 / 调试 |
| T2 | 无限速 | 必须关 | 三位使能按住 | 高速示教 (安全员) |
| Auto | 无限速 | 必须关 + 锁 | 不需要 | 生产运行 |
切换方式: 示教器顶栏 模式钥匙 物理钥匙开关。见 使能与急停.
倍率调节
全局速度倍率 (Speed Override) 独立于程序里的 Velocity 参数, 作为最后一乘:
实际速度 = 程序速度 × 模式限制 × 倍率
| 倍率 | 典型用途 |
|---|---|
| 10% | 新程序首跑, 防碰撞 |
| 30~50% | 调试 |
| 80~100% | 稳定后生产 |
按键: 顶部 + / - 5% 步进, 按住快速切换。
速度限幅逻辑
T1 模式下, 若程序速度 > 250 mm/s, 系统自动截断为 250 mm/s. 此时程序计时会比实际执行时间短, 示教时注意。
Auto 模式下无限速, 以程序速度和机械能力为准。
坐标系切换面板
坐标系下拉选择后, 方向键的含义变化:
- 关节: J1+ = 腰部正转
- 世界: X+ = 沿 World X 轴平移
- 工具: X+ = 沿工具自身 X 轴平移
- 用户: X+ = 沿用户坐标 X 轴平移
见 点动 JOG 详细说明。
示教器快捷键 (虚拟示教器)
| 快捷键 | 功能 |
|---|---|
| Space | 模拟使能按住 |
| Esc | 急停 |
| F1 | 模式切换 |
| F2 | 坐标系切换 |
| F3 | 开 / 关增量 |
| F5 | 仿真启动 |
| F6 | 停止 |
| +/- | 倍率 ± 5% |
| 方向键 | X/Y 方向 JOG |
| PgUp/PgDn | Z 方向 |
| 1~6 (+Shift) | 关节 1~6 正反 |
| Ctrl+R | 记录当前为点位 |
| Ctrl+Z | 撤销 |
| Ctrl+S | 保存项目 |
多机器人示教
项目里有多台机器人时, 示教器顶部 机器人选择 切换, 每台机器人有独立的:
- 坐标系设置 (Tool / User)
- 倍率
- 点位列表
切换时机器人都保持原位, 只是示教器的聚焦切换。
SCL 代码触发示教器动作
示教器功能也能被 SCL 程序触发:
VAR
SetOverride : MC_SetOverride;
SetMode : MC_SetOperationMode;
END_VAR
// 倍率回 100%
SetOverride(Robot := Robot1, Execute := TRUE, Override := 100);
// 切 Auto 模式 (需安全条件满足)
SetMode(Robot := Robot1, Execute := TRUE, Mode := MODE_AUTO);
参数表
| 参数 | 类型 | 单位 | 范围 | 默认 | 说明 |
|---|---|---|---|---|---|
| ActiveRobotId | UINT | - | - | 0 | 当前聚焦的机器人 |
| OperationMode | ENUM | - | T1/T2/AUTO | T1 | 模式 |
| SpeedOverride | UINT | % | 1..100 | 20 | 倍率 |
| CoordFrame | ENUM | - | JOINT/WORLD/TOOL/USER | JOINT | JOG 坐标系 |
| JogSpeed | LREAL | mm/s 或 °/s | - | - | 当前 JOG 速度 (只读) |
| ToolId | UINT | - | 0..15 | 0 | 当前工具号 |
| UserFrameId | UINT | - | 0..15 | 0 | 当前工件号 |
| PendantLog | STRING[] | - | - | - | 操作日志队列 |
排错清单
| 现象 | 可能原因 | 解决 |
|---|---|---|
| 按方向键无反应 | 使能 / 急停未满足 / 模式 Auto | 检查三路安全 |
| 坐标系切换不生效 | 未保存工具 / 用户标定 | 重做标定 |
| 倍率卡在某值 | 外部安全 PLC 强制限速 | 查 ROP (安全 PLC) 输入 |
| 多机器人切换机器人不动 | 切换的是聚焦, 不会动机器人 | 正常行为 |
| T1 下程序跑不全速 | T1 强制 250 mm/s | 切 T2 (需授权) |
| 示教器日志为空 | 日志开关未打开 | 设置 → 日志级别调到 INFO |
最佳实践
- 示教前确认工具 + 工件坐标系: 否则点位无意义
- 倍率从低到高: 新程序从 10% 开始 JOG 逼近
- 善用增量: 精调用 0.1 mm 增量, 连续 JOG 别在接近工件时用
- 保存项目: 每 5 分钟保存一次, 断电不丢
- 模式钥匙管理: 生产班长管 Auto 钥匙
- 日志归档: 示教器操作日志每天自动滚动归档
- 虚拟示教器不能替代硬件: 上产线要用带三位使能的物理示教器