上海发那科(FANUC)机器人有限公司内部教材

SHANGHAI-FANUC

图3

程序结构

一.运动指令

运动指令已经在编程一章中讲过,在这里我们重点讨论弧焊指令,寄存器指令,

I/O指令,分支指令,等待指令,偏置指令,程序控制指令和其他常用的指令。这些指令都是通过程序编辑画面中的[INST]进入的(见图1)

Instruction JOINT 10% Instruction JOINT 10% 1 Registers 5 JMP/LBL 1 Miscellaneous 5 Track offset

2 I/O 6 CALL 2 Weave 6 offset frame

3 IF/SELECT 7 Arc 3 Skip 7 program control

4 WAIT 8 ---nest page--- 4 Payload 8 ---nest page---

SAMPLE1 SAMPLE1 1/7 1/7

1 R[1]=0 1 R[1]=0

2 LBL[1] 2 LBL[1]

3 L P[1] 1000mm/sec CNT30 3 L P[1] 1000mm/sec CNT30

4 L P[2] 500cm/min FINE 4 L P[2] 500cm/min FINE

5 R[1]=R[1]+1 5 R[1]=R[1]+1

注意:不同的软件,[INST]里的内容不尽相同,图1只是一个例子,在实际应用中要根据具体的软件选择指令,所以我们要记住表示各个功能语句的单词。 二.焊接指令 1.焊接开始指令 ■ Arc Start [i] :

设置焊接条件号

i:焊接条件号(1到32)按MENU→ ---next page--- →Data→ Weld Sched可以进入设置焊接条件画面

DATA Weld Sched JOINT 30% 1/32 (Volts) (Amps) (sec) COMMMENT 1 16.0 140.0 0.00 2 16.0 145.0 0.00 3 15.0 140.0 0.00 ■ Arc Start[ V,A ] 设置焊接开始条件

V : 电压

A : 电流

2.焊接结束指令 ■ Arc End [i] : 设置焊接条件号

进入方法同上

28

SHANGHAI-FANUC

■ Arc Endt[ V,A ,s ]

3.摆焊开始指令 ■ Weave [i]

设置焊接结束条件 V : 电压

A : 电流 s : 维持时间(0到9.9秒)

设置焊接件号

i:焊接条件号(1到16)按MENU→ ---next page--- →Data→ Weave Sched可以进入设置焊接条件画面

DATA Weave Sched JOINT 30% 1/32 FREQ(Hz) AMP(mm) R_DW(sec) L_DW(sec) 1 1.0 4.0 0.100 0.100 2 1.0 4.0 0.100 0.100 3 1.0 4.0 0.100 0.100 ■ Weave Sine(Hz,mm,sec,sec)

正弦波摆焊 ■ Weave Circle(Hz,mm,sec,sec) 圆形摆焊 ■ Weave Figure 8(Hz,mm,sec,sec) 8字型摆焊

Hz : 摆焊频率(0.0 to 99.9) mm : 摆焊幅宽(0 .0 to 25.0) Sec : 摆焊左停留时间(0 to 1.0) Sec : 摆焊右停留时间(0 to 1.0)

4.摆焊结束指令 ■ Weave End

三.寄存器指令

寄存器支持“+”,“-”,“*”,“/”四则运算和多项式,例如: R[12]=R[2]*100/R[6]

1.寄存器指令

R[i]= Constant 常数 R[i] 寄存器的值 RDI[i] 信号的状态 Timer[i] 程序记时器的值

+ 加 - 减 运算符

* 乘

/ 除

MOD 两值相除后的余数 DIV 两值相除后的整数

2.位置寄存器指令

位置寄存器是记录有位置信息的寄存器,可以进行加减运算,用法和寄存器类似。 ■ PR[i] ■ PR[i,j]

29

SHANGHAI-FANUC

i : 位置寄存器号

j : 1=X 2=Y 3=Z 4=W 5=P 6=R(直角坐标)

1=J1 2=J2 3=J3 4=J4 5=J5 6=J6(关节坐标)

四.I/O指令

I/O指令用来改变信号输出状态和接受输入信号。 1.数字I/O(DI/DO)指令 ■ R[i]=D[i]

■ DO[i]=(Value)

Value=ON 发出信号 Value=OFF 关闭信号 ■ DO[i]= Pulse ,(Width)

Width=脉冲宽度 (0.1 to 25.5秒)

机器人I/O (RI/RO) 指令,模拟I/O(AI/AO)指令,组I/O (GI/GO) 指令的用法和数字I/O指令类似。

五.分支指令

1.Label指令 用来定义程序分支的标签 ■ LBL[i : Comment]

i : 1 to 32767

Comment : 注释(最多16个字符) 2.未定义条件的分支指令 1)跳转指令 JMP[i]

■ JMP LBL[i] i : 1 to 32767 2)Call指令

■ Call (Program) Program : 程序名 3.定义条件的分支指令 1)寄存器条件指令 IF (variable)(operator)(value)(Processing) Variable Operator Value Processing

变量 R[i]

运算符 >

>= 大于等于 =

<= 小于等于 <

<> 不等于

Constant 常数 R[i]

行为

JMP LBL[i] Call (Program)

2)I/O条件指令 IF (variable)(operator)(value)(Processing) Variable Operator Value Processing

变量 AO[i]

运算符 >

Constant 常数

30

行为

JMP LBL[i]

SHANGHAI-FANUC

AI[i] GO[i] GI[i]

>= 大于等于 =

<= 小于等于 <

<> 不等于

R[i]

Call (Program)

变量 运算符 值 行为 DO[i] = ON JMP LBL[i] DI[i] OFF Call (Program) <> 不等于 UO[i] R[i] :0=OFF 1=ON UI[i] 可以通过逻辑运算符”or”和 “and”将多个条件组合在一起,但是”or”和 “and”不能在同一行使用。例如:

IF 〈条件1〉and(条件2)and(条件3)是正确的 IF 〈条件1〉and(条件2)or(条件3)是错误的 4 条件选择分支指令 ■ SELECT R[i]=(Value) (Pressing) =(Value) (Pressing) =(Value) (Pressing) ELSE (Pressing) Variable

Operator

Value

Processing

六.等待指令

1.定义时间的等待语句 ■ WAIT(value)

value=Constant (0 to 327.67秒) value=R[i] 2.条件等待语句

1)寄存器条件等待语句 WAIT(variable)(operator)(value)(Processing) Variable Operator Value Processing 变量 运算符 值 行为

R[i]

$系统变量

> >= = <= <

<>

Constant 常数 R[i]

若忽略则等待无限长时间 TIMEOUT LBL[i]

2)I/O条件等待语句 WAIT(variable)(operator)(value)(Processing)

Variable Operator Value Processing

变量 AO[i] AI[i] GO[i]

运算符 > >= =

Constant 常数 R[i]

31

行为

若忽略则等待无限长时间 TIMEOUT LBL[i]

联系客服:779662525#qq.com(#替换为@)