《工業(yè)機器人現(xiàn)場編程》課件-任務4.3編輯調試碼垛程序_第1頁
《工業(yè)機器人現(xiàn)場編程》課件-任務4.3編輯調試碼垛程序_第2頁
《工業(yè)機器人現(xiàn)場編程》課件-任務4.3編輯調試碼垛程序_第3頁
《工業(yè)機器人現(xiàn)場編程》課件-任務4.3編輯調試碼垛程序_第4頁
《工業(yè)機器人現(xiàn)場編程》課件-任務4.3編輯調試碼垛程序_第5頁
已閱讀5頁,還剩66頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

編輯調試碼垛程序工業(yè)機器人現(xiàn)場編程3421課堂導入新知學習訓練鞏固評價總結知識目標掌握碼垛工作站程序常用指令掌握碼垛工作站程序常用功能程序了解工業(yè)機器人的運動控制指令理解高級運動控制指令的含義及指令結構了解工程素養(yǎng)知識技能目標能熟練掌握指令的用法能夠排除工業(yè)機器人程序的語法錯誤能熟練使用功能程序能夠正確分析指令結構能夠熟練掌握指令應用的環(huán)境培養(yǎng)良好的工程素養(yǎng)習慣重點難點1.掌握碼垛工作站程序常用指令;2.了解工業(yè)機器人的運動控制指令3.理解高級運動控制指令的含義及指令結構1.能夠排除工業(yè)機器人程序的語法錯誤;2.理解高級運動控制指令的含義及指令結構WHILE-只要...便重復WHILE

只要給定表達式為TRUE,就重復循環(huán)。指令格式:WHILEConditionDO…ENDWHILE應用:

當前指令通這判斷相應條件,如果符合判斷條件

執(zhí)行循環(huán)內指令,直至判斷條件不滿足才跳出循環(huán),繼續(xù)執(zhí)行循環(huán)以后指令,需要注意,當前指令存在死循環(huán)。判斷條件(bool)一、認識碼垛工作站程序常用指令例1VARnumreg1;......WHILEreg1<reg2

DOreg1:=reg1+1;ENDWHILE

只要reg1<reg2,則重復WHILE塊中的指令。例2VARnumreg1;......WHILETRUEDOreg1:=reg1+1;ENDWHILE

死循環(huán)重復WHILE塊中的自加指令。IF-如果滿足條件,那么...;否則...IF指令的格式:IFConditionTHEN…{ELSEIFConditionTHEN…}[ELST…]ENDIFCondition: 判斷條件 (bool)應用:

當前指令通過判斷相應條件,控制需要執(zhí)行的相應指令,是機器人程序流程基本指令。IF條件判斷指令

IF條件判斷指令,就是根據不同的條件去執(zhí)行不同的指令。如果num1為1,則flag1會賦值為TRUE。

如果num1為2,則flag1會賦值為FALSE.

除了以上兩種條件之外,則執(zhí)行do1置位為1。

條件判定的條件數(shù)量可以根據實際情況進行增加與減少。【案例解析】機器人碼垛編程方法與技巧1.WHILE/IF指令實現(xiàn)碼垛功能程序如下:PROCmain()TPErase;!清屏nCount:=0;!計數(shù)清零Resetdo00_VacuumOpen;!復位信號MoveJPhome,v1000,z50,Tool1_Grip\WObj:=Wobj1_Pallet;WHILETRUEDOIFnCount<8ANDdi01_BoxInPos=1ANDdi02_PalletInPos=1THEN!判斷產品數(shù)量、流水線產品到位信號、碼垛盤到位信號是否滿足【案例解析】機器人碼垛編程方法與技巧IFnCount=0THENpPick_Base:=Offs(pPick1,0,0,0);pPlace_Base:=Offs(pPlace1,0*(100+10),0*(100+10),0);ELSEIFnCount=1THENpPick_Base:=Offs(pPick1,0,0,0);pPlace_Base:=Offs(pPlace1,0*(100+10),1*(100+10),0);

ELSEIFnCount=2THEN......

FOR-重復給定的次數(shù)指令格式:FORLoopcounterFROMStartvalueTOEndvalue

[STEPStepvalue]DO…ENDFOR循環(huán)計數(shù)標識標識初始值標識最終值計數(shù)更改值

(identifier)(num)

(num)(num)

任務6-4常用RAPID程序指令例1FORiFROM1TO10DOroutine1;ENDFOR例2FORiFROM2TO10STEP2DOnum{i}:=num{i}+2;ENDFOR將數(shù)組中的數(shù)值向上調整應用:通常情況下,初始值.最終值與更改值為整數(shù),循環(huán)判斷標識使用i、k、j等小寫字母(不需要定義),是標準的機器人循環(huán)指令,常在通訊口讀寫,數(shù)組數(shù)據賦值等數(shù)據處理時例用?!景咐馕觥繖C器人碼垛編程方法與技巧FOR指令實現(xiàn)碼垛功能程序如下:(碼垛抓放程序參考WHILE/IF)PROCmain()TPErase;!清屏nCount:=0;!計數(shù)清零Resetdo00_VacuumOpen;!復位信號WHILETRUEDOFORJFROM0TO2DOFORIFROM0TO2DOIFdi01_BoxInPos=1ANDdi02_PalletInPos=1THEN!判斷流水線產品到位信號、碼垛盤到位信號是否滿足

【案例解析】機器人碼垛編程方法與技巧pPick_Base:=Offs(pPick1,0,0,0);pPlace_Base:=Offs(pPlace1,I*(100+10),J*(100+10),0);rPick;!調用碼垛抓取程序rPlace;!調用碼垛放置程序nCount:=nCount+1;!碼垛產品計數(shù)累加TPWrite"nCount:="\Num:=nCount;!示教器顯示碼垛產品計數(shù)ELSEMoveJPhome,v1000,z50,Tool1_Grip\WObj:=Wobj1_Pallet;ENDIF......TEST-根據表達式的值...指令格式:TESTTestdata...CASE...Testvalue

...DEFAULT:...ENDTESTTestdata數(shù)據類型:所有用于比較測試值的數(shù)據或表達式。Testvalue數(shù)據類型:與testdata相同測試數(shù)據必須擁有的值,以供執(zhí)行相關的指令。應用:當前指令通過判斷相應數(shù)據變量與其所對應的值,控制需要執(zhí)行的相應指令。例TESTreg1CASE1:

routine1;CASE

2,3:

routine2;CASE4:

routine3;DEFAULT:TPWrite"Illegalchoice";Stop;ENDTEST根據reg1的值,執(zhí)行不同的指令。如果該值為1,則執(zhí)行routine1,2或3時,則執(zhí)行routine2。如果該值為4,則執(zhí)行routine3。否則,打印出錯誤消息,并停止執(zhí)行?!景咐馕觥繖C器人碼垛編程方法與技巧TEST指令實現(xiàn)碼垛功能程序如下:(碼垛抓放程序參考WHILE/IF)PROCmain()TPErase;

!清屏nCount:=0;

!計數(shù)清零Resetdo00_VacuumOpen;MoveJPhome,v1000,z50,Tool1_Grip\WObj:=Wobj1_Pallet;

【案例解析】機器人碼垛編程方法與技巧WHILETRUEDOIFnCount<8ANDdi01_BoxInPos=1ANDdi02_PalletInPos=1THEN!判斷產品數(shù)量、流水線產品到位信號、碼垛盤到位信號是否滿足TESTnCountCASE0:pPick_Base:=Offs(pPick1,0,0,0);pPlace_Base:=Offs(pPlace1,0*(100+10),0*(100+10),0);CASE1:pPick_Base:=Offs(pPick1,0,0,0);pPlace_Base:=Offs(pPlace1,0*(100+10),1*(100+10),0);CASE2:pPick_Base:=Offs(pPick1,0,0,0);pPlace_Base:=Offs(pPlace1,0*(100+10),2*(100+10),0);......WHILE...ENDWHILE直到型循環(huán)判斷。重復指令序列,直到滿足給定條件;FOR...ENDFOR次數(shù)控制型循環(huán)判斷。重復一段程序多次;(i、j、k)TEST...ENDTEST選擇分支型判斷?;诒磉_式的數(shù)值執(zhí)行不同指令;※思考工廠產品除了碼垛堆放,還需要拆跺,試著利用FOR的嵌套循環(huán)將下面的3*3*3的跺型進行拆跺?數(shù)組功能的實現(xiàn)碼垛功能在一些的工程師中,拿到了碼垛項目時,匆忙下手編程與調試,到頭來自己忙的不可開交,而且效率還不高,那針對碼垛這類的項目或者案例我們有沒有什么方法能使我們高效編程呢?答案是有的!(以ABB機器人舉例介紹)首先,我們來分析一下,我們碼垛產品的時候是有行有列的(或者說橫向縱向),那么這時候我們就可以聯(lián)想到數(shù)組也剛好有這一特性。由此,我們可以利用數(shù)組對機器人進行編程!要想編好程序,我們應該先理解數(shù)組了。所謂數(shù)組,是有序的元素序列。若將有限個類型相同的變量的集合命名,那么這個名稱為數(shù)組名。組成數(shù)組的各個變量稱為數(shù)組的分量,也稱為數(shù)組的元素,有時也稱為下標變量。數(shù)組功能的實現(xiàn)碼垛功能舉例:inta[10];說明整型數(shù)組a,有10個元素。若要表示第10個元素,則使用a[9]。第一個則是a[0]。floatb[10],c[20];說明實型數(shù)組b,有10個元素,實型數(shù)組c,有20個元素。charch[20];說明字符數(shù)組ch,有20個元素。在ABB機器人中,數(shù)組分為一維數(shù)組、二維數(shù)組、三維數(shù)組,那它們的區(qū)別在哪里呢?我們編程需要用到幾維數(shù)組呢?那我們來看看例子:數(shù)組功能的實現(xiàn)碼垛功能一維數(shù)組:當數(shù)組中每個元素都只帶有一個下標時,稱這樣的數(shù)組為一維數(shù)組。注意:ABB機器人中第一個元素為:num1{1},而非num1{0},所以num1中有三個元素,第一個元素值為5,而非第0個元素值為5。數(shù)組功能的實現(xiàn)碼垛功能二維數(shù)組:理解完了數(shù)組之后,我們來看一下,具體編程案例吧!如圖中,有4個點需要計算,以第1點位基準。(每個方塊的長寬都是200mm*200mm)數(shù)組功能的實現(xiàn)碼垛功能數(shù)組建立:接下來我們來看一下在示教器里怎么編輯吧?。ㄐ陆ㄒ粋€數(shù)組reg6{4,3}),建立好了數(shù)組之后編程就按上述方式即可!數(shù)組功能的實現(xiàn)碼垛功能1.新建一個4行3列的數(shù)組,名稱為reg6。2.把計算出來的偏移值填進去。{1,1}代表第一個產品X軸偏移值,{1,2}代表第一個產品Y軸偏移值,{1,1}代表第一個產品z軸偏移值?!景咐馕觥緼BB機器人碼垛編程方法與技巧如果是兩層的碼垛(8個產品),則只需要建立reg6{8,3}數(shù)組,XY值不變,只是Z軸位置改變了。最后我們看到的程序就是這樣的:CASE1:pick:=Offs(p10,reg6{1,1},reg6{1,2},reg6{1,3});CASE2:pick:=Offs(p10,reg6{2,1},reg6{2,2},reg6{2,3});CASE3:pick:=Offs(p10,reg6{3,1},reg6{3,2},reg6{3,3});CASE4:pick:=Offs(p10,reg6{4,1},reg6{4,2},reg6{4,3});CASE5:pick:=Offs(p10,reg6{5,1},reg6{5,2},reg6{5,3});CASE6:pick:=Offs(p10,reg6{6,1},reg6{6,2},reg6{6,3});CASE7:pick:=Offs(p10,reg6{7,1},reg6{7,2},reg6{7,3});CASE8:pick:=Offs(p10,reg6{8,1},reg6{8,2},reg6{8,3});【案例解析】機器人碼垛編程方法與技巧創(chuàng)建一個robtarget類型的二維數(shù)組pPlace{3,3},分別用來存儲1#-9#碼垛放置位置,以下程序參考實例1。程序如下:PROCmain()TPErase;!清屏nCount:=0;!計數(shù)清零Resetdo00_VacuumOpen;!復位信號

【案例解析】機器人碼垛編程方法與技巧WHILETRUEDOFORJFROM1TO3DOFORIFROM1TO3DOIFnCount<8ANDdi01_BoxInPos=1ANDdi02_PalletInPos=1THEN!判斷產品數(shù)量、流水線產品到位信號、碼垛盤到位信號是否滿足pPick_Base:=pPick;pPlace_Base:=pPlace{I,J};rPick;!調用碼垛抓取程序......中斷指令(1)關聯(lián)中斷指令CONNECT-將中斷與軟中斷程序相連CONNECTInterruptWITHTraproutine;Interrupt: 中斷數(shù)據名稱。(intnum)Traproutine: 中斷數(shù)據程序。(identifier)應用:將機器人相應中斷數(shù)據連接到相應的中斷處理程序,是機器人中斷功能必不可少的組成部分,必須同指令ISignalDI,ISignalDO,ISignalAI,ISignalAO或ITimer聯(lián)合使用。中斷程序---Interrupts中斷的定義:當某個事件發(fā)生時,CPU停止運行正在執(zhí)行的程序,而轉去執(zhí)行處理該事件的程序,處理該事件后,還可以返回原程序繼續(xù)正確的執(zhí)行下去。實例:VARintnum,intInspect;PROCmain()…CONNECTintInspectWITHrAlarm;ISignalDIdi01_Vacuum,0,intInspect;…ENDPROCTRAPrAlarmTPWrite“GripError”;Stop;WaitDIdi01_Vacuum,1;ENDTRAP注:中斷數(shù)據的數(shù)據類型必須為變量(VAR)一個中斷數(shù)據不允許同時連接到多個中斷處理程序,但多個中斷數(shù)據可以共享一個中斷處理程序當一個中斷數(shù)據完成連接后,這個中斷數(shù)據不允許再次連接到任何中斷處理程序(包括已經連接的中斷處理程序)。如果需要再次連接至任何中斷程序,必須先使用指令IDelete將原連接支除。(2)IDelete-取消中斷IDeleteInterrupt;Interrupt: 中斷數(shù)據名稱。(intnum)應用:將機器人相應中斷數(shù)據與相應的中斷處理程序之間原連接去除。實例:…CONNECTintInspectWITHrAlarm;ISigalDIdi01_Vacuum,0,intInspect;…IdeleteintInspect;限制:

執(zhí)行指令Idelete后,當前中斷數(shù)據的連接被完全清除,如需再次使用這個中斷數(shù)據必須重新用指令CONNECT連接至相應的中斷處理程序。在以下列情況下,中斷將被自動去除:1、重新載入新的運行程序。2、機器人運行程序被重置,程序指針回到主程序第一行(StartfromBeginning)。

3、機器人程序指針被移至任意一個例行程序第一行。(MovepptoRoutine)(3)ISignalDI-下達數(shù)字信號輸入信號中斷指令結構:ISignalDI[\Single],Signal,TriggValue,Interrupu;[\Single]: 單次中斷開關。(switch)Signal: 觸發(fā)中斷信號。(signaldi)TriggValue: 觸發(fā)信號值。 (dionum)Interrupu: 中斷信號名稱。(intnum)應用:使用相應的數(shù)字信號輸入信號觸發(fā)相應的中斷功能,必須同指令CONNECT聯(lián)合使用。實例:CONNECTint1WITHiroutine1;中斷功能在單次觸發(fā)后失效ISignalDI\Signaldi01,1,int1;CONNECTint2WITHiroutine2;ISignalDIdi02,1,int2;注:當一個中斷數(shù)據完成連接后,這個中斷數(shù)據不允許再次連接到任何中斷處理程序(包括已經連接的中斷處理程序)。如果需要再次連接至任何中斷處理程序,必須先使用指令IDelete將原連接去除。1、 中斷在工程領域應用十分重要,通常用于處理一些突發(fā)狀況,中斷是指由中斷信號關聯(lián)中斷標志符,中斷標志符連接中斷程序,機器人執(zhí)行預定義的中斷程序的過程2、中斷條件為真,會觸發(fā)中斷。發(fā)生中斷會引起正常程序執(zhí)行被終止,轉由軟中斷程序進行控制3、中斷程序使用技巧:

設置中斷輸入信號與中斷識別號相關聯(lián)

設置中斷識別號與中斷程序相關聯(lián)

即可完成中斷功能的基本設定4、中斷程序涉及到的指令比較多,寫起來也比較繁瑣,學生的英語水平普遍不好,所以,可能應用起來有些難度,還需要加強相關的練習。(4)ISleep-停用一個中斷結構:IsleepInterrupt;Interrupt: 中斷數(shù)據名稱。(intnum)應用:機器人相應中斷數(shù)據暫時失效,直到執(zhí)行指令IWatch后才恢復。實例:VARintnumsig1int;PROCmain()CONNECTsig1intWITHiroutine1;ISignalDIdi1,1,sig1int;...ISleepsig1int;weldpart1;IWatchsig1int;在執(zhí)行weldpart1程序期間,信號di1不允許中斷。(5)IWatch-啟用中斷Interrupt: 中斷數(shù)據名稱。(intnum)應用:激活機器人已失效的相應中斷數(shù)據,正常情況下,與指令ISleep配合使用。實例:…CONNECTintInspectWITHrAlarm;ISignalDIdi01_vacuum,0,intInspect;…ISleepintInspect;…IWatchintinspect;…ErrorHandler:ERR_UNKINO無法找到當前的中斷數(shù)據。(6)IEnable-啟用中斷(7)IDisable-禁用中斷結構:IEnable;IDisable;應用:使機器人相應中斷功能暫時不執(zhí)行,直到執(zhí)行指令IEnable后,才進入中斷處理程序,此指令使用于機器人正在執(zhí)行不希望被打斷的操作期間,例如:通過通信口讀寫數(shù)據實例:…IDisable;FORiFROM1TO100D0character[i]:=ReadBin(sensor);ENDFORIEnable;IDelete:用于取消(刪除)中斷預定。如果中斷僅臨時禁用,則應當使用指令ISleep或IdisableIDisable:臨時禁止程序所有中斷IEnable:啟用中斷ISleep:暫停程序中的一個中斷舉例:Isleepintnol;說明:停用intnol1號中斷【案例解析】ABB機器人碼垛編程方法與技巧任務要求:1)碼垛前機器人處于一個安全位置,當(物料、托盤到位狀態(tài))準備好時后開始運行。2)工件經過傳送帶到達傳送帶末端后,機器人開始進行抓取工件操作3)抓取完成后,在碼垛盤已到位且未碼滿一層的前提下,將工件搬運到碼垛區(qū)域。4)計算出當前工件的碼垛位置坐標后,將工件進行碼,然后回到安全點。若碼滿1層,通知外部更換碼盤。直至新碼盤到位后重新開始碼垛(利用中斷指令對產品計數(shù)及計時清零、機器人狀態(tài)及碼垛托盤狀態(tài)復位)。5)運行速度合適,碼垛完成后垛堆應該整齊工件應該碼放均勻。【案例解析】ABB機器人碼垛編程方法與技巧②初始化程序PROCrinitall()TPErase;!清屏nCount:=0;!計數(shù)清零bPalletFullok:=FALSE;!碼垛盤滿跺狀態(tài)復位Resetdo00_VacuumOpen;!吸盤信號復位Resetdo01_PalletFull;!滿垛信號復位IDeleteiPallet;!斷開、刪除中斷連接CONNECTiPalletWITHtPallet;!連接中斷ISignalDIdi02_PalletInPos,0,iPallet;!換碼垛盤時托盤在位信號di02=0觸發(fā)中斷ISleepiPallet;!休眠中斷程序,防止未搬運完時中途觸發(fā)中斷造成意外MoveJPhome,v1000,z50,Tool1_Grip\WObj:=Wobj1_Pallet;ENDPROC【案例解析】ABB機器人碼垛編程方法與技巧⑥中斷程序TRAPtPalletTPErase;!示教器清屏nCount:=0;!計數(shù)清零Resetdo01_PalletFull;!吸盤信號復位bPalletFullok:=FALSE;!碼垛盤空載狀態(tài)TPWrite"bPalletFullok:="\Bool:=bPalletFullok;WaitDIdi02_PalletInPos,1;!碼垛盤到位信號TPWrite"Pallethasbeenchanged";!示教器顯示托盤已經更換WaitTime1;ISleepiPallet;!休眠中斷程序ENDTRAP【作用】功能程序(Functions,簡稱FUNC)又稱有返回值程序,是一種具有運算、比較等功能,能向調用該程序的模塊、程序返回執(zhí)行結果的參數(shù)化編程模塊。調用功能程序時,不僅需要指定程序名稱,且必須有程序參數(shù)。程序參數(shù)是用于參數(shù)化編程的變量,讓需要在程序名稱后附加的括號內定義。一般程序不采用參數(shù),但需要保留名稱Routine()后面的括號,中斷程序(Trap)在任何情況下均要被可能被調用,故不能使用程序參數(shù),名稱后面也無括號,功能程序(FUNC)采用的是參數(shù)化編程,故必須定義程序參數(shù)。功能程序二、編輯功能程序說明【格式】全局功能程序直接以程序類型FUNC起始,用ENDFUNC結束。FUNC返回數(shù)據類型功能程序名稱(傳遞的程序數(shù)據定義)程序指令………RETURN返回數(shù)據名稱ENDFUNC功能程序的起始行為程序聲明。全局功能程序直接以程序類型FUNC起始,后面依次接返回結果的數(shù)據類型、功能程序的名稱,名稱后括號內注明與調用程序之間進行傳遞的程序數(shù)據的類型及名稱。功能程序中可通過各程序指令編寫控制程序,其中必須包含返回執(zhí)行結果的指令RETUN,以指明結果通過那個程序數(shù)據進行返回。功能程序最后用ENDFUNC指令結束。碼垛應用【案例解析】ABB機器人碼垛編程方法與技巧機器人自動運行前需要進行回原點判斷,確保工作安全。(1)!檢測原點位置例行程序PROCrCheckHomePos()VARrobtargetpActualPos;IFNOTCurrentpos(phome,Tool1_Grip)THENpActualPos:=cRobt(\Tool:=Tool1_Grip\WObj:=Wobj1_Pallet);pActualPos.trans.z:=phome.trans.z;MovejpActualPos,v1000,z50,Tool1_Grip\WObj:=Wobj1_Pallet;MoveJphome,v1000,z50,Tool1_Grip\WObj:=Wobj1_Pallet;ENDIFENDPROC【案例解析】ABB機器人碼垛編程方法與技巧(2)!檢測原點位置被調用功能程序FUNCboolCurrentpos(robtargetComparePos,inouttooldataTCP)VARnumnFC;VARrobtargetActualpos;Actualpos:=cRobt(\Tool:=TCP\WObj:=Wobj1_Pallet);!讀取機器人當前位置IFActualpos.trans.x>ComparePos.trans.x-25ANDActualpos.trans.x<ComparePos.trans.x+25

nFC:=nFC+1;IFActualpos.trans.y>ComparePos.trans.y-25ANDActualpos.trans.y<ComparePos.trans.y+25

nFC:=nFC+1;IFActualpos.trans.z>ComparePos.trans.z-25ANDActualpos.trans.z<ComparePos.trans.z+25

nFC:=nFC+1;【案例解析】ABB機器人碼垛編程方法與技巧Actualpos.rot.q1<ComparePos.rot.q1+0.1

nFC:=nFC+1;IFActualpos.rot.q2>ComparePos.rot.q2-0.1ANDActualpos.rot.q2<ComparePos.rot.q2+0.1

nFC:=nFC+1;IFActualpos.rot.q3>ComparePos.rot.q3-0.1ANDActualpos.rot.q3<ComparePos.rot.q3+0.1

nFC:=nFC+1;IFActualpos.rot.q4>ComparePos.rot.q4-0.1ANDActualpos.rot.q4<ComparePos.rot.q4+0.1

nFC:=nFC+1;RETURNnFC=7;ENDFUNC三、調試碼垛機器人程序

高級運動控制指令(1)AccSet-降低加速度(全局控制)格式AccSetAccRamp;可選變量Acc數(shù)據類型:num;加速度和減速度占正常值的百分比。100%相當于最大加速度。最大值:100%。輸入值<20%,得出最大加速度的20%Ramp數(shù)據類型:num;加速度和減速度增加的速率占正常值的百分比。通過降低該值,可限制頓挫。100%相當于最大速率。最大值:100%。輸入值<10%,得出最大速率的10%。[\FinePointRamp]減速度降低的速率占正常值的百分比

高級運動控制指令(1)AccSet-降低加速度(全局控制)格式AccSetAccRamp;舉例1AccSet50,100;將加速度限制在正常值的50%舉例2AccSet100,50;將加速坡度限制在正常值的50%舉例3AccSet100,100\FinePointRamp:=50;當減速時,將減速坡度限制在正常值的50%

高級運動控制指令(1)AccSet-降低加速度(全局控制)結構:AccSetAcc,Ramp;Acc:機器人加速度百分比(num)Ramp:機器人加速度坡度(num)應用:當機器人運行速度改變時,對所產生的相應加速度進行限制,使機器人高速運行時更平緩,但會延長循環(huán)時間,系統(tǒng)默認值為AccSet100,100;例:AccSet30,100;注:機器人加速度百分率值最小為20,小于20以20計,機器人加速度坡度值最小為10,小于10以10計機器人冷啟動,新程序載入與程序重置后,系統(tǒng)自動設置為默認值。(2)VelSet-設定TCP最大速度(全局控制)結構:VelSetOverride,Max;Override:所需速率占編程速率的百分比。100%相當于編程速率。(num)Max:最大TCP速率,以mm/s計。(num)應用:VelSet用于增加或減少所有后續(xù)定位指令的編程速率。該執(zhí)行同時用于使速率最大化。注:機器人冷啟動,新程序載入與程序重置后,系統(tǒng)自動設置為默認值。機器人運動使用參變量[\T]時,最大運行速度將不起作用。Override對速度數(shù)據(speeddata)內所有項都起作用,例如:TCP.方位及外軸。但對焊接參數(shù)welddata與Seamdata內機器人運行速度不起作用Max只對速度數(shù)據(speeddata)內TCP這項起作用。實例:Velset50,800;Movelp1,v1000,z10,tool1; ----500mm/sMovelp2,v1000\V:=2000,z10,tool1;----800mm/sMovelp2,v1000\T:=5,z10,tool1; ----10sVelset80,1000MoveLp1,v1000,z10,tool1; ----800mm/sMoveLp2,v5000,z10,tool1;----1000mm/sMoveLp3,v1000\V:=2000,z10,tool1;----1000mm/sMoveLp3,v1000\T:=5,z10,tool1;----6.25s(3)ConfJ-關節(jié)軸移動期間,控制配置結構:Confj [\on][\off];[\on]啟動軸配置數(shù)據。(switch)關節(jié)運動時,機器人移動至絕對Modpos點,如果無法到達,程序將停止運行。[\off]默認軸配置數(shù)據。(switch)關節(jié)運動時,機器人移運至Modpos點,軸配值數(shù)據默認為當前最接近值。應用:對機器人運行姿態(tài)進行限制與調整,程序運行時,

使機器人運行姿態(tài)得到控制。系統(tǒng)默認值為Confj\on。實例:Confj\on;Confj\off注:機器人冷啟動,新程序載入與程序重置后,系統(tǒng)自動設置為默認值。(4)SingArea-確定奇點周圍的插補結構:SingArea[\Wrist][\off];[\Wrist]:啟用位置方位調整。(switch)機器人運動時,為了避免死機,位值點允許其方位有些改變,例如:在五軸零度時,機器人四六軸平行。[\off]:關閉位置方位調整。(switch)機器人運動時,不允許位置點方位改變,是機器人默認狀態(tài)。應用:當前指令通過對機器人位置點姿態(tài)進行些改變,可以絕對避免機器人運行時死機,但是,機器人運行路徑會受影響,姿態(tài)得不到控制,通常使用于復雜姿態(tài)點。絕對不能作為工作點使用。實例:SingArea\wrist;SingArea\off;注:以下情況機器人將自動恢復默認值SingArea\off。1機器人冷啟動,2系統(tǒng)載入新的程序(5)PathResol-覆蓋路徑分辨率結構:PathResolPathSampleTime;PathSampleTime:路徑控制%。(num)應用:當前指令用于更改機器人主機系統(tǒng)參數(shù),調整機器人路徑采樣時間,從而達到控制機器人運行路徑的效果,通過此指令可以提高機器人運行精度或縮短循環(huán)時間,路徑控制默認值為100%,調整范圍為25%-400%,路徑控制百分比越小,運動精度越高,占用CPU資源也越多。實例:Movejp1,v1000,fine,tool1;Pathresol150;(6)SoftAct-啟用軟伺服結構:SoftAct[\MechUnit,]Axis,Softness[\Ramp];[\MechUnit]; 軟化外軸名稱。(mecunnit)Axis: 軟化外軸號碼。(mum)Softness: 軟化值%(mum)[\Ramp]: 軟化坡度%。(mum)應用:當前指令用于軟化機器人主機或外軸伺服系統(tǒng),軟化值范圍0%-100%,軟化坡度范圍>=100%,此指令必須與指令SoftDeact同時使用,通常不使用工作位置。實例:Softact3,20;Softact1,90\R

溫馨提示

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

評論

0/150

提交評論