① 安川机器人怎么从子程序跳转到主程序
这个当然是能使用LJMP指令重主程序跳转到子程序,或从子程序跳回主程序,但一般是不允许这样使用LJMP指令的,很容易造成程序运行混乱。因为调用子程序保护现场要将当前的地址压入堆栈,子程序返回时,会弹出该地址赋值给PC指针。如果使用,必须满足以下条件:
跳出跳入成对出现,也就是说,从主程序用LJMP跳转到子程序,那么在子程序中的RET前,必须是用LJMP指令跳回。不成对出现,但是如果子程序是LJMP跳转来的控制,那么在RET前,需要压入返回位置的地址。由于单片机的RAM是有限的,程序在进入子程序之前经常会使用RAM来临时存储一些数据,包括SP指针在执行完子程序之后需要跳回的地址信息。也就是堆栈的“压栈”(PUSH)。
子程序执行完后,要执行一个RET指令结束子程序,指针指向的堆栈单元读取堆栈数据,这个过程叫做“出栈”(pop),然后指针会正常的运行下去。假如在子程序内直接用LJMP指令跳出到主程序,就会把堆栈压入的数据没有读出,造成数据丢失,SP指针指向的地址没有正确返回,造成堆栈不断增加,直到不够用了就会溢出。
② 安川机器人码垛的程序思路是什么
首先建一个用户坐标,时行计算;每堆一层就计数加一,然后堆码高度相应提高一层的高度,这个就是靠计算的,这个高度一定要计算好,不然就撞上了,
SFTON P000 UF#(1)
MOVL C00004 V=200.0
MOVL C00005 V=100.0 PL=0
'可以放
DOUT OT#(44) ON
'抓手打开
WAIT IN#(38)=ON
DOUT OT#(47) OFF
'抓手打开到位
WAIT IN#(48)=ON
MOVL C00006 V=220.0
SFTOF
INC D015
③ 安川机器人外部启动时序
一、安川机器人机械安全端子台基板(JANCD-YFC22-E)
1、机械安全 I/O 基板(JANCD-YSF22B-E)
2、安全端子台基板接线外引
(1)机械安全端子台基板(JANCD-YFC22-E)是为了连接安全输出输入信号等专用外部信号的端子台基板。
(2)安全端子基台实物图片
3、安全段子台基板100个端口作用 JANCD-YFC22-E 连接端子表
二、安川机器人通用 I/O 基板(JANCD-YIO21-E)
1、通用IO基板插头外接
(1)电箱背板插头
(2)外接实物图
(3)机器人通用输出入连接器(CN306、307、308、309)
机器人通用输出入连接器(CN306、307、308、309)的连接制作连接在通用 I/O 基板(JANCD-YIO21-E)的输出入插头(CN306、307、308、 309)的电线时,请参考下图。电线请使用无屏蔽的双绞线。(电线一侧的插头及I/O端子台为选装件)
(4)连接器端子头
(5)外接端子实物图CN306
(6)外接端子实物图CN308
2、通用IO基板供电电源
(1)接线板端子
(2)实物接线图:用外接开关电源24V和0V
3、通用IO基板CN306图
(1)CN306接线端子图
(2)CN306实物图
4、通用IO基板CN307
5、通用IO基板CN308
(1)CN308接线端子图
(2)CN308实物图
6、通用IO基板CN309
三、安川外部启动常用的信号及其接线图
1、安全端子台基板常用IO接线图
(1)外部急停接线图
外连接外部操作设备等的急停开关时使用。输入信号,关闭伺服电源,停止程序执行。信号输入时,无法接通伺服电源。由于机器人出厂时配有跳线,使用时必须先取下跳线。不取下跳线,即使输入了外部急停信号也不会起作用,会造成人身伤害或设备损坏。
(2)暂停接线图
连接外部操作设备等的暂停开关时使用。输入信号,停止程序。信号输入时将无法开始作业和进行轴操作。由于机器人出厂时配有跳线,使用时必须先取下跳线。不取下跳线,即使输入了外部急停信号也不会起作用,会造成人身伤害或设备损坏。
3)外部上电接线图
连接外部操作设备等的伺服开启开关时使用。输入信号,开启伺服电源。
2、通用IO基板CN308专用IO接线图
3、通用IO基板CN306和CN309接线图
四、现场接线和操作步骤
1、端子台实物接线图
(1)按钮实物接线
(2)端子台接线实物图
2、CN308专用实物接线图
3、编写程序和设定为主程序
这里使用平移指令SFTON合SFTOF,编写安川平移搬运程序,程序及其注释如下:
NOP 程序开始
*WHILE_T 无限循环标签*WHILE_T
SET B010 0 赋值B010=0
SUB P010 P010 把P010清零
*A 取料放料标签*A
MOVJ C00000 VJ=30.00 取料点上方点位
MOVL C00001 V=300.0 取料点
DOUT OT#(12) ON 机器人夹具信号
TIMER T=0.50 夹具动作延迟0.5秒
MOVL C00002 V=400.0 取料点上方点位
SFTON P010 开启平移指令:这里用机器人坐标系,平移变量以P010为准
MOVJ C00003 VJ=30.00 放料点上方点位
MOVL C00004 V=300.0 放料点位
DOUT OT#(12) OFF 机器人夹具信号
TIMER T=0.50 夹具动作延迟0.5秒
MOVL C00005 V=400.0 取料点上方点位
SFTOF 关闭平移指令
MOVJ C00006 VJ=30.00 取料点上方点位
ADD B010 1 计数器B010自加一
ADD P010 P011 把平移变量P010累加加上P011的偏移量
JUMP *A IF B010<4 如果B010值小于4则执行跳转指令跳转到标签*A,如果B010大于4则继续往下正常运行
WAIT IN#(15)=ON 等待循环启动信号di15
JUMP *WHILE_T 跳转到标签 *WHILE_T无限循环
END 程序结束
4、操作步骤
(1)启动过程
A:安川机器人设置主程序;
B:安川机器人示教器打到外部运行模式
C:按下安全基板伺服上电按钮;
D:按下CN308选择主程序按钮;
E:按下CN308启动按钮——>机器人正常运行
F:每次执行完四个产品,机器人wait di15;
(2)暂停和恢复启动
A:机器人正常运行时,按下暂停按钮,机器人立刻停止,暂停时机器人还处于上电状态;
B:直接按下启动按钮,机器人继续接着往下正常运行;
(3)急停和恢复启动
A:机器人正常运行时,按下安全基板外部急停按钮,机器人立刻停止并报外部急停信息,机器人电机断开;
B:按下CN308报警/错误复位按钮;
C:按下安全基板伺服上电按钮;
D:按下CN308启动信号,机器人接着往下继续正常运行。
④ 安川机器人怎样编程
先创建程序名,然后执行程序,将机器人移动到你想要的位置后,选择插补方式,然后按回车建,就行了。
⑤ 安川机器人主程序编程
/JOB
//NAME MASTER
//POS
///NPOS 0,0,0,0,0,0
//INST
///DATE 2014/04/14 16:09
///ATTR SC,RW
///GROUP1 RB1
NOP
'================================
'YASKAWA ODF PROGRAM 1.0
'BY CMK ROBOT TEAM 14,04,10
'================================
*TOP
CLEAR STACK
'================================
'WORK ARER CHECK
'================================
DIN B020 SOUT#(120)
JUMP *ERR3 IF B020<>1
*START
'================================
'TEACH_MODE_SET
'================================
DIN B007 SOUT#(36)
JUMP *TEACH IF B007=1
'================================
'IO CLEAR
'================================
CALL JOB:IO_INIT
'================================
'COMMAND START
'================================
DIN B000 IN#(15)
DIN B001 IN#(16)
DIN B002 IG#(3)
DIN B003 IG#(4)
DIN B004 IG#(6)
SET B060 B000
SET B061 B001
SET B062 B002
SET B063 B003
SET B064 B004
'================================
DOUT OT#(15) B000
DOUT OT#(16) B001
DOUT OG#(3) B002
DOUT OG#(4) B003
DOUT OG#(6) B004
'================================
WAIT IN#(9)=ON T=0.20
JUMP *START IF IN#(9)=OFF
DOUT OT#(9) ON
*TEACH
CALL JOB:VAR_SET
JUMP *ERR IF B008<>0
CALL JOB:SPEED
JUMP *ERR IF B008<>0
CALL JOB:BOX1 IF B002=1
JUMP *ERR IF B008<>0
CALL JOB:BOX2 IF B002=2
JUMP *ERR IF B008<>0
CALL JOB:IN_CV IF B002=4
JUMP *ERR IF B008<>0
TIMER T=0.20
DOUT OT#(9) OFF
'================================
'WORK_END_COMMAND_SAVE
'================================
SET B090 B001
SET B091 B002
SET B092 B003
SET B093 B004
'---TEACH MODE CHECK---
JUMP *TEACH_ST IF B007=1
JUMP *START
*TEACH_ST
PAUSE
PAUSE
PAUSE
*ERR
DOUT OT#(49) ON
DOUT OGH#(14) B008
WAIT IN#(49)=ON
DOUT OT#(49) OFF
DOUT OGH#(14) 0
SET B008 0
JUMP *TOP
*ERR3
DOUT OT#(49) ON
SET B008 3
DOUT OGH#(14) B008
WAIT IN#(49)=ON
DOUT OT#(49) OFF
DOUT OGH#(14) 0
SET B008 0
JUMP *TOP
END
请参考
⑥ 安川焊接机器人怎么编程
首先进入编码器复位操作界面,查看具体要复位哪个轴编码器,但在复位编码器前要准确知道要复位轴的原始位置(原点),确认后便可复位编码器,校准精度可参考
⑦ 第一次对安川机器人清枪程序的编写和清枪程序的接线和Io设置新手请指
按接线进行程序编辑,如下
NOP
DOUT OT#(97) ON
MOVJ C00000 VJ=100.00
MOVJ C00001 VJ=100.00
MOVJ C00002 VJ=100.00
MOVL C00003 V=333.3 PL=0
MOVJ C00004 VJ=100.00
DOUT OT#(2047) ON
TIMER T=0.50
DOUT OT#(2047) OFF
DOUT OT#(18) ON
TIMER T=0.50
DOUT OT#(18) OFF
MOVJ C00005 VJ=100.00
MOVJ C00006 VJ=100.00
MOVJ C00007 VJ=100.00
MOVL C00008 V=166.7
MOVL C00009 V=166.7 PL=0
DOUT OT#(19) ON
TIMER T=0.20
DOUT OT#(17) ON
TIMER T=2.00
DOUT OT#(17) OFF
TIMER T=0.50
DOUT OT#(19) OFF
MOVL C00010 V=333.3
MOVL C00011 V=166.7
MOVL C00012 V=166.7
MOVL C00013 V=83.3 PL=0
DOUT OT#(20) ON
TIMER T=1.00
DOUT OT#(20) OFF
MOVL C00014 V=333.3
MOVJ C00015 VJ=100.00
MOVJ C00016 VJ=100.00
DOUT OT#(97) OFF
END