适用 MPL 重载码垛机器人,真空吸盘抓取 50kg 软袋;安川有两种方案:①MotoPal 码垛软件选件;②手动 SFTON 偏移循环编程。 水泥软袋核心要点:设置充足安全过渡高度;取放料必须直线插补 + PL=0(FINE 到位);启用搜索运动防止硬压袋子;奇偶层姿态旋转 90° 做交错码垛;避开奇异点;区分空载 / 带料路径。 前置条件:TOOL 工具坐标系标定完成,LOADSET 负载设置抓手、抓手 + 水泥袋两套负载。
一、必须示教的 7 个基础路径点位
表格
| 点位 | 指令类型 | 示教说明(水泥工艺) |
|---|---|---|
| P_HOME | MOVJ | 整机安全原点,远离托盘、输送线,无干涉 |
| P_PICK_APP | MOVL | 取料上方接近点,袋面上方 180‑220 mm,避开鼓起袋口 |
| P_PICK | MOVL | 吸盘贴到水泥袋表面,TCP 贴袋面,不压瘪袋子 |
| P_PICK_UP | MOVL | 抓取后抬离袋面 150‑200 mm |
| P_PLACE_APP | MOVL | 放料统一过渡安全点,垛面上方 200 mm |
| P_base | MOVL | 第一层第一袋基准放料点,偏移计算的原点 |
| P_PLACE_RET | MOVL | 放料完成抬离垛面 150‑200 mm |
示教全部点位时,吸盘整套抓手完整装配,不要拆卸零件;水泥粉尘大,吸盘磨损后 TCP 漂移,点位需要复核。
二、两种垛位生成方案
方案 1:MotoPal 码垛选件(自动矩阵)
菜单:【MotoPal】码垛设定,示教 3 个矩阵基准点:P_base、X 方向终点、Y 方向终点,设置行数、列数、层数。
重要提醒:MotoPal 只生成 XY 平面点位,不会自动处理 Z 层高、不会自动奇偶层旋转。
Z 高度:程序用位置变量修改 Z 值,每层叠加袋厚,叠加压实补偿。
姿态:偶数层修改 R/Z 轴姿态,旋转 90° 实现交错码垛,防止倒垛。
放料搜索运动(SENSE)需要自己在抓取释放子程序手动添加,原生 MotoPal 没有软袋防压包搜索。
方案 2:SFTON 偏移循环编程
SFTON开启坐标偏移,SFTOF关闭偏移,以 P_base 为基准,循环偏移 X/Y,层数增加修改 Z,偶数层修改 R 姿态旋转 90°。
SFTON P000 ;开启偏移,P000存储偏移量
MOVL P_base V=80 PL=0
SFTOF ;关闭偏移
循环中修改位置变量:X/Y 做行列偏移,Z 累加袋厚,偶数层 R=R+90。
三、运动插补、PL 定位等级、速度加速度参数
PL=0:完全到位(FINE);PL 越大转弯圆角越大。抓取下降、搜索运动、放料到位必须 PL=0,禁止 PL>0 圆滑过渡,否则 IO 时序还没完成机器人就离开,会把袋子带起。
表格
| 工艺段 | 指令 | 速度 | PL 等级 | Accel (加速倍率) | 说明 |
|---|---|---|---|---|---|
| 带料长距离转运 | MOVJ | VJ=35‑45 | PL=2‑3 | Accel 60,60 | 带水泥袋,降低加减速,防甩袋 |
| 空载返回 | MOVJ | VJ=60‑75 | PL=5 | Accel 100,100 | 空载可以提速 |
| 取料接近 | MOVL | VL=300 | PL=2 | Accel 70,70 | 靠近袋子降速 |
| 取料下降到位 | MOVL | VL=80‑120 | PL=0 | Accel 50,50 | 低速柔和到位 |
| 搜索放料 SENSE | SENSE | VL=60‑80 | PL=0 | Accel 40,40 | 搜索必须低速,抵消惯性,防止压包 |
| 放料微量下压 | MOVL | VL=60 | PL=0 | Accel 40,40 | 接触后下压 3‑5mm 再释放 |
| 抓取抬升、放料抬离 | MOVL | VL=300 | PL=0 | Accel 70,70 | 平稳抬升 |
安川
Accel A,B:A 加速倍率 %,B 减速倍率 %;带料运动降低倍率,空载恢复。
四、软袋防压包:SENSE 搜索运动路径
安川使用SENSE搜索指令,向下探测袋面 DI 信号,不能直接跑固定 Z 点位,水泥袋受压会变薄。
搜索起点:计算放料点上方 120 mm,作为 SENSE 起点。
SENSE 向下搜索,DI 信号触发,自动保存接触位置。
再直线向下偏移 3‑5 mm,执行破真空 IO。
SENSE P_SERCH_END VL=70 PL=0 IN#(4) ;向下搜索,DI4接触传感器
MOVL OFFSET(P_SERCH_END,0,0,-5) VL=60 PL=0 ;微量下压5mm
⚠SENSE 运动速度不能高于 80mm/s,加速度不能太大,否则惯性会冲坏水泥袋。
五、奇偶层 90° 旋转路径处理
不管 MotoPal 还是 SFTON 偏移,都需要手动修改姿态 R 值:
IF B000 MOD 2=0 THEN ;偶数层
P_WORK.R=P_WORK.R+90.00
ENDIF
只修改姿态,X/Y/Z 垛位坐标不变,实现袋子交错摆放,避免整垛倾倒。
六、完整流程框架(MotoⅡ 程序片段)
NOP
LOADSET 1 ;抓手空载负载
MOVJ P_HOME VJ=65 PL=3
;====取料流程====
MOVJ P_PICK_APP VJ=40 PL=2
MOVL P_PICK_APP V=300 PL=2
MOVL P_PICK V=100 PL=0
DOUT OT#(1) ON ;开真空
WAIT T=0.4
WAIT IN#(2)=ON ;真空确认
LOADSET 2 ;切换抓手+水泥袋总负载
MOVL P_PICK_UP V=300 PL=0
;====转运到码垛位置====
MOVJ P_PLACE_APP VJ=40 PL=2
MOVL OFFSET(P_WORK,0,0,120) V=300 PL=2
SENSE P_SEARCH_END V=70 PL=0 IN#(4) ;向下搜索袋面
MOVL OFFSET(P_SEARCH_END,0,0,-5) V=60 PL=0
DOUT OT#(2) ON ;破真空吹气
WAIT T=0.5
DOUT OT#(1) OFF
DOUT OT#(2) OFF
MOVL P_PLACE_RET V=300 PL=0
LOADSET 1 ;释放袋子切回空载负载
END
七、现场路径规划高频故障点
MotoPal 只生成 XY 点位,Z 高度、姿态没有处理,越往上越压包,垛层不旋转直接倒垛。 程序改写位置变量 Z、R 姿态。
抓取、放料点使用 PL>0 圆滑过渡。 抓取、放料、SENSE 强制 PL=0,机器人完全停稳再开关真空。
不使用 SENSE 搜索,直接固定 Z 高度放料。水泥袋压缩变薄,上层大量压破袋。 优先配置接触传感器,启用 SENSE 搜索。
带料路径加速度 Accel 倍率 100%,急加速急刹车,转运途中掉包。 带料阶段 Accel 降低,空载恢复。
路径奇异点:关节到达极限位置,姿态突变抖动。 调整 P_PLACE_APP 过渡点位,避开奇异姿态。
LOADSET 负载没有切换,抓取袋子后仍然使用空载负载,路径抖动,点位偏移。 抓取成功切换总负载;释放完成切回抓手负载。
八、路径调试校验步骤
T2 模式,倍率 20%,空载完整跑一遍全部路径,确认无干涉。
带料低速试运行,验证 SENSE 搜索放料效果,观察袋子无挤压开裂。
观察奇偶层袋子姿态,确认偶数层旋转 90° 交错摆放。
复核 TOOL 工具坐标系,负载参数,确认无抖动。

