ABB-robotstudio使用詳細(xì)步驟.docx_第1頁
ABB-robotstudio使用詳細(xì)步驟.docx_第2頁
ABB-robotstudio使用詳細(xì)步驟.docx_第3頁
ABB-robotstudio使用詳細(xì)步驟.docx_第4頁
ABB-robotstudio使用詳細(xì)步驟.docx_第5頁
免費預(yù)覽已結(jié)束,剩余23頁可下載查看

下載本文檔

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

文檔簡介

搬運碼垛工作站建模1、創(chuàng)建機器人系統(tǒng)2、創(chuàng)建動態(tài)輸送鏈3、創(chuàng)建動態(tài)夾具4、工作站邏輯連接5、添加IO(設(shè)置好需重啟)6、示教目標(biāo)點(同步到RAPID)7、RAPID編程一、創(chuàng)建機器人系統(tǒng)1、創(chuàng)建空工作站2、導(dǎo)入IRB 260機器人模型 3、從布局創(chuàng)建機器人系統(tǒng),勾選Chinese和709-1網(wǎng)絡(luò)二、創(chuàng)建動態(tài)輸送鏈1、添加輸送鏈并修改位置2、創(chuàng)建600*400*200的物料 并修改位置3、添加一個smart組件4、添加source組件5、設(shè)置物料本地原點 6、添加LINEMOVER和QUEUE組件7設(shè)置LINEMOVER屬性8、添加面?zhèn)鞲衅鹘M件9、設(shè)置輸送鏈不能被傳感器檢測10、設(shè)置SC_輸送鏈的屬性連接11、設(shè)置信號連接12、添加信號處理組件,用于檢測傳感器下降沿13、傳感器下降沿觸發(fā)source進(jìn)行copy第四行有誤14、傳感器與SC輸送鏈的輸出聯(lián)系15、添加仿真開始結(jié)束組件,用于激活傳感器16、添加置位復(fù)位組件,對仿真開始結(jié)束信號進(jìn)行保持17、18、進(jìn)行仿真設(shè)定 選擇SC輸送鏈 進(jìn)行驗證三、創(chuàng)建動態(tài)夾具1、先制作一個吸盤模型,然后設(shè)置成工具,并安裝到機器人法拉盤2、添加SMART組件3、添加ATTACHER和DETACHER組件4、設(shè)置屬性 5、添加一個線傳感器組件6、線傳感器設(shè)置屬性7、設(shè)置吸盤工具不能被傳感器檢測8、把線傳感器安裝到吸盤(不更新位置,保持當(dāng)前位置)9、設(shè)置屬性連接10、添加信號及連接11、添加信號處理取非和鎖定組件 12、繼續(xù)信號連接13、添加一個示教物料14、應(yīng)用手動線性驗證SC_工具四、工作站邏輯連接五、參考代碼MODULE MainMoudlePERS tooldata tGrip:=TRUE,0,0,200,1,0,0,0,25,0,0.00109327,116.889,1,0,0,0,0,0,0;!吸盤工具數(shù)據(jù) PERS loaddata LoadEmpty:=0.01,0,0,1,1,0,0,0,0,0,0; PERS loaddata LoadFull:=40,0,0,50,1,0,0,0,0,0,0;!有效載荷數(shù)據(jù)PERS robtarget pHome:=1620.00,-0.00,1331.59,1.27986E-06,-0.707107,-0.707107,1.27986E-06,0,0,1,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;!基準(zhǔn)點 PERS robtarget pActualPos:=1620,-1.87531E-14,1331.59,1.27986E-06,-0.707107,-0.707107,1.27986E-06,0,0,1,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;!實際點PERS robtarget pPick1:=1488.007792464,376.826660408,476.964684195,0,0.707106307,0.707107256,0,0,0,1,0,9E9,9E9,9E9,9E9,9E9,9E9;!1路拾取目標(biāo)點PERS robtarget pPlace1:=-292.446,1263.27,55.4492,0,0.707107,0.707106,0,1,0,2,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;!1路放置基準(zhǔn)點PERS robtarget pBase1_0:=-292.446294945,1263.272085268,55.449220723,0,0.707107387,0.707106176,0,1,0,2,0,9E9,9E9,9E9,9E9,9E9,9E9;!1路放置0度姿態(tài) PERS robtarget pBase1_90:=-391.976797324,1362.469634994,55.449159414,0,1,-0.000030621,0,1,0,3,0,9E9,9E9,9E9,9E9,9E9,9E9;!1路放置90度姿態(tài) PERS robtarget pPick2:=1488.013130905,-358.406014736,476.965039287,0,0.707106307,0.707107256,0,-1,0,0,0,9E9,9E9,9E9,9E9,9E9,9E9; PERS robtarget pPlace2:=-317.378,-1857.99,55.449,0,0.707108,0.707106,0,-2,0,-1,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09; PERS robtarget pBase2_0:=-317.378137718,-1857.993871961,55.448967354,0,0.707107745,0.707105817,0,-2,0,-1,0,9E9,9E9,9E9,9E9,9E9,9E9; PERS robtarget pBase2_90:=-407.525988074,-1755.902485322,55.449282402,0,1,-0.000031217,0,-2,0,0,0,9E9,9E9,9E9,9E9,9E9,9E9; PERS speeddata MinSpeed:=1000,300,5000,1000; PERS speeddata MidSpeed:=2500,400,5000,1000; PERS speeddata MaxSpeed:=4000,500,5000,1000;!搬運速度定義 PERS bool bPalletFull1:=FALSE; PERS bool bPalletFull2:=FALSE;!邏輯布爾量,拾取后為UE,放置后為FALSE PERS num nCount1:=1; PERS num nCount2:=1;!輸送鏈計數(shù) PROC Main() rInitAll; WHILE TRUE DO IF diBoxInPos1=1 AND diPalletInPos1=1 AND bPalletFull1=FALSE THEN rPick1; rPlace1; ENDIF IF diBoxInPos2=1 AND diPalletInPos2=1 AND bPalletFull2=FALSE THEN rPick2; rPlace2; ENDIF WaitTime 0.1; ENDWHILE ENDPROC PROC rInitAll() Reset doGrip; pActualPos:=CRobT(tool:=tGrip); pActualPos.trans.z:=pHome.trans.z; MoveL pActualPos,MinSpeed,fine,tGripWObj:=wobj0; MoveJ pHome,MidSpeed,fine,tGripWObj:=wobj0; bPalletFull1:=FALSE; nCount1:=1; bPalletFull2:=FALSE; nCount2:=1; ENDPROC PROC rPick1() MoveJ Offs(pPick1,0,0,400),MaxSpeed,z50,tGripWObj:=wobj0; MoveL pPick1,MinSpeed,fine,tGripWObj:=wobj0; Set doGrip; WaitTime 0.3; GripLoad LoadFull; MoveL Offs(pPick1,0,0,400),MinSpeed,z50,tGripWObj:=wobj0; ENDPROC PROC rPick2() MoveJ Offs(pPick2,0,0,400),MaxSpeed,z50,tGripWObj:=wobj0; MoveL pPick2,MinSpeed,fine,tGripWObj:=wobj0; Set doGrip; WaitTime 0.3; GripLoad LoadFull; MoveL Offs(pPick2,0,0,400),MinSpeed,z50,tGripWObj:=wobj0; ENDPROC PROC rPlace1() rPosition1; MoveJ Offs(pPlace1,0,0,400),MidSpeed,z50,tGripWObj:=wobj0; MoveL pPlace1,MinSpeed,fine,tGripWObj:=wobj0; Reset doGrip; WaitTime 0.3; GripLoad LoadEmpty; MoveL Offs(pPlace1,0,0,400),MidSpeed,z50,tGripWObj:=wobj0; MoveJ Offs(pPick1,0,0,400),MaxSpeed,z50,tGripWObj:=wobj0; nCount1:=nCount1+1; IF nCount120 THEN bPalletFull1:=TRUE; ENDIF ENDPROC PROC rPlace2() rPosition2; MoveJ Offs(pPlace2,0,0,400),MaxSpeed,z50,tGripWObj:=wobj0; MoveL pPlace2,MinSpeed,fine,tGripWObj:=wobj0; Reset doGrip; WaitTime 0.3; GripLoad LoadEmpty; MoveL Offs(pPlace2,0,0,400),MidSpeed,z50,tGripWObj:=wobj0; MoveJ Offs(pPick2,0,0,400),MaxSpeed,z50,tGripWObj:=wobj0; nCount2:=nCount2+1; IF nCount220 THEN bPalletFull2:=TRUE; ENDIF ENDPROC PROC rPosition1() TEST nCount1 CASE 1: pPlace1:=Offs(pBase1_0,0,0,0); CASE 2: pPlace1:=Offs(pBase1_0,600+10,0,0); CASE 3: pPlace1:=Offs(pBase1_90,0,400+10,0); CASE 4: pPlace1:=Offs(pBase1_90,400+10,400+10,0); CASE 5: pPlace1:=Offs(pBase1_90,800+20,400+10,0); CASE 6: pPlace1:=Offs(pBase1_0,0,600+10,200); CASE 7: pPlace1:=Offs(pBase1_0,600+10,600+10,200); CASE 8: pPlace1:=Offs(pBase1_90,0,0,200); CASE 9: pPlace1:=Offs(pBase1_90,400+10,0,200); CASE 10: pPlace1:=Offs(pBase1_90,800+20,0,200); CASE 11: pPlace1:=Offs(pBase1_0,0,0,400); CASE 12: pPlace1:=Offs(pBase1_0,600+10,0,400); CASE 13: pPlace1:=Offs(pBase1_90,0,400+10,400); CASE 14: pPlace1:=Offs(pBase1_90,400+10,400+10,400); CASE 15: pPlace1:=Offs(pBase1_90,800+20,400+10,400); CASE 16: pPlace1:=Offs(pBase1_0,0,600+10,600); CASE 17: pPlace1:=Offs(pBase1_0,600+10,600+10,600); CASE 18: pPlace1:=Offs(pBase1_90,0,0,600); CASE 19: pPlace1:=Offs(pBase1_90,400+10,0,600); CASE 20: pPlace1:=Offs(pBase1_90,800+20,0,600); DEFAULT: TPErase; TPWrite the Counter of line 1 is error,please check it!; Stop; ENDTEST ENDPROC PROC rPosition2() TEST nCount2 CASE 1: pPlace2:=Offs(pBase2_0,0,0,0); CASE 2: pPlace2:=Offs(pBase2_0,600+10,0,0); CASE 3: pPlace2:=Offs(pBase2_90,0,400+10,0); CASE 4: pPlace2:=Offs(pBase2_90,400+10,400+10,0); CASE 5: pPlace2:=Offs(pBase2_90,800+20,400+10,0); CASE 6: pPlace2:=Offs(pBase2_0,0,600+10,200); CASE 7: pPlace2:=Offs(pBase2_0,600+10,600+10,200); CASE 8: pPlace2:=Offs(pBase2_90,0,0,200); CASE 9: pPlace2:=Offs(pBase2_90,400+10,0,200); CASE 10: pPlace2:=Offs(pBase2_90,800+20,0,200); CASE 11: pPlace2:=Offs(pBase2_0,0,0,400); CASE 12: pPlace2:=Offs(pBase2_0,600+10,0,400); CASE 13: pPlace2:=Offs(pBase2_90,0,400+10,400); CASE 14: pPlace2:=Offs(pBase2_90,400+10,400+10,400); CASE 15: pPlace2:=Offs(pBase2_90,800+20,400+10,400); CASE 16: pPlace2:=Offs(

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論