ABB機器人的程序編程_第1頁
ABB機器人的程序編程_第2頁
ABB機器人的程序編程_第3頁
ABB機器人的程序編程_第4頁
ABB機器人的程序編程_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、ABBa-J-6ABB機器人的程序編程6.1任務(wù)目標(biāo)Ø 掌握常用的PAPID程序指令。Ø 掌握基本RAPID程序編寫、調(diào)試、自動運行和保存模塊。6.2任務(wù)描述u 建立程序模塊test12.24,模塊test12.24下建立例行程序main和Routine1,在main程序下進行運動指令的基本操作練習(xí)。u 掌握常用的RAPID指令的使用方法。u 建立一個可運行的基本RAPID程序,內(nèi)容包括程序編寫、調(diào)試、自動運行和保存模塊。6.3知識儲備程序模塊與例行程序RAPID程序中包含了一連串控制機器人的指令,執(zhí)行這些指令可以實現(xiàn)對機器人的控制操作。應(yīng)用程序是使用稱為RAPID編程語言

2、的特定詞匯和語法編寫而成的。RAPID是一種英文編程語言,所包含的指令可以移動機器人、設(shè)置輸出、讀取輸入,還能實現(xiàn)決策、重復(fù)其他指令、構(gòu)造程序、與系統(tǒng)操作員交流等功能。RAPID程序的基本架構(gòu)如圖所示:RAPID程序程序模塊1程序模塊2程序模塊3程序模塊4程序數(shù)據(jù)主程序main例行程序中斷程序功能程序數(shù)據(jù)例行程序中斷程序功能程序數(shù)據(jù)例行程序中斷程序功能RAPID程序的架構(gòu)說明:1) RAPID程序是由程序模塊與系統(tǒng)模塊組成。一般地,只通過新建程序模塊來構(gòu)建機器人的程序,而系統(tǒng)模塊多用于系統(tǒng)方面的控制。2) 可以根據(jù)不同的用途創(chuàng)建多個程序模塊,如專門用于主控制的程序模塊,用于位置計算的程序模塊,

3、用于存放數(shù)據(jù)的程序模塊,這樣便于歸類管理不同用途的例行程序與數(shù)據(jù)。3) 每一個程序模塊包含了程序數(shù)據(jù)、例行程序、中斷程序和功能四種對象,但不一定在一個模塊中都有這四種對象,程序模塊之間的數(shù)據(jù)、例行程序、中斷程序和功能是可以互相調(diào)用的。4) 在RAPID程序中,只有一個主程序main,并且存在于任意一個程序模塊中,并且是作為整個RAPID程序執(zhí)行的起點。操作步驟:1. 單擊“程序編輯器”,查看RAPID程序。2. 單擊“例行程序”,查看例行程序列表。3. 單擊“后退”或“模塊”標(biāo)簽查看模塊列表。4. 在“模塊”和“例行程序”視圖中,可以點擊“文件”“新建”去建立模塊或例行程序。在示教器上進行指令

4、編程的基本操作ABB機器人的RAPID編程提供了豐富的指令來完成各種簡單與復(fù)雜的應(yīng)用。下面就從最常用的指令開始學(xué)習(xí)RAPID編程,領(lǐng)略RAPID豐富的指令集提供的編程便利性。1. 打開ABB菜單,選擇“程序編輯器”。2. 選中要插入指令的程序位置,高顯為藍色。3. 單擊“添加指令”,打開指令列表。4. 單擊此按鈕可切換到其他分類的指令列表。6.4任務(wù)實施基本RAPID指令練習(xí)建立程序模塊test12.24,模塊test12.24下建立例行程序main和Routine1,在main程序下進行運動指令的基本操作練習(xí)。1.賦值指令“:=”賦值指令用于對程序數(shù)據(jù)進行賦值。賦值可以是一個常量或數(shù)學(xué)表達式

5、。下面的操作步驟以添加一個常量賦值與數(shù)學(xué)表達式賦值說明此指令的使用:常量賦值:reg1:=5;數(shù)學(xué)表達式賦值:reg2:=reg1+4;(1)添加常量賦值指令的操作1. 在指令列表中選擇“:=”。2. 單擊“更改數(shù)據(jù)類型”,選擇num數(shù)字型數(shù)據(jù)。3. 在列表中找到“num”并選中,然后單擊“確定”。4. 選中“reg1”。5. 選中“<EXP>”并藍色高亮顯示。6. 打開“編輯”菜單,選擇“僅限選定內(nèi)容”。7. 通過軟鍵盤輸入數(shù)字“5”,然后單擊“確定”。8. 單擊“確定”。9. 在這里就能看到所增加的指令。(2)添加帶數(shù)學(xué)表達式的賦值指令的操作1. 在指令列表中選擇“:=”。2.

6、 選中“reg2”。3. 選中“<EXP>”,顯示為藍色高亮。4. 選中“reg1”。5. 單擊“+”按鈕。6. 選中“<EXP>”,顯示為藍色高亮。7. 打開“編輯”菜單,選擇“僅限選定內(nèi)容”,然后在彈出的軟鍵盤畫面中輸入“4”,單擊“確定”。8. 確認(rèn)正確后,單擊“確定”。9. 單擊“下方”,添加指令成功。10. 單擊“添加指令”,將指令列表收起來*提示:編程畫面操作技巧放大/縮小畫面。向上/向下翻頁。向上/向下移動。2.機器人運動指令機器人在空間中運動主要有關(guān)節(jié)運動(MoveJ)、線性運動(MoveL)、圓弧運動(MoveC)和絕對位置運動(MoveAbsJ)四種

7、方式。(1)絕對位置運動指令絕對位置運動指令是機器人的運動使用六個軸和外軸的角度值來定義目標(biāo)位置數(shù)據(jù)。操作步驟:1.進入“手動操縱”畫面,確認(rèn)已選定工具坐標(biāo)與工件坐標(biāo)(*提示:在添加或修改機器人的運動指令之前,一定要確認(rèn)所使用的工具坐標(biāo)與工件坐標(biāo))。2.選中指令的位置,打開“添加指令”菜單,選擇“MoveAbsJ”指令。指令解析:MoveAbsJ *NoEOffs, v1000, z50, tool1Wobj:=wobj1;參數(shù)含義*目標(biāo)點位置數(shù)據(jù)NoEOffs外軸不帶偏移數(shù)據(jù)v1000運動速度數(shù)據(jù)1000mm/sz50轉(zhuǎn)彎區(qū)數(shù)據(jù)tool1工具坐標(biāo)數(shù)據(jù)wobj1工件坐標(biāo)數(shù)據(jù)*提示:MoveAb

8、sJ常用于機器人六個軸回到機械零點(0°)的位置。(2)關(guān)節(jié)運動指令關(guān)節(jié)運動指令是對路徑精度要求不高的情況下,機器人的工具中心點TCP從一個位置移動到另一個位置,兩個位置之間的路徑不一定是直線。指令解析:MoveJ p10, v1000, z50, tool1Wobj:=wobj1;參數(shù)含義p10目標(biāo)點位置數(shù)據(jù)v1000運動速度數(shù)據(jù)關(guān)節(jié)運動適合機器人大范圍運動時使用,不容易在運動過程中出現(xiàn)關(guān)節(jié)軸進入機械死點的問題。*注意:目標(biāo)點位置數(shù)據(jù)定義機器人TCP點的運動目標(biāo),可以在示教器中單擊“修改位置”進行修改。運動速度數(shù)據(jù)定義速度(mm/s)轉(zhuǎn)彎區(qū)數(shù)據(jù)定義轉(zhuǎn)變區(qū)的大小mm。工具坐標(biāo)數(shù)據(jù)定義

9、當(dāng)前指令使用的工具工件坐標(biāo)數(shù)據(jù)定義當(dāng)前指令使用的工件坐標(biāo)(3)線性運動指令線性運動是機器人的TCP從起點到終點之間的路徑始終保持為直線。一般如焊接、涂膠等應(yīng)用對路徑要求高的場合使用此指令。(4)圓弧運動指令圓弧路徑是在機器人可到達的控件范圍內(nèi)定義三個位置點,第一個點是圓弧的起點,第二個點用于圓弧的曲率,第三個點是圓弧的終點。指令解析:MoveL p10, v1000, fine, tool1Wobj:=wobj1;MoveC p30, p40, v1000, z1, tool1Wobj:=wobj1;參數(shù)含義p10圓弧的第一個點p30圓弧的第二個點p40圓弧的第三個點finez1轉(zhuǎn)彎區(qū)數(shù)據(jù)(5

10、)運動指令的使用示例指令:MoveL p1, v200, z10, tool1Wobj:=wobj1;MoveL p2, v100, fine, tool1Wobj:=wobj1;MoveJ p3, v500, fine, tool1Wobj:=wobj1;圖示:200mm/s10mm100mm/s500mm/sp1p2p3說明:機器人的TCP從當(dāng)前位置向p1點以線性運動方式前進,速度是200mm/s,轉(zhuǎn)彎區(qū)數(shù)據(jù)是10mm,距離p1點還有10mm的時候開始轉(zhuǎn)彎,使用的工具數(shù)據(jù)是tool1,工件坐標(biāo)數(shù)據(jù)是wobj1。機器人的TCP從p1向p2點以線性運動方式前進,速度是100mm/s,轉(zhuǎn)彎區(qū)數(shù)據(jù)

11、是fine,機器人在p2點稍作停頓,使用的工具數(shù)據(jù)是tool1,工件坐標(biāo)數(shù)據(jù)是wobj1。機器人的TCP從p2向p3點以關(guān)節(jié)運動方式前進,速度是500mm/s,轉(zhuǎn)彎區(qū)數(shù)據(jù)是fine,機器人在p3點停止,使用的工具數(shù)據(jù)是tool1,工件坐標(biāo)數(shù)據(jù)是wobj1。提示:*關(guān)于速度:速度一般最高為50000mm/s,在手動限速狀態(tài)下,所有的運動速度被限速在250mm/s*關(guān)于轉(zhuǎn)彎區(qū):fine指機器人TCP達到目標(biāo)點,在目標(biāo)點速度降為零。機器人動作有所停頓然后再向下運動,如果是一段路徑的最后一個點,一定要為fine。轉(zhuǎn)彎區(qū)數(shù)值越大,機器人的動作路徑就越圓滑與流暢。3.I/O控制指令I(lǐng)/O控制指令用于控制I

12、/O信號,以達到與機器人周邊設(shè)備進行通信的目的。(1)Set數(shù)字信號置位指令Set數(shù)字信號置位指令用于將數(shù)字輸出(Digital Output)置位為“1”。Set do1;參數(shù)含義do1數(shù)字輸出信號(2)Reset數(shù)字信號復(fù)位指令Reset數(shù)字信號復(fù)位指令用于將數(shù)字輸出(Digital Output)置位為“0”。Reset do1;*提示:如果在Set、Reset指令前有運動指令MoveJ、MoveL、MoveC、MoveAbsJ的轉(zhuǎn)彎區(qū)數(shù)據(jù),必須使用fine才可以準(zhǔn)確地輸出I/O信號狀態(tài)的變化。(3)WaitDI數(shù)字輸入信號判斷指令WaitDI數(shù)字輸入信號判斷指令用于判斷數(shù)字輸入信號的值

13、是否與目標(biāo)一致。WaitDI di1, 1;參數(shù)含義di1數(shù)字輸入信號1判斷的目標(biāo)值在例子中,程序執(zhí)行此指令時,等待di1的值為1。如果di1為1,則程序繼續(xù)往下執(zhí)行;如果到達最大等待時間300s(此時間可根據(jù)實際進行設(shè)定)以后,di1的值還不為1,則機器人報警或進入出錯處理程序。(4)WaitDO數(shù)字輸出信號判斷指令WaitDO數(shù)字輸出信號判斷指令用于判斷數(shù)字輸出信號的值是否與目標(biāo)一致。WaitDO do1, 1;參數(shù)以及說明同WaitDi指令。(5)WaitUntil信號判斷指令WaitUntil信號判斷指令可用于布爾量、數(shù)字量和I/O信號值的判斷,如果條件到達指令中的設(shè)定值,程序繼續(xù)往下

14、執(zhí)行,否則就一直等待,除非設(shè)定了最大等待時間。WaitUntil di1 = 1;WaitUntil do1 = 0;WaitUntil flag = TRUE;WaitUntil num1 = 4;參數(shù)含義flag1布爾量num1數(shù)字量4.條件邏輯判斷指令條件邏輯判斷指令用于對條件進行判斷后,執(zhí)行相應(yīng)的操作,是RAPID中重要的組成部分。(1)Compact IF緊湊型條件判斷指令Compact IF緊湊型條件判斷指令用于當(dāng)一個條件滿足了以后,就執(zhí)行一句指令。IF flag1 = TRUE Set do1;如果flag1的狀態(tài)為TRUE,則do1被置位為1。(2)IF條件判斷指令I(lǐng)F條件判斷

15、指令,就是根據(jù)不同的條件去執(zhí)行不同的指令。指令解析:IF num1=1 THEN flag:=TRUE;ELSEIF num1=2 THEN flag1:=FALSE;ELSE Set do1;ENDIF如果num1為1,則flag1會賦值為TRUE。如果num1為2,則flag1會賦值為FALSE。除了以上兩種條件之外,則執(zhí)行do1置位為1.*條件判定的條件數(shù)量可以根據(jù)實際情況進行增加與減少。(3)FOR重復(fù)執(zhí)行判斷指令FOR重復(fù)執(zhí)行判斷指令,是用于一個或多個指令需要重復(fù)執(zhí)行次數(shù)的情況FOR i FROM 1 TO 10 DO Routine1;ENDFOR例行程序Routine1,重復(fù)執(zhí)行

16、10次。(4)WHILE條件判斷指令WHILE條件判斷指令,用于在給定條件滿足的情況下,一直重復(fù)執(zhí)行對應(yīng)的指令。WHILE num1>num2 DO num1:=num1-1;ENDWHILE當(dāng)num1>num2的條件滿足的情況下,就一直執(zhí)行num1:=num1-1的操作。5.其他的常用指令(1)ProcCall調(diào)用例行程序指令通過使用此指令在指定的位置調(diào)用例行程序。1. 選中“<SMT>”為要調(diào)用的例行程序的位置。2. 在添加指令的列表中,選擇“ProcCall”指令。3. 選中要調(diào)用的例行程序Routine1,然后單擊“確定”。4. 調(diào)用例行程序指令執(zhí)行的結(jié)果。(2

17、)RETURN返回例行程序指令RETURN返回例行程序指令,當(dāng)此指令被執(zhí)行時,則馬上結(jié)束本例行程序的執(zhí)行,返回程序指針到調(diào)用此例行程序的位置。當(dāng)di1=1時,執(zhí)行RETURN指令,程序指針返回到調(diào)用Routine2的位置并繼續(xù)向下執(zhí)行Set do1這個指令。(3)WaitTime時間等待指令WaitTime時間等待指令,用于程序在等待一個指定的時間以后,再繼續(xù)向下執(zhí)行WaitTime 4;Reset do1;等待4s以后,程序向下執(zhí)行Reset do1指令。常用RAPID指令的使用方法1.用戶輸入兩個數(shù)字,按鈕選擇一個運算符,屏幕輸出運算結(jié)果(使用TPReadNum、TPReadFK、TPWr

18、ite和IF指令)2.用戶輸入一個0-100的分?jǐn)?shù)值,程序輸出A(90-100)、B(80-89)、C(60-79)、D(0-60)四個評級。(IF ELSEIF語句的使用)3.使用WHILE或FOR循環(huán),計算1+2+3+99+100的結(jié)果。4.RAPID編程中的功能(FUNCTION)的使用介紹使用自定義功能,自己實現(xiàn)Offs功能和Abs功能(需掌握帶參數(shù)的功能、功能返回值以及復(fù)雜數(shù)據(jù)的賦值方法,隨堂聯(lián)系practise10-1,需要教師指導(dǎo))。功能Abs:功能Offs:5.掌握中斷程序的使用(1)使用di信號觸發(fā)中斷程序,每次觸發(fā),均使系統(tǒng)用戶變量reg1進行+1的操作,當(dāng)reg1>

19、10時,將reg1重置為1。(2)使用ITimer指令進行定時間隔為1s的中斷觸發(fā),每次觸發(fā)使系統(tǒng)用戶變量reg2進行+1的操作,當(dāng)reg2>10時,將reg2重置為1。6.4.3建立一個可運行的基本RAPID程序在之前的章節(jié)中,已大概了解RAPID程序編程的相關(guān)操作及基本的指令?,F(xiàn)在就通過一個實例來體驗一下ABB機器人便捷的程序編輯。編制一個程序的基本流程是這樣的:1)確定需要多少個程序模塊。多少個程序模塊是由應(yīng)用的復(fù)雜性所決定的,比如可以將位置計算、程序數(shù)據(jù)、邏輯控制等分配到不同的程序模塊,方便管理。 2)確定各個程序模塊中要建立的例行程序,不同的功能就放到不同的程序模塊中去,如夾具

20、打開、夾具關(guān)閉這樣的功能就可以分別建立成例行程序,方便調(diào)用與管理。1.建立RAPID程序?qū)嵗ㄊ虑皽?zhǔn)備建立board10和di1)1. 確定工作要求:機器人空閑時,在位置點pHome等待。如果外部信號di1輸入為1時,機器人沿著物體的一條邊從p10到p20走一條直線,結(jié)束以后回到pHome點。2. ABB菜單中,選擇“程序編輯器”。3. 單擊“取消”(如果系統(tǒng)中不存在程序的話會出現(xiàn)此對話框)。 4.打開“文件”菜單,選擇“新建模塊”。此應(yīng)用比較簡單,所以只需建一個程序模塊就足夠了。5. 單擊“是”進行確定。6.定義程序模塊的名稱后,單擊“確定”。程序模塊的名稱可以根據(jù)需要自己定義,以方便管理。

21、7. 選中“Module1”,單擊“顯示模塊”。8. 單擊“例行程序”。9. 打開“文件”,單擊“新建例行程序”。10. 首先建立一個主程序main,然后單擊“確定”,根據(jù)第9、10步驟建立相關(guān)的例行程序。rHome用于機器人回等待位。rInitAll 初始化。rMoveRoutine 存放直線運動路徑。11.選擇“rHome”,然后單擊“顯示例行程序”。12. 到“手動操縱”菜單內(nèi),確認(rèn)已選中要使用的工具坐標(biāo)與工件坐標(biāo)。13. 回到程序編輯器,單擊“添加指令”,打開指令列表。選中“<SMT>”為插入指令的位置,在指令列表中選擇“MoveJ”。14. 雙擊“*”,進入指令參數(shù)修改畫

22、面。15. 通過新建或選擇對應(yīng)的參數(shù)數(shù)據(jù),設(shè)定為圖中所示的數(shù)值。16. 選擇合適的動作模式,使用搖桿將機器人運動到圖中的位置,作為機器人的空閑等待點。17. 選中“pHome”目標(biāo)點,單擊“修改位置”,將機器人的當(dāng)前位置數(shù)據(jù)記錄下來。18. 單擊“修改”進行確認(rèn)。19. 單擊“例行程序”標(biāo)簽。20. 選中“rInitAll”例行程序。21. 在此例行程序中,加入在程序正式運行前,需要作初始化的內(nèi)容,如速度限定、夾具復(fù)位等。具體根據(jù)需要添加。在此例行程序rInitAll中只增加了兩條速度控制的指令(在添加指令列表的Setting類別中)和調(diào)用了回等待位的例行程序rHome。22. 單擊“例行程序

23、”標(biāo)簽。23.選擇“rMoveRoutine”例行程序,然后單擊“顯示例行程序”。24. 添加“MoveJ”指令,并將參數(shù)設(shè)定為圖中所示。25. 選擇合適的動作模式,使用搖桿將機器人運動到圖中的位置,作為機器人的p10點。26. 選中“p10”點,單擊“修改位置”,將機器人的當(dāng)前位置記錄到p10中去。27. 添加“MoveL”指令,并將參數(shù)設(shè)置為如圖所示。28. 選擇合適的動作模式,使用搖桿將機器人運動到圖中的位置,作為機器人的p20點。29. 選中“p20”點,單擊“修改位置”,將機器人的當(dāng)前位置記錄到p20中去。單擊“例行程序”標(biāo)簽。30. 選中“main”主程序,進行程序執(zhí)行主體架構(gòu)的設(shè)

24、定。31. 在開始位置調(diào)用初始化例行程序。32. 添加“WHILE”指令,并將條件設(shè)定為“TRUE”。33. 添加“IF”指令到圖中所示位置。使用WHILE指令構(gòu)建一個死循環(huán)的目的在于將初始化程序與正常運行的路徑程序隔離開。初始化程序只在一開始時執(zhí)行一次,然后就根據(jù)條件循環(huán)執(zhí)行路徑運動。34. 選中“<EXP>”,然后打開“編輯”菜單,選擇“ABC”。35. 使用軟鍵盤輸入“di=1”,然后單擊“確定”。此處不能直接判斷數(shù)字輸出信號的狀態(tài),如do1=1,這是錯誤的,要使用功能DOutput()。36. 在IF指令的循環(huán)中,調(diào)用兩個例行程序rMoveRoutine和rHome。在選中

25、IF指令的下方,添加WaitTime指令,參數(shù)是0.3s。主程序解讀:1)首先進入初始化程序進行相關(guān)初始化的設(shè)置。2)進行WHILE的死循環(huán),目的是將初始化程序隔離開。3)如果di1=1,則機器人執(zhí)行對應(yīng)的路徑程序。4)等待0.3s的這個指令的目的是防止系統(tǒng)CPU過負(fù)荷而設(shè)定的。37. 打開“調(diào)試”菜單。單擊“檢查程序”,對程序的語法進行檢查。38. 單擊“確定”完成。如果有錯,系統(tǒng)會提示出錯的具體位置與建議操作。2.對RAPID程序進行調(diào)試pHome在完成了程序的編輯以后,接下來的工作就是對這個程序進行調(diào)試,調(diào)試的目的有以下兩個:1)檢查程序的位置點是否正確。2)檢查程序的邏輯控制是否有不完善的地方。1.打開“調(diào)試”菜單,選擇“PP移至例行程序”。2.選中“rHome”例行程序,然后單擊“確定”。3. PP是程序指針(黃色小箭頭)的簡稱。程序指針永遠(yuǎn)指向?qū)⒁獔?zhí)行的指令。所以圖中的指令將會是被執(zhí)行的指令。4.左手按下使能鍵,進入“電動機開啟”狀態(tài)。按以下“單步向前”按鍵,并小心觀察機器人的移動。在按下“程序停止”鍵后,才可以松開使能鍵。5. 在指令左側(cè)出現(xiàn)一個小機器人,說明機器人已到達pHome這個等待位置。6. 機器人回到了pHome這個等待位置。3.對RA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論