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

下載本文檔

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

文檔簡介

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

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

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

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

5、式。下面的操作步驟以添加一個常量賦值與數(shù)學(xué)表達式賦值說明此指令的使用:常量賦值:reg1:=5;數(shù)學(xué)表達式賦值:reg2:=reg1+4;(1) 添加常量賦值指令的操作1.2.3.4.5.6.7.在指令列表中選擇“:三” 選中 選中 亮。“ reg2o ”“<EX P,顯示為藍色高選中 單擊 選中 亮。打開a/”reg1?!?按鈕?!?lt;EX P;顯示為藍色高編輯”菜單,選擇僅限1.在指令列表中選擇“:三”2. 單擊更改數(shù)據(jù)類型”,選擇 num數(shù)字型數(shù)據(jù)。3. 在列表中找到num并選中,然后單擊確定”。4.選中 “ reg1?!?. 選中“ <EXP并藍色高亮顯示。6. 打開

6、編輯”菜單,選擇 僅限選 定內(nèi)容”。7. 通過軟鍵盤輸入數(shù)字“ 5,”然后單擊確定”。8. 單擊確定”。9. 在這里就能看到所增加的指令。(2 )添加帶數(shù)學(xué)表達式的賦值指令的操作選定內(nèi)容”,然后在彈出的軟鍵盤畫面中輸入“4;'單擊確。確認正確后,單擊確定”。9.單擊下方”添加指令成功。10.單擊添加指令”將指令列表 收起來*提示:編程畫面操作技巧 放大/縮小畫面。向上/向下翻頁。向上/向下移動。2. 機器人運動指令機器人在空間中運動主要有關(guān)節(jié)運動(MoveJ)、線性運動(MoveL)、圓弧運動(MoveC)和絕對位置運動(MoveAbsJ)四種方式。(1)絕對位置運動指令絕對位置運動指

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

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

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

10、MoveL p2,v100,fi ne,tool1Wobj:=wobj1;MoveJ p3,v500,fi ne,tool1Wobj:=wobj1;y200mm/s*100mm*%p3 qft50:0m#p2機器人的TCP從當前位置向p1點以線性運動方式前進,速度是200mm/s,轉(zhuǎn)彎區(qū)數(shù)據(jù)是p1點還有10mm的時候開始轉(zhuǎn)彎,使用的工具數(shù)據(jù)是tool1,工件坐標數(shù)據(jù)是 wobj1。機器人的TCP從p1向p2點以線性運動方式前進,速度是 100mm/s,轉(zhuǎn)彎區(qū)數(shù)據(jù)是fine, 點稍作停頓,使用的工具數(shù)據(jù)是tool1,工件坐標數(shù)據(jù)是 wobj1。機器人的TCP從p2向p3點以關(guān)節(jié)運動方式前進,速度

11、是 500mm/s,轉(zhuǎn)彎區(qū)數(shù)據(jù)是fine, 點停止,使用的工具數(shù)據(jù)是tool1,工件坐標數(shù)據(jù)是 wobj1。提示:*關(guān)于速度:速度一般最高為50000mm/s,在手動限速狀態(tài)下,所有的運動速度被限速在250mm/s|10mm,距離機器人在p2機器人在p33.I/O控制指令I(lǐng)/O控制指令用于控制I/O信號,以達到與機器人周邊設(shè)備進行通信的目的。(1)Set數(shù)字信號置位指令Set數(shù)字信號置位指令用于將數(shù)字輸出(DigitalOutput )置位為 “1?!盨etdo1;參數(shù)含義do1數(shù)字輸出信號(2) Reset數(shù)字信號復(fù)位指 令Reset數(shù)字信號復(fù)位指令用于將數(shù)字輸出(DigitalOutput

12、 )置位為“ 0”Resetdo1;*提示:如果在 Set、Reset指令前有運動指令 MoveJ、MoveL、MoveC、MoveAbsJ的轉(zhuǎn)彎區(qū)數(shù)據(jù),必須 使用fine才可以準確地輸出I/O信號狀態(tài)的變化。(3) WaitDI數(shù)字輸入信號判斷指令WaitDI數(shù)字輸入信號判斷指令用于判斷數(shù)字輸入信號的值是否與目標一致。WaitDIdi1,1;參數(shù)含義di1數(shù)字輸入信號1判斷的目標值在例子中,程序執(zhí)行此指令時,等待 di1的值為1。如果di1為1,則程序繼續(xù)往下執(zhí)行;如果到達最 大等待時間300s (此時間可根據(jù)實際進行設(shè)定)以后, di1的值還不為1,則機器人報警或進入出錯處理程 序。(4)

13、 WaitDO數(shù)字輸出信號判斷指令WaitDO數(shù)字輸出信號判斷指令用于判斷數(shù)字輸出信號的值是否與目標一致。WaitDOdo1,1;參數(shù)以及說明同 WaitDi指令。(5) WaitUntil信號判斷指令Wait Un til信號判斷指令可用于布爾量、數(shù)字量和I/O信號值的判斷,如果條件到達指令中的設(shè)定值,程序繼續(xù)往下執(zhí)行,否則就一直等待,除非設(shè)定了最大等待時間。WaitU ntildi1=1;WaitU ntildo1=0;WaitU ntilflag=TRUE;WaitU ntil nu m1=4;參數(shù)含義flag1布爾量num1數(shù)字量RAPID中重要的組成部分。4.條件邏輯判斷指令條件邏輯

14、判斷指令用于對條件進行判斷后,執(zhí)行相應(yīng)的操作,是(1) CompactIF緊湊型條件判斷指 令CompactIF緊湊型條件判斷指令用于當一個條件滿足了以后,就執(zhí)行一句指令。IFflag仁TRUESetdo1;如果flag1的狀態(tài)為TRUE則do1被置位為1。(2) IF條件判斷指令I(lǐng)F條件判斷指令,就是根據(jù)不同的條件去執(zhí)行不同的指令。 指令解析:IFnu m1=1THENflag:=TRUE;ELSEI Fnu m1=2THENflag1:=FALSE;ELSESetdol;ENDIF如果num1為1,貝U flag1會賦值為TRUE如果num1為2,則flag1會賦值為FALSE除了以上兩種

15、條 件之外,則執(zhí)行 do1置位為1.*條件判定的條件數(shù)量可以根據(jù)實際情況進行增加與減少。(3) FOR重復(fù)執(zhí)行判斷指令FOR重復(fù)執(zhí)行判斷指令,是用于一個或多個指令需要重復(fù)執(zhí)行次數(shù)的情況FORiFROM1TO10DORouti ne1;ENDFOR例行程序Routine1,重復(fù)執(zhí)行10次。(4) WHILE條件判斷指令WHILE條件判斷指令,用于在給定條件滿足的情況下,一直重復(fù)執(zhí)行對應(yīng)的指令。WHILE num1> nu m2DOnu m1:=nu m1-1;ENDWHILE當num1>num2的條件滿足的情況下,就一直執(zhí)行num1:=num1-1的操作。5.其他的常用指令(1) P

16、rocCal 1調(diào)用例行程序指 令通過使用此指令在指定的位置調(diào)用例行程序。1.選中“<SMT:為要調(diào)用的例行 程序的位置。2.在添加指令的列表中,選擇“ ProcCa指令。3.選中要調(diào)用的例行程序Routi ne1,然后單擊確定”4.調(diào)用例行程序指令執(zhí)行的結(jié) 果。(2) RETURN返回例行程序指令RETURN返回例行程序指令,當此指令被執(zhí)行時,則馬上結(jié)束本例行程序的執(zhí)行,返回程序指針到調(diào)用 此例行程序的位置。當di1=1時,執(zhí)行RETURN指令,程序指針返回到調(diào)用Routine2的位置并繼續(xù)向下執(zhí)行 Setdo1這個指令。(3) WaitTime時間等待指令WaitTime時間等待指令

17、,用于程序在等待一個指定的時間以后,再繼續(xù)向下執(zhí)行WaitTime4;Resetdo1;等待4s以后,程序向下執(zhí)行 Resetdo1指令。6.4.2常用RAPID指令的使用方法TP ReadNum TP ReadFK TP Write 禾口1. 用戶輸入兩個數(shù)字,按鈕選擇一個運算符,屏幕輸出運算結(jié)果(使用IF指令)2. 用戶輸入一個 0-100 的分數(shù)值,程序輸出 A(90-100)、B(80-89)、C(60-79)、D (0-60)四個評級。(IFELSEIF 語句的使用)3. 使用 WHILE或FOR循環(huán),計算1+2+3+99+100的結(jié)果。4. RAPID編程中的功能(FUNCTION

18、)的使用介紹使用自定義功能,自己實現(xiàn)Ofs功能和Abs功能(需掌握帶參數(shù)的功能、功能返回值以及復(fù)雜數(shù)據(jù)的賦值方法,隨堂聯(lián)系Practise10-1 ,需要教師指導(dǎo))。功能Abs:功能Offs:5. 掌握中斷程序的使用(1) 使用di信號觸發(fā)中斷程序,每次觸發(fā),均使系統(tǒng)用戶變量reg1進行+1的操作,當reg1>10時,將reg1 重置為1。(2) 使用ITimer指令進行定時間隔為 1s的中斷觸發(fā),每次觸發(fā)使系統(tǒng)用戶變量reg2進行+1的操作,當 reg2>10時,將reg2重置為1。6.4.3建立一個可運行的基本RAPID程序在之前的章節(jié)中,已大概了解RAP ID程序編程的相關(guān)操

19、作及基本的指令?,F(xiàn)在就通過一個實例來體驗一下ABB機器人便捷的程序編輯。編制一個程序的基本流程是這樣的:1) 確定需要多少個程序模塊。多少個程序模塊是由應(yīng)用的復(fù)雜性所決定的,比如可以將位置計算、程 序數(shù)據(jù)、邏輯控制等分配到不同的程序模塊,方便管理。2) 確定各個程序模塊中要建立的例行程序,不同的功能就放到不同的程序模塊中去,如夾具打開、夾 具關(guān)閉這樣的功能就可以分別建立成例行程序,方便調(diào)用與管理。1.建立RAPID程序?qū)嵗?事前準備建立board10和di1)1. 確定工作要求: 機器人空閑時,在 位置點pHome等 待。如果外部信號 di1輸入為1時,機 器人沿著物體的一 條邊從p10到p2

20、0 走一條直線,結(jié)束 以后回到pHome 點。2. ABB菜單中,選 擇“程序編輯器”。3. 單擊“取消”(如果系統(tǒng)中不存在程 序的話會出現(xiàn)此對 話框)。4.打開文件”菜單, 選擇新建模塊”。Q此應(yīng)用比較簡單,所以只需建 一個程序模塊就足 夠了。5.單擊是”進行確 定。6.定義程序模塊的 名稱后,單擊“確 定 。Q程序模塊的名稱可以根據(jù)需要 自己定義,以方便 管理。7.選中 “ Modulel,” 單擊“顯示模塊”。8.單擊例行程序”。9.打開“文件”,單 擊“新建例行程 序”。10.首先建立一個 主程序main,然后 單擊“確定”,根據(jù) 第9、10步驟建立 相關(guān)的例行程序。rHome用于機器

21、人 回等待位。rini tAll 初始化。rMoveRoutine 存放 直線運動路徑。11. 選擇 “ rHome;' 然后單擊“顯示例 行程序”。12. 到芋動操縱”菜 單內(nèi),確認已選中 要使用的工具坐標與工件坐標。13. 回到程序編輯 器,單擊“添加指 令”,打開指令列 表。選中“ <SMT>” 為插入指令的位I置,在指令列表中 選擇“ MoveJ ”。14. 雙擊“ *,”進入指 令參數(shù)修改畫面。"15.通過新建或選 擇對應(yīng)的參數(shù)數(shù) 據(jù),設(shè)定為圖中所 示的數(shù)值。16. 選擇合適的動 作模式,使用搖桿 將機器人運動到圖 中的位置,作為機 器人的空閑等待 點。

22、17. 選中“pHome目 標點,單擊“修改 位置”,將機器人的 當前位置數(shù)據(jù)記錄 下來。18. 單擊修改”進行 確認。19. 單擊“例行程 序”標簽。20. 選中 “ rinitAII例 行程序。21. 在此例行程序 中,加入在程序正 式運行前,需要作 初始化的內(nèi)容,如 速度限定、夾具復(fù) 位等。具體根據(jù)需 要添加。在此例行 程序rInitAll中只增 加了兩條速度控制 的指令(在添加指 令列表的Setting類 別中)和調(diào)用了回 等待位的例行程序rHome。22.單擊“例行程 序”標簽。23. 選擇“ rMoveRoutine ”例行程序,然后單 擊“顯示例行程 序”。24. 添加 “ Mo

23、veJ指令,并將參數(shù)設(shè)定 為圖中所示。25. 選擇合適的動 作模式,使用搖桿 將機器人運動到圖 中的位置,作為機 器人的p10點。26. 選中“p10”點, 單擊“修改位置”, 將機器人的當前位 置記錄到p10中 去。27. 添加 “ MoveL指 令,并將參數(shù)設(shè)置 為如圖所示。28. 選擇合適的動 作模式,使用搖桿 將機器人運動到圖 中的位置,作為機 器人的p20點。29. 選中“p20”點, 單擊“修改位置”, 將機器人的當前位I置記錄到p20中 去。單擊“例行程 序”標簽。30. 選中“ main主 程序,進行程序執(zhí) 行主體架構(gòu)的設(shè) 定。31. 在開始位置調(diào) 用初始化例行程 序。32.

24、添加“ WHILE' 指令,并將條件設(shè)定為“ TRUE。33. 添加“If指令到 圖中所示位置。Q使用WHILE指令構(gòu)建一個死循 環(huán)的目的在于將初 始化程序與正常運 行的路徑程序隔離 開。初始化程序只 在一開始時執(zhí)行一 次,然后就根據(jù)條 件循環(huán)執(zhí)行路徑運 動。34. 選中 “<EXP, 然后打開“編輯” 菜單,選擇“ ABG ”。35.使用軟鍵盤輸 入“ di=1 ”,然后單 擊“確定”。Q此處不能直 接判斷數(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過負荷 而設(shè)定的。2. 對RAPID程序進行調(diào)試一一PHome在完成了程序的編輯以后,接下來的工作就是對這個程序進行調(diào)試,調(diào)試的目的有以下兩個:1)檢查程序的位置點是否正確。2)檢查程序的邏輯控制是否有不完善的地方。1. 打開調(diào)試” 菜單,選擇“ P移至例行 程序”。2. 選中“ rHome ”例 行程序,然

26、后 單擊“確定”。3. PP是程序 指針(黃色小 箭頭)的簡 稱。程序指針 永遠指向?qū)?要執(zhí)行的指 令。所以圖中 的指令將會 是被執(zhí)行的 指令。4. 左手按下使 能鍵,進入“電動機開 啟”狀態(tài)。 按以下“單步37. 打開調(diào)試”菜 單。單擊檢查程序”, 對程序的語法進行 檢查。38. 單擊確定”完 成。如果有錯,系 統(tǒng)會提示出錯的具 體位置與建議操 作。3.對RAP ID程序進行調(diào)試rMoveRouti ne向前”按鍵, 并小心觀察 機器人的移 動。Q在按下程序停止”鍵 后,才可以松 開使能鍵。5. 在指令左側(cè) 出現(xiàn)一個小 機器人,說明 機器人已到 達pHome這 個等待位置。6. 機器人回到 了 pHome 這 個等待位置。1. 打開調(diào)試”菜 單,選擇“P移至 例行程序”,選中“ rMoveRouti ne ”例行程序,然后 單擊“確定”。2. 單步進行調(diào)試 運動指令的位置 是否合適。3. 機器人TCP點 從p10到p20進 行線性運動。4. 選中要調(diào)試的指令后

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論