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

下載本文檔

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

文檔簡介

1、?ABB機器人編程1程序解析:1、此程序是典型的ABB機器人官方編程思路與方法,分為主程序,初始化例行程序和軌跡程序。2、思路清晰,結(jié)構(gòu)編排明確,方便使用者閱讀。%?VERSION:1?LANGUAGE:ENGLISH%MODULEMainModule?PERStooldatatGripper:=TRUE,0,0,100,1,0,0,0,25,0,0,10,1,0,0,0,0,0,0;?PERSwobjdataWobBox:=FALSE,TRUE,"",1,1,1,0,0,0,0,0,0,0,1,0,0,0;?CONSTrobtargetpPointA:=1,1,1,1,1

2、,1,1,-1,0,0,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;?CONSTrobtargetpPointB:=1,1,1,1,1,1,1,-1,0,0,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;?CONSTrobtargetPHome:=1,1,1,1,1,1,1,-1,0,0,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;?PERSloaddataload_Empty:=1,0,0,0,1,0,0,0,0,0,0;?PERSloaddataload_Box:=20,0,0,0,1,0,0,0

3、,0,0,0;?以上是固定的數(shù)據(jù)存放位置。?PROCmain()?i程序,是一個程序的開始?rInitial;?Accset60,60;?此部分其實可放入到rInitial中去,這樣管理起來更方便?velset100,100;?此部分其實可放入到rInitial中去,這樣管理起來更方便?WHILETRUEDO?rBox;?5此指令后插入0.3秒的等待指令,防止CPU過負(fù)荷的情況出現(xiàn)。?ENDWHILE?ENDPROC?PROCrInitial()?SetDoDOGrip,0;?WaitDIDIGripReleased,1;?MoveJpHome,v300,z50,tGripper;?ENDPR

4、OC?PROCrBox()?MoveJoffs(pPointA,0,200,500),v1500,z100,tGripper;?MoveJoffs(pPointA,0,200,0),v1500,z50,tGripper;?A:?TPErase;?IFDIAllowPick=1?THEN?WaitTime0;?ELSEIFDIAllowPick=0THEN?TPWrite"SignalofAllowPicknoready,PleaseCheck!"?GOTOA;?ENDIF?MoveLpPointA,v800,fine,tGripper;?SetDoDOGrip,1;?Wai

5、tDIDIGripPicked,1;?Griploadload_Box;?一句很重要的,設(shè)定機器人的實際負(fù)荷情況,有利于機器人伺服控制的優(yōu)化?MoveJoffs(pPointA,0,0,500),v1000,z100,tGripper;?MoveJoffs(pPointB,0,0,200),v1000,z50,tGripperWObj:=WobBox;?MoveLpPointB,v1000,fine,tGripperWObj:=WobBox;?SetDoDOGrip,0;?WaitDIDIGripReleased,1;?Griploadload_Empty;?MoveLoffs(pPointB

6、,0,200,0),v800,z50,tGripperWObj:=WobBox;?MoveJoffs(pPointB,0,200,500),v1500,z100,tGripperWObj:=WobBox;?ENDPROCENDMODULEABB機器人編程02程序解析:1、此程序編寫的思路是完全按照比賽題目中的要求的進(jìn)行,就是按步就班式的2、思路清晰,結(jié)構(gòu)編排明確,方便使用者閱讀。3、有相應(yīng)的寫屏信息提示,方便操作員對機器人運行狀態(tài)的了解。4、有一點小問題,就是缺少初始化的部分。MODULEMainModule?CONSTrobtargetPHOME:=1149.87,13.55,451.35,

7、0.729477,0.0748599,0.679603,0.0199765,0,0,0,1,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;?CONSTrobtargetPA:=250.14,-652.34,650.90,0.429093,0.468557,-0.496153,0.591749,-1,0,-2,1,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;?CONSTrobtargetP20:=250.14,-652.35,828.56,0.429091,0.468538,-0.496163,0.591756,-1,0,-3,1,9E+09

8、,9E+09,9E+09,9E+09,9E+09,9E+09;?CONSTrobtargetP30:=695.24,18.14,826.55,0.0377066,-0.677588,0.0913591,-0.728771,0,0,-2,1,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;?CONSTrobtargetP40:=1227.51,18.14,826.55,0.0377092,-0.677583,0.0913642,-0.728774,0,0,-3,1,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;?CONSTrobtargetPB:

9、=1227.52,18.15,424.02,0.0377092,-0.677591,0.0913577,-0.728767,0,0,-2,1,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;?PROCmain()?程序里,過于臃腫,將具體功能盡量細(xì)分到例行程序?TPErase;?MoveJPHOME,v1000,z50,tool0;?OpenGripper;?WaitTime5;?WHILEtrueDO?IFPLC=1THEN?TPErase;?TPWrite"Warning!Begintomovethenewstaff."?WaitTime1;?C

10、lkResetclock1;?ClkStartclock1;?MovFromAtoB;?ClkStopclock1;?reg1:=ClkRead(clock1);?TPErase;?TPWrite"Goodshandlinginplace,ittake(timeinsecond):"Num:=reg1;?il行時間的顯示?WaitTime5;?ELSETPErase;?TPWrite"Waitingfornewgoods."?!行狀態(tài)的提醒?WaitDIPLC,1;?ENDIF?ENDWHILE?ENDPROC?PROCOpenGripper()?對夾具

11、的控制做在一個例行程序里,方便管理?SetG0;?ENDPROC?PROCCloseGripper()?將對夾具的控制做在一個例行程序里,方便管理?SetG1;?ResetG0;?ENDPROC?PROCMovFromAtoB()?MoveJP30,v1000,z50,tool0;?MoveJP20,v1000,z50,tool0;?MoveLPA,v50,fine,tool0;?WaitTime1;?CloseGripper;?WaitTime1;?MoveJP20,v50,z50,tool0;?MoveJP30,v1000,z50,tool0;?MoveJP40,v1000,z50,too

12、l0;?MoveLPB,v50,fine,tool0;?WaitTime1;?OpenGripper;?WaitTime1;?MoveLP40,v50,z50,tool0;?MoveJP30,v1000,z50,tool0;?MoveJPHOME,v1000,z50,tool0;?ENDPROCENDMODULEABB機器人編程03程序解析:1、此程序是典型的ABB機器人官方編程思路與方法,分為主程序,初始化例行程序和軌跡程序。2、思路清晰,結(jié)構(gòu)編排明確,方便使用者閱讀。3、但有點要注意的初始化例行程序只在開始時,執(zhí)行一次,正常運行時,不再執(zhí)行。但此程序是每個循環(huán)都會進(jìn)行一次初始化,是有點問題

13、的。PROCmain()?InitAll;?ft初始化程序應(yīng)與循環(huán)執(zhí)行的程序隔離開,使用WHILE指令?Circle;?WaitTime0.5;?PROCInitAll()?ResetDo_fixOn;?WaitDIOn?ConfJOn;?ConfLOn;?VelSet80,1000;?AccSet70,70;?MoveJPHome,v150,fine,Tool0WObj:=Wobj2;?RETURN;?ENDPROC?PROCCircle()?MoveJHome,v60,z0,Tool0WObj:=Wobj2;?waitDI;?work;?resetwaitDI?MoveJHome,v150

14、,fine,Tool0WObj:=Wobj2;?ENDPROC?PROCfixopen()?SetDo_fixopen;?ENDPROC?PROCfixclose()?ResetDo_fixclose;?ENDPROC?PROCWork()?MOVEJA0?v150,z10,Tool0WObj:=Wobj2;?fixopen;?waittime2;?MOVELA1?v30,fine,Tool0WObj:=Wobj2;?fixclose;?waittime2;?MOVEJB0?v150,z10,Tool0WObj:=Wobj2;?MOVEjB1?v30,fine,Tool0WObj:=Wobj2

15、;?fixopen;?waittime2;?MoveJPHome,v150,fine,Tool0WObj:=Wobj2;?ENDPROCABB機器人編程04程序解析:1、此程序是典型的ABB機器人官方編程思路與方法。2、思路清晰,結(jié)構(gòu)編排明確,方便使用者閱讀。3、此程序有一個亮點,就是有一個回等待點的例行程序rMoveHome,這個好處在于可以在手動狀態(tài)下,就能方便的回到機器人的等待位置。4、有足夠的寫屏信息,很好地提示運行狀態(tài)。PROCMain()?rInitial;?rMoveHome;?WhileTrueDo?Velset100,3000;?AccSet70,70;?rpickworkp

16、iece;?rplaceworkpiece;?endwhile?procrpickworkpiece;?ifworkpiece=false?MoveJpickup,v2000,z5,too10;?A:?TPErase;?IFDI10_pickup=1?THEN?(picku的PLC發(fā)來拾取信號)?WaitTime0;?ELSEIFDI10_pickup=0THEN?TPWrite"PLC-pickupsignalnoready."?GOTOA;?ENDIF?MoveJOffs(pickup,0,0,300),v500,z200,too10;?SetDoDO10_pickup

17、1,1;?waittime?1;?workpiece=ture?endif?endproc?procrplaceworkpiece;?ifworkpiece=ture?MoveJplacemiddle,v2000,z5,too10;?MoveJplaceworkpiece,v2000,z5,too10;?MoveJOffs(placeworkpiece,0,0,300),v500,z200,too10;?SetDoDO10_pickup1,0;?A:?TPErase;?IFDI10_pickon=1?THEN?(picko的PLC檢測已放好信號)?WaitTime0;?ELSEIFDI10_p

18、ickup=0THEN?TPWrite"PLC-pickONsignalnoready."?GOTOA;?workpiece=false?ENDIF?endproc?PROCrInitial()?TpReadFknInput,"Isthepack_machineready","","","","No","Yes"(機器是否準(zhǔn)備好)?IfnInput=4Then?bReady:=False;?stop;?ElseIFnInput=5then?bReady:=

19、True;?ENDIF?bFirstPickBoard:=True;?TpReadFknInput,"Doyouwanttoplaceworkpiece","","","","No","Yes"(機器人抓頭是否工件)?IfnInput=4Then?workpiece:=False;?ElseIFnInput=5then?workpiece:=True;?ENDPROC?PROCrMoveHome()?定義原點)?t匕例行程序可以方便地回到等待位置?MoveJpHome,v50

20、0,z50,tGripper;?ENDPROCABB機器人編程05程序解析:1、此程序是典型的ABB機器人官方編程思路與方法。2、思路清晰,結(jié)構(gòu)編排明確,方便使用者閱讀。3、此程序共分了3個程序模塊,清楚地將不同用途的語句分開,方便閱讀,這種編程在進(jìn)行一些復(fù)雜系統(tǒng)的編程是非常有用的。4、里面編程中運用了很多編程技巧,節(jié)省了機器人示教的時間,如使用OFFS功能。5、在寫屏信息提示方面也非常豐富。6、此程序非常適合大家的參考與提高。7、有一個小問題,缺少搬運重要的負(fù)荷重量設(shè)定數(shù)據(jù)。MODULEData?此模塊專門用于存放程序數(shù)據(jù)的?!target?CONSTjointtargethome_pos:

21、=0,0,0,0,90,0,9E9,9E9,9E9,9E9,9E9,9E9;?CONSTjointtargetdelta_pos:=2,2,2,2,2,2,9E9,9E9,9E9,9E9,9E9,9E9;?CONSTjointtargetjhome:=0,0,0,0,90,0,9E9,9E9,9E9,9E9,9E9,9E9;?VARwzstationaryhome;?VARshapedatajoint_space;?VARnumnu_inhome;?VARboolflag1:=FALSE;ENDMODULE%?VERSION:1?LANGUAGE:ENGLISH%MODULECalibData

22、?此模塊用于存放需要設(shè)定的程序數(shù)據(jù)?TASKPERStooldataTooldata_1:=TRUE,0,0,1000,1,0,0,0,1,0,0,1,1,0,0,0,0,0,0;?TASKPERSwobjdataWorkobject_1:=FALSE,TRUE,"",0,0,0,1,0,0,0,0,0,0,1,0,0,0;?ENDMODULEMODULEMainModulePROCmain()CheckHome;CheckGriper;Production;ENDPROCPROCCheckHome()?IFDOutput(do_inhome)=1THEN?nu_inhom

23、e:=1;?ELSE?nu_inhome:=0;?ENDIF?TESTnu_inhome?CASE0:?GoHome;?CASE1:?RETURN;?DEFAULT:?TPWrite"error"?Stop;?ENDTESTENDPROCPROCCheckGriper()?IFdi_griperclosed=1THEN?ControlGriper;?ELSE?RETURN;?ENDIFENDPROCPROCProduction()?WHILETRUEDO?WaitUntildi_plc=1;?MoveLOffs(roFetch,0,0,500),v1000,z100,Too

24、ldata_1WObj:=Workobject_1;?利用OFFS此功能,減少示教?MoveLroFetch,v1000,fine,Tooldata_1WObj:=Workobject_1;?CloseGriper;?MoveLOffs(roFetch,0,0,500),v1000,z100,Tooldata_1WObj:=Workobject_1;?MoveLOffs(roDeFetch,0,0,500),v1000,z100,Tooldata_1WObj:=Workobject_1;?MoveLroDeFetch,v1000,fine,Tooldata_1WObj:=Workobject_

25、1;?OpenGriper;?MoveLOffs(roDeFetch,0,0,500),v1000,z100,Tooldata_1WObj:=Workobject_1;?ENDWHILEENDPROCPROCCloseGriper()?flag1:=FALSE;?Resetdo_opengriper;?Setdo_closegriper;?WaitDIdi_griperclosed,1MaxTime:=3TimeFlag:=flag1;?WHILEflag1=TRUEDO?TPWrite"CANN'TCLOSEGRIPER"?StopNoRegain;?ENDWHI

26、LEENDPROCPROCOpenGriper()?flag1:=FALSE;?Setdo_opengriper;?Resetdo_closegriper;?WaitDIdi_griperopend,1MaxTime:=3TimeFlag:=flag1;?WHILEflag1=TRUEDO?TPWrite"CANN'TOPENGRIPER"?StopNoRegain;?ENDWHILEENDPROCPROCDEF_Zone()?WL器人是否在等待位進(jìn)行檢測WZHomeJointDefInside,joint_space,home_pos,delta_pos;WZDOSetStat,homeInside,joint_space,do_inhome,1;!RETURN;ENDPROCPROCGoHome()?VARbtnresanswer;?VARstring

溫馨提示

  • 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

提交評論