FANUC機(jī)器人程序結(jié)構(gòu)

發(fā)布日期:2012-06-11    蘭生客服中心    瀏覽:8757

一、運(yùn)動指令
  
運(yùn)動指令已經(jīng)在編程一章中講過,在這里我們重點(diǎn)討論弧焊指令,寄存器指令,I/O指令,分支指令,等待指令,偏置指令,程序控制指令和其他常用的指令。這些指令都是通過程序編輯畫面中的[INST]進(jìn)入的(見圖1)

  注意:不同的軟件,[INST]里的內(nèi)容不盡相同,圖1只是一個例子,在實(shí)際應(yīng)用中要根據(jù)具體的軟件選擇指令,所以我們要記住表示各個功能語句的單詞。

二、焊接指令
1、焊接開始指令

2、焊接結(jié)束指令

3、擺焊開始指令

三、寄存器指令
寄存器支持“+”,“-”,“*”,“/”四則運(yùn)算和多項(xiàng)式,例如:

R[12]=R[2]*100/R[6]

1、寄存器指令

2、位置寄存器指令

  位置寄存器是記錄有位置信息的寄存器,可以進(jìn)行加減運(yùn)算,用法和寄存器類似。
■ PR[i]
■ PR[i,j]

i : 位置寄存器號

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

    1=J1  2=J2  3=J3  4=J4  5=J5  6=J6(關(guān)節(jié)坐標(biāo))

四、I/O指令
I/O指令用來改變信號輸出狀態(tài)和接受輸入信號。

1、數(shù)字I/O(DI/DO)指令

■ R[i]=D[i]

■  DO[i]=(Value) 

Value=ON 發(fā)出信號

     Value=OFF 關(guān)閉信號

■  DO[i]= Pulse ,(Width)

     Width=脈沖寬度 (0.1 to 25.5秒)

機(jī)器人I/O (RI/RO) 指令,模擬I/O(AI/AO)指令,組I/O (GI/GO) 指令的用法和數(shù)字I/O指令類似。

五、分支指令
1、Label指令

用來定義程序分支的標(biāo)簽

■ LBL[i : Comment]

i : 1 to 32767

Comment : 注釋(最多16個字符)

2、未定義條件的分支指令

1)跳轉(zhuǎn)指令 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

變量

運(yùn)算符

行為

R[i]

>  

Constant 常數(shù)

JMP LBL[i]

>= 大于等于

R[i]

Call (Program)

=  

<= 小于等于

<

<> 不等于

2)I/O條件指令 IF (variable)(operator)(value)(Processing)

Variable

Operator

Value

Processing

變量

運(yùn)算符

行為

AO[i]

>  

Constant 常數(shù)

JMP LBL[i]

AI[i]

>= 大于等于

R[i]

Call (Program)

GO[i]

=  

GI[i]

<= 小于等于

<

<> 不等于

Variable

Operator

Value

Processing

變量

運(yùn)算符

行為

DO[i]

=  

ON

JMP LBL[i]

DI[i]

<> 不等于

OFF

Call (Program)

UO[i]

R[i] :0=OFF 1=ON

UI[i]

可以通過邏輯運(yùn)算符”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)

六、等待指令
1、定義時間的等待語句

■ WAIT(value)

value=Constant (0 to 327.67秒)

     value=R[i]

2、條件等待語句

1)寄存器條件等待語句 WAIT(variable)(operator)(value)(Processing)

Variable

Operator

Value

Processing

變量

運(yùn)算符

行為

R[i]

>  

Constant 常數(shù)

若忽略則等待無限長時間

$系統(tǒng)變量

>=  

R[i]

TIMEOUT LBL[i]

=  

<= 

<

<>  

2)I/O條件等待語句 WAIT(variable)(operator)(value)(Processing)

Variable

Operator

Value

Processing

變量

運(yùn)算符

行為

AO[i]

>  

Constant 常數(shù)

若忽略則等待無限長時間

AI[i]

>=  

R[i]

TIMEOUT LBL[i]

GO[i]

=  

GI[i]

<=  

<

<> 

DO[i]

= 

ON

若忽略則等待無限長時間

DI[i]

<>  

OFF

TIMEOUT LBL[i]

UO[i]

R[i] :0=OFF 1=ON

UI[i]

可以通過邏輯運(yùn)算符”or”和 “and”將多個條件組合在一起,但是”or”和 “and”不能在同一行使用。

七、條件指令

■ OFFSET CONDITION PR[i]

通過此指令可以將原有的點(diǎn)偏置,偏置兩由位置寄存器決定。偏置條件指令一直有效到程序運(yùn)行結(jié)束或者下一個偏置條件指令被執(zhí)行(注,偏置條件指令只對包含有附加運(yùn)動指令OFFSET的運(yùn)動語句有效,例如:

1. OFFSET CONDITION PR[1]

2. J P[1] 100% FINE (偏置無效)

3. L P[2] 500mm/sec FINE offset。ㄆ糜行В

八、程序控制指令

■ Pause

通過此指令可以暫停程序運(yùn)行,幫助我們進(jìn)行程序的調(diào)試工作,當(dāng)需要程序循環(huán)運(yùn)行時,要將此指令刪除。該指令在Program control中,見圖2

九、其他指令
在編程過程中,用戶報警指令,時鐘指令,運(yùn)行速度指令,注釋指令,消息指令也經(jīng)常用到。以上指令都在Miscellaneous中,見圖3

1、用戶報警指令

■ UALM[i]    i : 用戶報警號

當(dāng)程序中運(yùn)行該指令時,機(jī)器人會報警并顯示報警消息。要使用該指令,首先設(shè)置用戶報警。依次按鍵選擇MENU→SETUP→F1(TYPE)→User alarm即可進(jìn)入用戶報警設(shè)置畫面。

2、時鐘指令

■ TIMER[i] (Processing) i : 時鐘號 

依次按鍵選擇MENU→STATUE→F1(TYPE)→Prg Timer即可進(jìn)入程序時鐘顯示畫面。

3、運(yùn)行速度指令

■ OVERRIDE=(value)%  value=1 to 100

4、注釋指令

■ ! (Remark)  Remark : 注釋內(nèi)容,最多可以有32字符 

5、消息指令

■ Message[message] message : 消息內(nèi)容,最多可以有24字符

當(dāng)程序中運(yùn)行該指令時,屏幕中將會彈出含有message的畫面.

 

更多相關(guān)信息