報名人數(shù)299346
          資訊中心 > 課程相關(guān)資訊 > 機(jī)器人培訓(xùn) > 機(jī)器人培訓(xùn) >?robtarget型的內(nèi)置功能程序:Offs和CRobt

          robtarget型的內(nèi)置功能程序:Offs和CRobt

          時間:2021-06-11 16:53 來源:

          Offs功能程序的編程應(yīng)用

          Offs是一個robtarget型的內(nèi)置功能程序,其作用是對一個robtarget型的機(jī)器人位置數(shù)據(jù)進(jìn)行偏移,并返回偏移后的robtarget型數(shù)據(jù)值。
          offs的語法格式為:Offs (Point ,XOffset ,YOffset ,ZOffset)
          point:偏移基準(zhǔn)點(diǎn),robtarget型數(shù)據(jù);
          XOffset:工件坐標(biāo)系中X方向的位移,num型數(shù)據(jù);
          YOffset:工件坐標(biāo)系中Y方向的位移,num型數(shù)據(jù);
          ZOffset:工件坐標(biāo)系中Z方向的位移,num型數(shù)據(jù);
          智通工業(yè)機(jī)器人培訓(xùn)專家下面以一些示例來介紹offs功能程序。
          例1:MoveL Offs(p10,0,0,50), v1000, fine, tool0WObj:=wobj1;
          在工件坐標(biāo)系wobj1下,將機(jī)械人tool0的TCP移動至p10點(diǎn)往Z軸方向偏移50mm的位置處。
          例2:p20 := Offs(p10,50,0,0);
          將P10往X軸方向偏移50mm后的位置數(shù)據(jù)值賦給p20。

          Offs是一個非常實(shí)用的功能程序,合理使用Offs,能夠大大減少一個程序中需要示教的點(diǎn)位。例如,在圖10-8中,目標(biāo)點(diǎn)p1、p2、p3、p4是矩形的四個頂點(diǎn),相對位置關(guān)系固定,現(xiàn)需要編寫程序使tool1的TCP沿圖中的矩形軌跡運(yùn)動。下文的程序1和程序2都能夠完成任務(wù)要求,但程序1需要示教4個目標(biāo)點(diǎn),程序2由于使用了offs功能程序僅
          需要示教1個目標(biāo)點(diǎn)。


            圖10-8


          程序1:
          MoveL p1, v1000, fine, tool1WObj:=wobj1;
          MoveL p2, v1000, fine, tool1WObj:=wobj1;
          MoveL p3, v1000, fine, tool1WObj:=wobj1;
          MoveL p4, v1000, fine, tool1WObj:=wobj1;
          MoveL p1, v1000, fine, tool1WObj:=wobj1;
          程序2:
          MoveL p1, v1000, fine, tool1WObj:=wobj1;
          MoveL Offs(p1,200,0,0), v1000, fine, tool1WObj:=wobj1;
          MoveL Offs(p1,200,160,0), v1000, fine, tool1WObj:=wobj1;
          MoveL Offs(p1,0,160,0), v1000, fine, tool1WObj:=wobj1;
          MoveL p1, v1000, fine, tool1WObj:=wobj1;

           CRobt功能程序的編程應(yīng)用

          CRobt是一個robtarget型的內(nèi)置功能程序,其作用是讀取機(jī)器人當(dāng)前的位置數(shù)據(jù),并返回一個robtarget型數(shù)據(jù)值,包含機(jī)器人當(dāng)前TCP的X、Y、Z值,姿態(tài)q1~q4,軸配置等數(shù)據(jù)。

          CRobt的語法格式為:CRobT ([Tool] [WObj])
          [Tool]:指定用于計(jì)算的工具,tooldata型數(shù)據(jù),如果不指定則使用當(dāng)前工具;
          [WObj]:指定用于計(jì)算的工件坐標(biāo)系,wobjdata型數(shù)據(jù),如果不指定則使用當(dāng)前工件坐標(biāo)系;
          對于多任務(wù)的控制系統(tǒng),還有用于指定讀取機(jī)器人位置數(shù)據(jù)的任務(wù)的可選變量[TaskRef]、[TaskName],在此不再介紹。下面以一些示例來介紹CRobt功能程序。
          例1:VAR robtarget p1;
          MoveL *, v500, fine, tool1;
          p1 := CRobT(Tool:=tool1 WObj:=wobj0);
          讀取機(jī)器人當(dāng)前的位置數(shù)據(jù),并存儲于p1中,tool1、wobj0用于計(jì)算位置。需要注意的是為保證讀取數(shù)據(jù)的準(zhǔn)確性,讀取機(jī)器人位置前機(jī)器人應(yīng)是靜止的,所以前一條運(yùn)動指令應(yīng)當(dāng)使用轉(zhuǎn)彎半徑Fine。
          例2:MoveL *, v500, Fine, tool1;
          MoveL Offs(CRobT(),0,0,50), v1000, Fine, tool0;
          從當(dāng)前位置*處,往坐標(biāo)系的的Z軸方向,線性偏移50mm,使用當(dāng)前激活的工具和工件坐標(biāo)進(jìn)行位置計(jì)算。

           創(chuàng)建用戶自定義功能程序

          ABB機(jī)器人控制系統(tǒng)內(nèi)置的功能程序非常多,對于其他內(nèi)置功能程序東莞工業(yè)機(jī)器人培訓(xùn)老師就不再給大家逐一介紹,想了解其他內(nèi)置功能程序的作用與用法,請查閱ABB官方提供的技術(shù)參考手冊《RAPID指令、函數(shù)和數(shù)據(jù)類型》。
          除了系統(tǒng)內(nèi)置的功能程序外,用戶還可以自行聲明、編寫功能程序。下文展示了一個用戶自定義的功能程序,程序的作用是比較兩個num型數(shù)據(jù)的大小,并返回數(shù)值較大的那個程序數(shù)據(jù),若兩數(shù)相等則返回0。
           
          FUNC num which_bigger(INOUT num num1,INOUT num num2)
          IF num1 > num2 THEN
          RETURN num1;
          ELSEIF num2 > num1 THEN
          RETURN num2;
          ELSE
          RETURN 0;
          ENDIF
          ENDFUNC
           
          東莞工業(yè)機(jī)器人培訓(xùn)專家在下面以聲明上述用戶自定義功能程序which_bigger為例,講解在程序編輯器界面如何聲明用戶自定義功能程序。聲明的步驟是:1單擊【例行程序】—2單擊【文件】—3單擊【新建例行程序】—4輸入名稱“which_bigger”—5類型選擇為“功能”—6單擊參數(shù)后面的“...”—7單擊【添加】—8單擊【添加參數(shù)】—9輸入?yún)?shù)名“num1” —10單擊【確定】—11參數(shù)數(shù)據(jù)類型設(shè)定為num—12參數(shù)模式設(shè)定為輸入輸出(Inout)—13單擊【添加】—14單擊【添加參數(shù)】—15輸入?yún)?shù)名“num2” —16單擊【確定】—17參數(shù)數(shù)據(jù)類型設(shè)定為num—18參數(shù)模式設(shè)定為Inout—19單擊【確定】—20單擊【確定】。詳細(xì)的操作步驟圖示見圖10-9~圖10-19:

           

                                                                                             
                                      圖10-9                                                           圖10-10                                                                                  
           
                      

                                     圖10-11                                                         圖10-12


                     
                                     圖10-13                                              圖10-14
           
                     

                                    圖10-15                                                            圖10-16


                    

                                 圖10-17                                                           圖10-18



                                 圖10-19

          完成功能程序的聲明后,就可以對功能程序進(jìn)行編寫,操作方法與例行程序的操作方法相同。完成功能程序的編寫,就可以調(diào)用自定義的功能程序,調(diào)用方法與內(nèi)置功能程序的調(diào)用方法相同。


          想了解更多東莞工業(yè)機(jī)器人培訓(xùn)資訊?智通教育20年致力于東莞工業(yè)機(jī)器人培訓(xùn)、PLC培訓(xùn)、電工培訓(xùn)等培訓(xùn)項(xiàng)目,詳情聯(lián)系:0769-8707-8535.