ABB培訓(xùn) 昆山萊捷程序注解_第1頁
ABB培訓(xùn) 昆山萊捷程序注解_第2頁
ABB培訓(xùn) 昆山萊捷程序注解_第3頁
ABB培訓(xùn) 昆山萊捷程序注解_第4頁
ABB培訓(xùn) 昆山萊捷程序注解_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

昆山萊捷程序注解2014.6.25ABB機器人相關(guān)設(shè)置一,機器人語言設(shè)置,二,機器人IO設(shè)置三,總線設(shè)置四,系統(tǒng)輸入/輸出五,交叉連接六,安全區(qū)域七,上電啟動程序連接八,程序解析一,機器人語言設(shè)置一,取件程序DownloadDCMOpen_Grip_Mt;-------打開夾手

;

MoveJpWaitDCM,v2000,z100,tGriper;-------機器人移至待機位置(pWaitDCM);MoveJpInDCM_1,v2000,z100,tGriper;------進入模具點一;MoveJpInDCM_2,v2000,z100,tGriper;-------進入模具點二;MoveLpMiddle_Die,v2000,z1,tGriper;-------進入模具中心點;WaituntilDi44ExtAweGrip=1\MaxTime:=15\TimeFlag:=flag2;---------等待可抓取信號(Di44ExtAweGrip)

IFNOTflag2THEN----------如果等待可抓取信號

未超時則繼續(xù)下一條指令;

MoveLOffs(pGrPart10,150,0,0),v500,fine,tGriper;------------直線移至大地坐標(biāo)下“X”軸據(jù)抓取點150mm的位置;MoveLpGrPart10,v500,fine,tGriper;------------直線移至抓取點;WaitTime0.2;Close_Grip_Mt;------------夾手加緊;WaitTime0.2;SoftActive;------------軟浮動打開setDo39EjFwdDCM;--------------置位允許頂出信號;WaituntilDi45EjectFwLS=1\MaxTime:=15\TimeFlag:=flag1;-------------等待頂針出限;

IFNOTflag1THEN-------------------如果等待頂針出現(xiàn)未超時pGripPart:=CRobT(\Tool:=tGriper\WObj:=wobj0);---------------記錄頂針頂出后機器人的位置;MoveLOffs(pGripPart,0,0,0),v500,fine,tGriper;----------------機器人移至當(dāng)前位置(注:此處不可任意改動)SoftDeact;--------------關(guān)閉軟浮動;WaitTime0.2;MoveLOffs(pGripPart,250,0,0),v500,fine,tGriper;--------直線移至大地坐標(biāo)下“X”軸據(jù)抓取點250mm的位置;ResetDo39EjFwdDCM;------------復(fù)位允許頂出信號;IncrnProductCount;-------------產(chǎn)品計數(shù);ExitDCM;-------------調(diào)用退出壓鑄機程序;注:此程序中,除待機位置,進入模具位置,抓取位置可改動外其他程序均不可改動,改動位置后要手動運行兩遍以上才可自動運行二,取件失敗DCM_ExtrFailPROCDCM_ExtrFail()!theroutineforafterpickpartfailformDCMSoftDeact;---------------先關(guān)閉軟私服;WaitTime0.3;Open_Grip_Mt;------------打開夾手;WaitTime0.5;MoveLpMiddle_Die,v1000,z1,tGriper;--------直線移至模具中心點;MoveJpInDCM_2,v1500,z60,tGriper;-------移至進入模具點二;MoveJpInDCM_1,v1500,z60,tGriper;--------移至進入模具點一;MoveJpWaitDCM,v2500,z60,tGriper;--------移至待機點;!MoveJpHome,v1000,fine,tGriper;MoveJDOpHome,v1000,fine,tGriper,Do42ExRobSfHome,1;--------回原點并置位原點信號;注:一:此程序是取件失敗時自動放棄取件回原點程序,只有在等待可抓取信號超時或等待頂針頂出限位信號超時時才會自動回到原點,如果取件過程中遇到其他意外情況則需手動回到原點位置,此路徑是按照取件的路徑原路返回,如果修改則取件路徑需重新試驗;二:“!”表示程序被注釋掉,不執(zhí)行該句程序ENDPROC三,取件后退出DCM(ExitDCM)PROCExitDCM()!theroutineforafterpickpartformDCMMoveLpMiddle_Die,v500,z1,tGriper;-----------直線移至模具中心點;MoveLpInDCM_2,v2000,z50,tGriper;----------直線移至進入模具電二;MoveJpWaitDCM,v2000,z60,tGriper;-----------移至待機位置;!ISleepirDieClose;!PulseDO\PLength:=1,Do44BaDoorClose;ClkStopclTimerEx;---------停止取件時間計時;nExtractTimer:=ClkRead(clTimerEx);---------取件時間賦值;ClkResetclTimerEx;----------取件始終復(fù)位;CheckPart;----------調(diào)用產(chǎn)品檢測程序;注:此程序為產(chǎn)品正常取出時退出壓鑄機程序,退出時速度不宜太快,“!”開頭的程序注解程序,無需改動或考慮,取件時鐘為記錄取件時間的計時器不許改動,程序自動運行時會在示教盤上顯示取件時間,單位為秒。

ENDPROC四,產(chǎn)品檢測程序(CheckPart)PROCCheckPart()TPWrite“RobotCheckingPart”;--------寫屏,即在示教盤上寫出“”中的內(nèi)容;MoveJPcheckpart,v2000,z100,tGriper;-----移至產(chǎn)品檢測點一;MoveJPcheckpart_1,v2000,z100,tGriper;-------移至產(chǎn)品檢測點二;MoveLpCheckPosition,v300,fine,tGriper;--------直線移至產(chǎn)品檢測點;PulseDO\PLength:=3,Do40CheckStart;--------發(fā)送產(chǎn)品檢測開始脈沖;WaitTime0.2;WaituntilsiPartCheckOK=1\MaxTime:=10\TimeFlag:=flag1;---------等待產(chǎn)品檢測信號;IFNOTflag1THEN-----------如果產(chǎn)品檢測等待未超時;PulseDO\PLength:=2,Do44BaDoorClose;-------發(fā)送后門關(guān)閉信號;bPartCheck:=TRUE;ResetsoRobExtrWork;------------復(fù)位取件中信號MoveLpCheckPart_1,v1500,z100,tGriper;---------退回到檢測前位置;Vibration;------------調(diào)用震動去渣包程序;

ELSE----------如果等待產(chǎn)品檢測信號超時;bPartCheck:=FALSE;PulseDO\PLength:=1,Do35ExRobAlarm;-----發(fā)出警報信號;TPWrite“PleaseCheckingPartandSensorSwitch”;--------寫出報警信息;MoveLpCheckPart_1,v1500,z100,tGriper;----------退回到檢測位置1MoveJpCheckPart_2,v1500,z100,tGriper;---------退回到檢測位置2!GoodPart;PutNG;---------調(diào)用PutNG程序(扔廢料)STOP;--------暫停取件程序。ENDIFENDPROC五,震動去渣包(Vibration)PROCVibration()!***************Vibration*************MoveJVibration_1,v1500,z100,tGriper;--------移至震動去渣包區(qū)域過程點一,MoveJVibration_2,v1500,z100,tGriper;--------移至震區(qū)去渣包區(qū)域過程點二,MoveJVibration_3,v1500,z100,tGriper;---------移至震動去渣包區(qū)域過程點三;MoveJVibration_4,v1500,fine,tGriper;----------去渣包點一Z軸負(fù)方向點;SetDo60VibrationValve;---------打開震動去渣包氣閥;MoveLOffs(Vibration_4,0,0,35),v1000,fine,tGriper;-------移至去渣包點一;WaitTime0.5;MoveJVibration_4,v1500,z50,tGriper;;MoveJVibration_5,v1000,z10,tGriper;;----------去渣包點二Z軸負(fù)方向點;MoveLOffs(Vibration_5,0,0,60),v1000,fine,tGriper;-----------移至去渣包點二;WaitTime0.5;MoveJVibration_5,v1000,z10,tGriper;WaitTime0.5;MoveJVibration_14,v1500,z10,tGriper;----------去渣包點三Z軸負(fù)方向點;MoveLOffs(Vibration_14,0,0,95),v1000,fine,tGriper;;-----------移至去渣包點三;WaitTime0.5;MoveJVibration_14,v1000,z10,tGriper;MoveJVibration_13,v1000,z100,tGriper;----------去渣包點四Z軸負(fù)方向點;MoveLOffs(Vibration_13,0,0,95),v1000,z50,tGriper;;MoveLOffs(Vibration_13,0,0,140),v1000,fine,tGriper;;-----------移至去渣包點四;WaitTime0.5;MoveJVibration_13,v1000,z100,tGriper;MoveJVibration_12,v1000,z10,tGriper;震動去渣包續(xù)MoveJVibration_15,v1000,z10,tGriper;

----------去渣包點五Z軸負(fù)方向點;MoveLOffs(Vibration_15,0,0,90),v1000,fine,tGriper;;-----------移至去渣包點五;WaitTime0.5;MoveJVibration_15,v800,fine,tGriper;MoveJVibration_6,v1000,fine,tGriper;

----------去渣包點六Z軸負(fù)方向點;MoveLOffs(Vibration_6,0,0,95),v1000,fine,tGriper;

----------移至去渣包點六;WaitTime0.5;MoveJVibration_6,v1000,z10,tGriper;

MoveJVibration_7,v1000,z100,tGriper;

----------去渣包點七Z軸負(fù)方向點;MoveLOffs(Vibration_7,0,0,95),v1000,fine,tGriper;

----------移至去渣包點七;WaitTime0.5;MoveLOffs(Vibration_7,0,0,-100),v1000,fine,tGriper;WaitTime0.5;MoveJVibration_8,v1000,z10,tGriper;

----------去渣包點八Z軸負(fù)方向點;MoveLOffs(Vibration_8,0,0,80),v1000,fine,tGriper;

----------移至去渣包點八;WaitTime0.5;MoveJVibration_8,v1000,z10,tGriper;MoveJVibration_9,v1000,z10,tGriper;

----------去渣包點九Z軸負(fù)方向點;MoveLOffs(Vibration_9,0,0,60),v1000,fine,tGriper;

----------移至去渣包點九;WaitTime0.5;MoveJVibration_9,v1000,z10,tGriper;WaitTime0.5;MoveJVibration_10,v1000,z100,tGriper;----------去渣包點十Z軸負(fù)方向點;MoveLOffs(Vibration_10,0,0,50),v1000,fine,tGriper;

----------移至去渣包點十;WaitTime0.5;MoveJVibration_10,v1000,z100,tGriper;MoveJVibration_11,v1000,z10,tGriper;

--------退出去渣包區(qū)域點;ResetDo60VibrationValve;-----------復(fù)位震動閥。六,水冷卻(LoadCoolWater)WaitDIDi57CoolClaOpenLS,1;--------等待冷卻水槽可放件信號MoveJLoadCool_A1,v1500,z100,tGriper;-------水槽冷卻點一;MoveJLoadCool_A2,v1500,z100,tGriper;-------水槽冷卻點二;MoveLLoadCool_A3,v400,fine,tGriper;--------進入水槽點;WaitTime2;MoveJLoadCool_A4,v500,z100,tGriper;--------出水槽點一;MoveLLoadCool_A5,v800,z100,tGriper;-------出水槽點二;MoveLLoadCool_A6,v800,z100,tGriper;-------出水槽點三;MoveJLoadCool_B1,v1000,z100,tGriper;--------水槽放件吹氣點一;MoveJLoadCool_B2,v1000,z100,tGriper;--------水槽放件吹氣點二;MoveLOffs(PCoolClaPos,100,0,0),v1000,z50,tGriper;------冷卻水槽預(yù)放件位置;MoveJPCoolClaPos,v300,fine,tGriper;-----------冷卻水槽放件位置;WaitTime0.2;SoftActive;---------軟浮動打開;ResetDo58CoolClaOpen;-------PulseDO\PLength:=3,Do59CoolClaClose;--------夾取脈沖;WaitTime2;SoftDeact;-----------關(guān)閉軟浮動;Open_Grip_Mt;--------夾手打開;WaitTime0.5;MoveLOffs(PCoolClaPos,100,0,0),v300,z20,tGriper;------直線移至與抓取點;PulseDO\PLength:=10,Do55CoolLeftBlow;-----------打開吹氣閥;PulseDO\PLength:=10,Do56CoolRightBlow;PulseDO\PLength:=10,Do57CoolSideBlow;MoveLLoadCool_B2,v1000,z100,tGriper;----------直線上升;冷卻放件續(xù)Lable_Cut:WaitUntilDi61CutTake=1ORDi60CutPart=1\MaxTime:=50\TimeFlag:=flag1;---------等待可放或可取信號;IFNOTFlag1THEN---------若等待未超時;

IFDi58CutAuto=1andDi59CutFault=0andDi61CutTake=1THEN-----判斷是否為可??;

UnloadOil; -------若可取信號為ON則調(diào)用油壓機取件信號

ENDIF

IFDi58CutAuto=1andDi59CutFault=0ANDDi60CutPart=1THEN-------判斷是否有可放信號WaitTime0.5;UnloadWatercool;----------若有可放信號則調(diào)用冷卻水槽取件程序;ENDIFELSE

PulseDO\PLength:=3,Do35ExRobAlarm;-----------------若等待超時;

Stop;-----------------程序暫停;GOTOLable_Cut;----跳回到等待本頁首行ENDIF七,油壓機取件(UnloadOil)PROCUnloadOil() !***************ExtractoutOilhydraulicpress*************start:--------程序標(biāo)簽;WaitDIDi61CutTake,1;---------等待油壓機可取信號MoveJUnloadOil_1,v2000,z200,tGriper;-------油壓機取件過程點一;MoveJUnloadOil_2,v2000,z100,PartTool;------油壓機取件過程點二;MoveLUnloadOil_3,v1000,z100,PartTool;------油壓機取件過程點三;MoveLOffs(pOilGripPos,0,0,50),v800,z20,PartTool;------預(yù)抓取位置;MoveLpOilGripPos,v200,fine,PartTool;---------抓取位置;ResetDo47PartClaOpen;------制品抓手打開;PulseDO\PLength:=2,Do48PartClaClose;WaitTime0.2;MoveLOffs(pOilGripPos,0,0,80),v400,fine,PartTool;------移回預(yù)抓取點;MoveJUnloadOil_4,v400,z10,PartTool;-------移出油壓機過程點;MoveLUnloadOil_14,v400,z10,PartTool;MoveLUnloadOil_24,v400,z10,PartTool;MoveJUnloadOil_2,v1000,z100,PartTool;MoveJUnloadOil_1,v1500,z100,tGriper;GoodPart;------------------------調(diào)用制品放置傳輸帶程序。八,制品放傳輸帶(GoodPart)PROCGoodPart()TPWrite“Downloadingatgoodpartcontainer”;-----------寫屏WaitTime0.2;MoveJpGoodPart1,v1500,z100,tGriper;-------------移至傳輸帶過程點;MoveJpGoodPart2,v1500,z200,tGriper;MoveJpGoodPart3,v1500,fine,tGriper;------------產(chǎn)品取出檢測點;WaitTime0.6;MoveLpGoodPart2,v1500,z100,tGriper;-----------預(yù)放件位置;

!MoveLpGoodPart13,v1500,fine,tGriper;Open_Grip_Mt;--------料柄夾手打開;

ResetDo48PartClaClose;

PulseDO\PLength:=2,Do47PartClaOpen;------------松開制品夾手;PulseDO\PLength:=2,Do62ClampOpen;--------------啟動傳輸帶;WaitTime0.5;MoveJpGoodPart1,v2000,z200,tGriper;IFDi57CoolClaOpenLS=0THEN-------判斷冷卻水槽是否有工件; UnloadWatercool;--------------------若有則調(diào)用冷卻水槽取件程序;ENDIFMoveJDOpHome,v2000,z200,tGriper,Do42ExRobSfHome,1;--------回原點;ENDPROC九,水槽取件(UnloadWatercool)WaitDIDi57CoolClaOpenLS,0;------------等待冷卻水槽可取信號;MoveJUnLoadCool_B1,v2000,z100,tGriper;---------冷卻水槽取件過程點;MoveJUnLoadCool_B2,v2000,z100,tGriper;MoveLOffs(PCoolGripPos,50,0,0),v1500,fine,tGriper;----------冷卻取件預(yù)抓取點;MoveLPCoolGripPos,v400,fine,tGriper;------------冷卻水槽抓取點;Close_Grip_Mt;-------------夾手夾緊;WaitTime0.2;ResetDo59CoolClaClose;PulseDO\PLength:=2,Do58CoolClaOpen;-------打開冷卻夾具;WaitUntilDi57CoolClaOpenLS=1\MaxTime:=15\TimeFlag:=flag8;--------等待冷卻夾具松開限;IFFlag8THEN----------如果等待超時,則跳轉(zhuǎn)至錯誤處理程序;GOTOErr_UnLoadCool_B;ENDIFMoveLOffs(PCoolGripPos,150,0,0),v500,z50,tGriper;-------若等待未超時則移至預(yù)抓取位置;MoveJUnLoadCool_B2,v1500,z100,tGriper;------------原路返回移出水槽掛件位置;MoveJUnLoadCool_B1,v1500,z100,tGriper;GOTOFinish;------------移出后跳轉(zhuǎn)至結(jié)束位置調(diào)用油壓機放件程序;Err_UnLoadCool_B:--------錯誤處理Open_Grip_Mt;WaitTime1;MoveJUnLoadCool_B2,v1500,z100,tGriper;MoveJUnLoadCool_B1,v1500,z100,tGriper;PulseDO\PLength:=1,Do35ExRobAlarm;TPErase;Stop;Finish:LoadOil;十,油壓機放件(LoadOil)WaitDIDi60CutPart,1;---------等待可放件信號;start:MoveJLoadOil_1,v1500,z100,tGriper;MoveJLoadOil_2,v1500,z100,tGriper;MoveJLoadOil_3,v1500,z100,tGriper;MoveLOffs(pOilPutPos,1000,0,90),v1000,z50,tGriper;MoveLO

溫馨提示

  • 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

提交評論