安川机器人的宏程序按照说明书,很多人都模棱两可,其实就是类似ABB和KUKA的带参数的功能程序,可以进行参数传递,实现复杂运算和一些特殊的功能需求。指令MOVLOFFS PX=P000 X=0 Y=0 Z=200 VEL=10,机器人会运行至P000位置变量,Z负200的地方。其中XYZ就是基于PX指定的位置变量在XYZ方向的偏移量,VEL就是MOVL运行的速度设定。接下来请看仔细了:
1、【维护模式】-【系统】-【设置】-【选项功能】-【宏程序命令】-【使用】
2、新建宏程序-【程序类型】-【机器人宏程序】
3、设置宏程序
定义1界面:添加需要传递的参数,注意数据类型,MOVLOFFS PX=P000 X=0 Y=0 Z=200 VEL=10,ARG.1对应PX,是位置变量,ARG.2-4对应XYZ,是I常数,ARG.5对应VEL,是I常数。
定义2界面:【显示状况】设定参数是否启用,【表示】设定指令显示的名称。
4、MOVLOFFS程序的编写,选择宏程序
5、设定宏程序的程序信息,也就是需要用到的局部变量的数量
6、关键指令,参数如何传递,重点 重点 重点,通过GETARG指令。
指令MOVLOFFS PX=P000 X=0 Y=0 Z=200 VEL=10,其中的PX、X、Y、Z、VEL相当于实参,通过GETARG指令将PX、X、Y、Z、VEL实参分别传递给局部变量LP001、LD001 、LD002、LD003、LD004的形参,对用顺序依据ARG后面的序号,同时数据类型一定要对应。7、最后在其他程序中进行使用 MOVLOFFS
8、MOVLOFFS程序的详细内容:
/JOB
//NAME MOVLOFFS
//POS
///NPOS 0,0,0,0,0,0
//INST
///DATE 2025/04/19 23:14
///ATTR SC,RW,MC
///GROUP1 RB1
///LVARS 30,30,30,30,30,10,0,0
NOP
GETARG LP001 IARG#(1)
GETARG LD001 IARG#(2)
GETARG LD002 IARG#(3)
GETARG LD003 IARG#(4)
GETARG LD004 IARG#(5)
'COMMENT
GETE LD011 LP001 (1)
GETE LD012 LP001 (2)
GETE LD013 LP001 (3)
SET LD001 EXPRESS LD011 + LD001 * 1000
SET LD002 EXPRESS LD012 + LD002 * 1000
SET LD003 EXPRESS LD013 + LD003 * 1000
SETE LP001 (1) LD001
SETE LP001 (2) LD002
SETE LP001 (3) LD003
SET LD004 EXPRESS LD004 * 1000
MOVL LP001 V=LD004
END