安川MOTOMAN工业机器人编程与操作(6)
6 指令介绍
6.1 INFORM Ⅱ语言指令表([INFORM LIST]键)
在示教盒上按下[INFORM LIST]键,屏幕上将显示指令分类表,如下图所示。然后,用光标键和[SETECT]键选择指令类别,选择后会弹出该类别的指令表。
例1
输入DOUT OT#(1) ON 语句打开1端口
[INFORN LIST]→IN/OUT→DOUT→再选择格式
DOUT OT#(1)有两种数据格式:
ON——打1号端口,OFF——关掉1号端口
选中DOUT时,可能显示为DOUT OT#(1) OFF,如要修改,要把光标移到修改处,把OFF改为ON。(一般方法是[SHIFT]+光标键修改)
例2
JUMP JOB: TEST1 IF DIN#(14)=OFF
如果14#端口是关闭的,则跳到JEST1作业。
指令分类表
下面介绍一些主要指令,其中有些指令前面已经提到过。其它指令请参阅附录。
6.2 运动指令
MOVJ VJ=50.00 机械手以关节运动类型移动到示教点
MOVL V=138 机械手以直线运动类型移动到示教点
MOVC V=138 机械手以圆弧运动类型移动到示教点
MOVS V=120 机械手以样条运动类型移动到示教点
注意圆弧运动类型和样条运动类型的应用特点。
圆弧运动类型
单个圆弧
如图所示,在P0→P1的过程中,尽管应用的指令为MOVC,但系统将自动将该路径转换为直线轨迹。
| 运动类型 | 指令 | |
P0 | 关节或直线 | MOVJ MOVL | |
P1 P2 P3 | 圆弧 | MOVC | |
P4 | 关节或直线 | MOVJ MOVL |
连续多个圆弧
如图所示,为实现连续多个圆弧轨迹,在两个圆弧之间必须在同一点插入一关节或直线运动类型的步骤,并在同一点应用圆弧运动类型。
| 运动类型 | 指令 | |
P0 | 关节或直线 | MOVJ MOVL | |
P1 P2 P3 | 圆弧 | MOVC | |
P4 | 关节或直线 | MOVJ MOVL | |
P5 P6 P7 | 圆弧 | MOVC | |
P8 | 关节或直线 | MOVJ MOVL |
样条运动类型
一条自由曲线
如图所示,在P0→P1的过程中,尽管应用的指令为MOVS,但系统将自动将该路径转换为直线轨>。
| 运动类型 | 指令 | |
P0 | 关节或直线 | MOVJ MOVL | |
P1 P2 P3 | 样条 | MOVS | |
P4 | 关节或直线 | MOVJ MOVL |
连续多条自由曲线
如图所示,为实现连续多条自由曲线轨迹,可连续应用样条运动类型指令。
| 运动类型 | 指令 | |
P0 | 关节或直线 | MOVJ MOVL | |
P1 P2 P3 P4 P5 | 样条 | MOVS | |
P6 | 关节或直线 | MOVJ MOVL |
6.3 调用指令
CALL JOB: xxx 条件调用作业
CALL JOB: xxx IF DIN#(1)=ON 当1号端口打开时,调用作业
6.4 跳转指令
JUMP *xxxx 无条件转到指定标号处,标号应以“*”开头
JUMP *xxxx IF DIN#(4)=OFF 如果4号输入端口关闭,则跳转到指定标号处
JUMP *xxxx IF B000=3 如果变量B000的为值3,则跳转到指定标号处
6.5 I/O指令
系统共有输入通道40点,分4组:
第一组1~8点,共8点
第二组9~16点,共8点
第三组17~28点,共12点
第四组29~40点,共12点
输出通道40点,分4组:
第一组1~8点,共8点
第二组9~16点,共8点
第三组17~28点,共12点
第四组29~40点,共12点
例:
DIN B000 IN#(2) 2号通道数据送B000变量(接收1位)
DIN B000 IG#(1) 组通道数据送B000变量(接收8位)
DIN B000 IGH#(1) 把第一组输入通道的高4位(5~8点)数据传给B000变量
DOUT OT#(1) ON/OFF 1号输出通道的开/关设置
DOUT OG#(2) B000=3 同时送8位,00000011
第2组的第1位(9通道)开
第2组的第2位(10通道)开
第2组的第3位(11通道)关
┇
第2组的第8位(16通道)关
DOUT OGH#(2) B=C0 同时送4位,11000000,第2组高四位置为C0
第2组的第5位(13通道)关
第2组的第6位(14通道)关
第2组的第7位(15通道)开
第2组的第8位(16通道)开
6.6 延时指令—TIMER和脉冲指令—PULSE
例:
1通道输出脉宽为1秒的脉冲信号的方法:
方法1: DOUT OT#(1) ON 打开1通道
TIMER 1.0 延时1S
DOUT OT#(1) OFF 关掉1通道
方法2: PULSE OT#(1) T=1.0 输出一个脉冲信号、脉宽为1S
6.7 等待指令
WAIT IN#(1)=ON(/OFF) T=10 等待1号输入通道打开(或关掉),打开(或关掉)后再等待10秒钟
WAIT IN#(12)=B002 等待12号输入通道的值与变量B002相匹配
6.8 运算指令
1)ADD B000 B001 B000+B001→B000 字节运算
ADD B000 15 B000+15→B000
ADD I000 I005 I000+I005→I000 整型量运算(2字节)
ADD I001 32767 I001+32767→I001
ADD R000 R001 R000+R001→R000 实数量运算(4字节)
ADD R000 32.5 R000+32.5→R000
2)SUB与ADD相似
3)INC B000 B000+1→B000
4)DEC B000 B000–1→B000
5)MUL I012 I013 I012*I013→I012
目标操作数可以是位置变量Pxxx的分量,代表坐标轴数据。
P000(1):代表X轴数据
P000(2):代表Y轴数据
P000(3):代表Z轴数据
P000(4):代表TX轴数据,绕X轴旋转的轴
P000(5):代表TY轴数据,绕X轴旋转的轴
P000(6):代表TZ轴数据,绕X轴旋转的轴
P000(0):代表所有轴为数据
P000位置变量包含6个分量,P000(1)~P000(6)
例:P000初值X=100,Y=200,Z=100
MUL P000(3)2
结果:P000 X=100,Y=200,Z=200
再MUL P000(0)2
结果:P000 X=200,Y=400,Z=400
6)DIV I012 IO13 除法指令 I012/I013 →I012
DIV P000(3) 2 Z轴数据被2除
7)AND B012 BO20 逻辑与(操作数只能是字节变量Bxxx,用于关掉某些位)
8) OR BO12 B020 逻辑或(用于打开某些位)
9) NOT BO12 逻辑非
10)XOR BO12 BO20 异或(用于某些位取反)
B012 | B020 | AND | OR | XOR |
0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 1 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
DIN B000 IG#(1) 取第1组数据
AND B000 6 只保留第2,3位,(6=00000110)
6.9 操作命令
1)SET I012 I020 把I020→I012
2)SETE P012(3) D005 设置位置变量的分量
3)GETE D006 P012(4) TX数据→D006,提取位置变量的分量数据
6.10 SHIFT命令——带偏移量的重复工作
SFTON P000 启动偏移量转换操作
SFTOF P000 停止偏移量转换操作
例:
一个循环焊接3个相同工件,如图所示。
程序:
MOVJ VJ=50 | 位置1→位置2 |
*ABC | 标号 |
SFTON P000 | 启动偏移量转换,P000存放偏移量,以下示教数据自动加上偏移量 |
MOVC V=200 | 位置2→位置3 |
MOVC V=200 | 位置3→位置4 |
MOVC Vd200 | 位置4→位置5 |
SFTOF P000 | 停止偏移量转换,以后运动指令与偏移量无关 |
ADD P000 P001 | 修改偏移量 |
DEC B000 | 修改循环变量 |
JUMP *ABC IF B000>0 |
|
本程序用3个变量,一个字节变量B000作循环控制变量,两个位置变量P000、P001:
P000为偏移量累加值,初值为X=0,Y=0,Z=0。
P001每次偏移量(固定值)X=⊿X0,Y=⊿Y0,Z=⊿Z0。
用变量菜单设置P000,P001
按[TOP MEMU]键,选择{VARABLE}菜单项,系统显示:
B I D R P | 注:B––––字节变量 I––––整型变量 D––––长整型变量 R––––实型变量 P––––位置变量 |
用光标键和[SETECT]选择,选中P变量,系统显示:
(关节坐标)
S | 2500 | L | 0 |
U | 0 | R | 0 |
B | 0 | T | 0 |
( 直角坐标)
X | 20.0 | Y | 10.0 | Z | 0 |
RX | 0 | RY | 0 | RZ | 0 |
然后用[SHIFT]+光标键,修改变量值。
此外,还可以在程序中设置变量值
SET B000 3
SETE P000(1) 0
SETE P000(2) 0
SETE P000(3) 0
SETE P001(1) 80
SETE P001(2) 0
SETE P001(3) 0
MOVJ VJ=50.00 位置1→位置2
*ABC 标号
SFTON P000 启动偏移量转换,P000存放偏移量以下示教数据要加上偏移量
MOVC V=200 位置2→位置3
MOVC V=200 位置3→位置4
MOVC V=200 位置4→位置5
SFTOF P000 停止偏移量转换,以后运动指令与偏移量
ADD P000 P001 修改偏移量
DEC B000 修改循环变量
JUMP *ABC IF B000>0
该文章所属专题:安川MOTOMAN工业机器人编程与操作