你是怎么回原点的呢?(二)
Q:为什么要写机器人回原点的程序?
A:1.项目实施地现场环境复杂,特别是装配、打磨等应用中,机器人需要将末端夹具伸入产品内移动,当前任务终止后需开始新的任务,是需要退出来再重新开始的。
2.客户现场的操作员,对机器人的操作水平落差较大,更多的是不会操作机器人示教器的。
3.机器人自动/半自动回原点能够一定程度上保证安全路径上,不造成产品和物料损失。
Q:什么是机器人回原点?
A:机器人通过人为调用程序或者复位操作,自动从当前位置以安全的方式和路径回到原点。
Q:怎么做机器人回原点?
A:通过程序判断,执行动作;
通过记录机器人当前路径;
判断当前位置是不是在运行路径上,仅适用于运行路径固定,且点位相对密集的场景下;
步骤:
安装正常情况下编写完程序;
MoveJ pHome,v1000,z50,tool0\WObj:=wobj0;
MoveJ p1,v1000,z50,tool0\WObj:=wobj0;
MoveJ p2,v1000,z50,tool0\WObj:=wobj0;
MoveJ p3,v1000,z50,tool0\WObj:=wobj0;
MoveJ p4,v1000,z50,tool0\WObj:=wobj0;
MoveJ p5,v1000,z50,tool0\WObj:=wobj0;
MoveJ p6,v1000,z50,tool0\WObj:=wobj0;
MoveJ p7,v1000,z50,tool0\WObj:=wobj0;
MoveJ p8,v1000,z50,tool0\WObj:=wobj0;
MoveJ p9,v1000,z50,tool0\WObj:=wobj0;
2.梳理程序段内的所有MOVE相关的移动指令,筛选出重要点位移动指令并记录;
3.使用无纸化办公工具-万能EXCEL制作表格,对重要点位移动指令进行排序;
4.创建程序全局变量,在重要点位移动指令后按照需要进行赋值;
PERS num StepNum:=0;MoveJ pHome,v1000,z50,tool0\WObj:=wobj0;MoveJ p1,v1000,z50,tool0\WObj:=wobj0;StepNum:=1;MoveJ p2,v1000,z50,tool0\WObj:=wobj0;StepNum:=2;MoveJ p3,v1000,z50,tool0\WObj:=wobj0;StepNum:=3;MoveJ p4,v1000,z50,tool0\WObj:=wobj0;StepNum:=4;MoveJ p5,v1000,z50,tool0\WObj:=wobj0;StepNum:=5;MoveJ p6,v1000,z50,tool0\WObj:=wobj0;StepNum:=6;MoveJ p7,v1000,z50,tool0\WObj:=wobj0;StepNum:=7;MoveJ p8,v1000,z50,tool0\WObj:=wobj0;StepNum:=8;MoveJ p9,v1000,z50,tool0\WObj:=wobj0;StepNum:=9;
5.在回原点程序中,根据记录移动指令的全局变量进行机器人位置判断;
6.按照倒序的方式进行机器人回原点操作;
TEST StepNum
CASE 1:
MoveJ p1,v1000,z50,tool0\WObj:=wobj0;
CASE 2:
MoveJ p2,v1000,z50,tool0\WObj:=wobj0;
MoveJ p1,v1000,z50,tool0\WObj:=wobj0;
CASE 3:
MoveJ p3,v1000,z50,tool0\WObj:=wobj0;
MoveJ p2,v1000,z50,tool0\WObj:=wobj0;
MoveJ p1,v1000,z50,tool0\WObj:=wobj0;
CASE 4:
MoveJ p4,v1000,z50,tool0\WObj:=wobj0;
MoveJ p3,v1000,z50,tool0\WObj:=wobj0;
MoveJ p2,v1000,z50,tool0\WObj:=wobj0;
MoveJ p1,v1000,z50,tool0\WObj:=wobj0;
CASE 5:
MoveJ p5,v1000,z50,tool0\WObj:=wobj0;
MoveJ p4,v1000,z50,tool0\WObj:=wobj0;
MoveJ p3,v1000,z50,tool0\WObj:=wobj0;
MoveJ p2,v1000,z50,tool0\WObj:=wobj0;
MoveJ p1,v1000,z50,tool0\WObj:=wobj0;
CASE 6:
MoveJ p6,v1000,z50,tool0\WObj:=wobj0;
MoveJ p5,v1000,z50,tool0\WObj:=wobj0;
MoveJ p4,v1000,z50,tool0\WObj:=wobj0;
MoveJ p3,v1000,z50,tool0\WObj:=wobj0;
MoveJ p2,v1000,z50,tool0\WObj:=wobj0;
MoveJ p1,v1000,z50,tool0\WObj:=wobj0;
CASE 7:
MoveJ p7,v1000,z50,tool0\WObj:=wobj0;
MoveJ p6,v1000,z50,tool0\WObj:=wobj0;
MoveJ p5,v1000,z50,tool0\WObj:=wobj0;
MoveJ p4,v1000,z50,tool0\WObj:=wobj0;
MoveJ p3,v1000,z50,tool0\WObj:=wobj0;
MoveJ p2,v1000,z50,tool0\WObj:=wobj0;
MoveJ p1,v1000,z50,tool0\WObj:=wobj0;
CASE 8:
MoveJ p8,v1000,z50,tool0\WObj:=wobj0;
MoveJ p7,v1000,z50,tool0\WObj:=wobj0;
MoveJ p6,v1000,z50,tool0\WObj:=wobj0;
MoveJ p5,v1000,z50,tool0\WObj:=wobj0;
MoveJ p4,v1000,z50,tool0\WObj:=wobj0;
MoveJ p3,v1000,z50,tool0\WObj:=wobj0;
MoveJ p2,v1000,z50,tool0\WObj:=wobj0;
MoveJ p1,v1000,z50,tool0\WObj:=wobj0;
CASE 9:
MoveJ p9,v1000,z50,tool0\WObj:=wobj0;
MoveJ p8,v1000,z50,tool0\WObj:=wobj0;
MoveJ p7,v1000,z50,tool0\WObj:=wobj0;
MoveJ p6,v1000,z50,tool0\WObj:=wobj0;
MoveJ p5,v1000,z50,tool0\WObj:=wobj0;
MoveJ p4,v1000,z50,tool0\WObj:=wobj0;
MoveJ p3,v1000,z50,tool0\WObj:=wobj0;
MoveJ p2,v1000,z50,tool0\WObj:=wobj0;
MoveJ p1,v1000,z50,tool0\WObj:=wobj0;
DEFAULT:
ENDTEST
MoveJ pHome,v1000,z50,tool0\WObj:=wobj0;
END
你是怎么回原点的呢?怎么看待自动回原点呢?咱们移步留言区讨论回原点的好方法。
赞 (0)