安川MOTOMAN工业机器人编程与操作(6)

来源:百科故事网 时间:2020-12-19 属于: 机械设计

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作业。

    指令分类表

安川MOTOMAN工业机器人编程与操作(6) title=

    下面介绍一些主要指令,其中有些指令前面已经提到过。其它指令请参阅附录。

6.2 运动指令

MOVJ VJ=50.00  机械手以关节运动类型移动到示教点

MOVL V=138     机械手以直线运动类型移动到示教点

MOVC V=138     机械手以圆弧运动类型移动到示教点

MOVS V=120     机械手以样条运动类型移动到示教点

注意圆弧运动类型和样条运动类型的应用特点。

     圆弧运动类型
    单个圆弧

    如图所示,在P0→P1的过程中,尽管应用的指令为MOVC,但系统将自动将该路径转换为直线轨迹。

运动类型

指令

安川MOTOMAN工业机器人编程与操作(6) title=

P0

关节或直线

MOVJ

MOVL

P1

P2

P3

圆弧

MOVC

P4

关节或直线

MOVJ

MOVL

连续多个圆弧

    如图所示,为实现连续多个圆弧轨迹,在两个圆弧之间必须在同一点插入一关节或直线运动类型的步骤,并在同一点应用圆弧运动类型。

运动类型

指令

安川MOTOMAN工业机器人编程与操作(6) title=

P0

关节或直线

MOVJ

MOVL

P1

P2

P3

圆弧

MOVC

P4

关节或直线

MOVJ

MOVL

P5

P6

P7

圆弧

MOVC

P8

关节或直线

MOVJ

MOVL

    样条运动类型
    一条自由曲线

    如图所示,在P0→P1的过程中,尽管应用的指令为MOVS,但系统将自动将该路径转换为直线轨>。

运动类型

指令

安川MOTOMAN工业机器人编程与操作(6) title=

P0

关节或直线

MOVJ

MOVL

P1

P2

P3

样条

MOVS

P4

关节或直线

MOVJ

MOVL

连续多条自由曲线

    如图所示,为实现连续多条自由曲线轨迹,可连续应用样条运动类型指令。

运动类型

指令

安川MOTOMAN工业机器人编程与操作(6) title=

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个相同工件,如图所示。

安川MOTOMAN工业机器人编程与操作(6) title=

程序:

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工业机器人编程与操作