第十二课:示教器在实际编程中的应用(工业机器人实操版)
本课目标:把“示教器会按按钮”升级为“示教器能做出可量产的程序”。学完你应能:
-
用示教器完成一个完整任务:取料 → 走安全轨迹 → 放料 → 回安全位
-
把示教点位与逻辑编程结合:互锁、等待、超时、重试、报警分类
-
理解示教器与 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 + 结果回写。
-
多机器人协作必须有“锁区+仲裁+超时恢复”,否则现场必卡死。