第十二课:示教器在实际编程中的应用(工业机器人实操版)
本课目标:把“示教器会按按钮”升级为“示教器能做出可量产的程序”。学完你应能:
- 用示教器完成一个完整任务:取料 → 走安全轨迹 → 放料 → 回安全位
- 把示教点位与逻辑编程结合:互锁、等待、超时、重试、报警分类
- 理解示教器与 PLC 的分工:机器人管运动与工艺,PLC 管节拍与互锁
- 掌握多机器人协作的基本套路:主从握手、互锁信号、避让区
重要提醒(现场最容易踩坑):示教点位记录的不是“一个XYZ”,而是 XYZ + 姿态 + 坐标系 + 速度/区间(拐角圆滑) + 工具(TCP)。 同一XYZ,姿态不同可能导致电缆干涉、翻腕、碰夹具。
12.1 示例:通过示教器编程完成任务(Pick & Place 取放)
12.1.1 典型工位场景(你在工厂最常见的那种)
任务
从料盘取件 → 放到治具定位孔
节拍目标
12 秒/件(示例)
关键风险
擦碰夹具 / 掉料 / 位置漂移
12.1.2 “可量产”的点位规划:每个动作至少3个点
现场稳定程序通常这样分点(不要只记一个 Pick 点):
| 点位 | 含义 | 速度建议 | 目的 |
| HOME | 安全位/回零附近 | 中速 | 报警恢复、安全等待 |
| PICK_APP | 取料预位(离料盘上方 50~80mm) | 高速 | 快速接近、不擦碰 |
| PICK | 取料位(实际抓取高度) | 低速 | 稳定抓取 |
| PICK_LEAVE | 取料离开位(先抬高再转向) | 中速 | 避免边转边抬碰撞 |
| PLACE_APP | 放料预位(离治具上方 50~80mm) | 高速 | 快速接近 |
| PLACE | 放料位(插入/贴合高度) | 低速 | 避免顶歪/划伤 |
| PLACE_LEAVE | 放料离开位 | 中速 | 安全退出 |
口诀:“快移只负责到预位,慢移才负责工艺精度”。节拍要快,先快预位,工艺段不要乱提速。
12.1.3 示例数据:从 (X=0, Y=0) 到 (X=3, Y=4) 的“点位+时间”如何落到示教程序
你给的示例坐标可以理解为“平面移动”。在工业机器人里,真实点位通常包含:
- 位置:X/Y/Z(mm)
- 姿态:Rx/Ry/Rz(或四元数)
- 坐标系:基座/工具/工件坐标
- 速度:比如 500mm/s(快移),50mm/s(慢移)
- 区间/拐角:是否圆滑过渡(减少停顿,提高节拍)
示例点位表(简化展示)
| 点位 | X | Y | Z | 速度 | 备注 |
| HOME | 0 | 0 | 500 | 中速 | 安全位 |
| PICK_APP | 0 | 0 | 200 | 快 | 离料盘上方 |
| PICK | 0 | 0 | 120 | 慢 | 抓取高度 |
| PLACE_APP | 3 | 4 | 200 | 快 | 离治具上方 |
| PLACE | 3 | 4 | 110 | 慢 | 放置高度 |
注意:这里只用来解释“示教记录”的结构;现场还要有姿态与坐标系。
示教程序逻辑(品牌无关的通用写法)
1) MOVE HOME 2) 等待:夹具到位 = ON 3) MOVE PICK_APP(快) 4) MOVE PICK(慢) 5) 输出:夹爪关闭 / 真空 ON 6) 等待:夹持OK = ON(带超时) 7) MOVE PICK_LEAVE 8) MOVE PLACE_APP(快) 9) MOVE PLACE(慢) 10) 输出:夹爪打开 / 真空 OFF 11) 等待:释放完成(可选) 12) MOVE PLACE_LEAVE 13) MOVE HOME
最常见的三种“看似会动但不稳定”的原因: - 坐标系用错:你以为在 Tool 坐标走直线,实际在 Base 坐标,导致接近角度不对
- 只教一个点:没有预位/离开位,机器人边转边下降,擦碰夹具
- 没有互锁与超时:夹爪没夹住也继续走,掉料;供料没到位也抓,撞治具
12.1.4 再加两个“更像产线”的取放例子(可直接搬到文章里)
例子1:传送带取料(动态抓取)
- 难点:工件在动,纯示教点位不够,需要“触发 + 跟踪/补偿”
- 常见方案:传送带编码器 + 拍照定位 + 触发窗口(在某段范围内抓取)
- 示教器怎么用:先示教抓取姿态与安全路径,再把“抓取点”改为由视觉计算的偏置量(Offset)
例子2:多SKU换型取放(柔性工位)
- 难点:不同型号放置高度/位置不同,人工每天调点会崩溃
- 常见方案:示教只保留“基准点”,不同SKU用参数表(偏置XYZ/姿态)自动修正
- 示教器怎么用:示教基准点 + 录入偏置参数(或从PLC/MES读参数)
12.2 示教器与其他编程方式结合(示教点位 + 逻辑程序 + PLC)
12.2.1 手动编程与示教器结合:为什么必须这么做?
示教器适合“把轨迹跑出来”,但产线需要的是“可量产逻辑”。下面是最常见要加的逻辑模块:
| 模块 | 示教器做什么 | 程序逻辑补什么 |
| 点位与轨迹 | 示教 HOME/预位/工艺点 | 路径顺序、拐角圆滑、速度分段 |
| 夹爪/真空 | 记录动作点位 | 互锁、延时、夹持OK检测、超时报警 |
| 异常处理 | 无法靠示教解决 | 重试次数、回安全位、放不良盒、报警码 |
| 换型 | 示教基准点 | 参数表偏置、按SKU选择路径分支 |
实操建议:程序结构用“主程序 + 子程序/工艺块”。点位改动只改子程序,主程序不动,维护成本最低。
12.2.2 示教器与 PLC 控制系统结合:真实产线怎么分工?
通用分工:PLC 管“产线节拍与互锁”,机器人管“运动与工艺执行”。这样维护最清晰。
(1)典型握手信号(你写方案时可以直接用)
| 信号 | 方向 | 含义 |
| PLC_READY | PLC → 机器人 | 夹具到位、允许机器人进入工位 |
| ROBOT_BUSY | 机器人 → PLC | 机器人正在执行,PLC不要夹紧/松开 |
| ROBOT_DONE | 机器人 → PLC | 本周期完成,可进入下一工序 |
| ROBOT_ALARM | 机器人 → PLC | 机器人故障/超时/抓取失败 |
| PART_OK / PART_NG | 机器人 → PLC | 工件判定(视觉/扭矩/力位移)结果 |
(2)带超时的等待(现场必做)
WAIT PLC_READY = ON (超时 3s → 报警:夹具不到位) WAIT GRIP_OK = ON (超时 1s → 报警:抓取失败) WAIT SAFE_DOOR = ON (超时 10s → 报警:安全门未关)
提示:没有超时等待,程序会“卡死”,现场最难维护。
12.2.3 再给两个“PLC + 机器人”的实战例子
例子1:螺丝锁付站(机器人定位 + 电批锁付 + 曲线判定)
- 示教器:示教螺丝孔位的预位/工艺位
- PLC:控制供钉机、治具夹紧、记录扭矩/角度曲线、判定 OK/NG
- 机器人:到孔位执行锁付,锁付完成把结果码(OK/NG原因)回写给PLC
例子2:压装站(伺服压机 + 力位移曲线)
- 示教器:示教放件与取件路径(避免擦碰压机与治具)
- PLC:下发压装参数(目标位移/最大力/速度曲线),收集力位移曲线并判定
- 机器人:负责搬运、定位放置,结果 OK/NG 分拣
12.3 示例:示教器与多机器人协作编程(双臂/多工位/仓储搬运)
12.3.1 多机器人协作的三种典型模式(非常常见)
- 并行分工:A取料,B放料,各自跑各自的节拍(最稳)
- 接力传递:A抓取交给B(需要交接点与互锁)
- 共用工位:两个机器人共享一个区域(需要避让区、互锁、锁区机制)
协作失败的根因通常不是“通信协议”,而是: - 没有“锁区”机制(A进区域时,B必须禁止进入)
- 没有“谁先谁后”的仲裁(同时抢资源)
- 没有“超时与恢复策略”(一个卡住,另外一个也跟着死等)
12.3.2 示例:双机器人协同装配(A上料定位,B锁付)
场景:Robot-A 把工件放入治具并定位夹紧;Robot-B 负责锁付 4 颗螺丝。
(1)点位怎么示教?
- A:上料路径点(HOME → 上料预位 → 上料位 → 离开位)
- B:锁付孔位点(每颗螺丝都有:预位/孔位/离开)
- 共享:交接区与避让区(必须有安全高度点)
(2)互锁怎么做?(最小可用握手)
A: 输出 A_DONE_LOAD = ON (表示上料完成) B: WAIT A_DONE_LOAD = ON (等A完成后再进入治具区) B: 输出 B_BUSY = ON (锁付中,禁止A进入) B: 输出 B_DONE = ON (锁付完成) A: WAIT B_DONE = ON (等B完成后再取走或进入下一循环)
实战建议:再加超时、报警码、以及“回安全位”恢复动作,避免卡死。
12.3.3 示例:智能仓储多台搬运机器人(路径示教 + 任务调度)
你原稿说“每台机器人用示教器记录路径”,在真实仓储里更常见的做法是:
- 示教器/现场:只定义关键站点(取货点、放货点、充电点、等待区)
- 调度系统:根据任务分配、拥堵情况动态规划路线(机器人不靠固定路线死跑)
- 互锁机制:交叉口/窄通道资源锁(避免两车顶住)
更贴近工业落地的“协作要点”: - 站点定义 = 可标准化、可复制(换场地只改站点)
- 调度优先级 = 任务轻重缓急(急件优先)
- 充电策略 = 机会充电/换电(保障不断线)
本课总结:你写成文章时可以直接用的“结论段”
- 示教器最适合快速完成“点位与轨迹”,但量产稳定必须加:互锁、超时、重试、报警分类与数据记录。
- 取放任务建议固定结构:预位/工艺位/离开位,并把速度分段管理。
- 与PLC协同的关键不是协议,而是信号点表与状态机:READY/BUSY/DONE/ALARM + 结果回写。
- 多机器人协作必须有“锁区+仲裁+超时恢复”,否则现场必卡死。