報名人數298905
          資訊中心 > 課程相關資訊 > 機器人培訓 > 機器人培訓 >?智通工業機器人培訓專家為您講解流程控制類指令及其編程應用

          智通工業機器人培訓專家為您講解流程控制類指令及其編程應用

          時間:2021-06-06 16:30 來源:
          使用過濾器快速找到需要使用的指令:
          在上面跟著智通工業機器人培訓專家學會的幾個指令中,我們會發現像STOP、GOTO、LABEL指令無法在示教器的常用指令欄“Common”中找到,除非自己很熟悉,不然一個個查找會顯得很繁瑣。其實,如果是6.06以上的Robtware版本,可以直接用過濾器功能進行搜索。下面介紹如何用過濾器對stop指令進行搜索。

          步驟為:1單擊【添加指令】—2單擊右上角過濾器圖標—3在輸入欄輸入“stop
          ”4單擊【過濾器】—即可顯示搜索結果,如圖9-3所示—5單擊【清除】,6單擊【過濾器】即可對過濾器進行隱藏。詳細操作圖示,見圖9-1~圖9-4所示。

          ??
          ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖9-1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖9-2

          ? ?
          ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖9-3? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???圖9-4
          ?

          工業機器人培訓專家友情提醒您:
          ????使用過濾器后,其它指令會被過濾器遮蓋,如果要添加其它指令,需要先參照上面第5、第6步驟對過濾器進行隱藏。

          ProcCall指令

          ProcCall-調用新程序
          ProcCall指令用于將程序執行轉移至另一個無返回值程序(也稱為子程序),當子程序執行完畢之后,再回到原來的程序繼續執行。
          在程序的編輯中,通過用ProcCall指令來調用子程序可以極大的精簡主程序的結構,讓整體程序結構清晰明了。下面通過實例向大家進行說明:
          ?
          使用實例1:
          PROC main() ?!主程序
          ????rInitAll; ??!調用初始化程序
          ????rHome; ??!調用回原點程序
          ????WHILE TRUE DO ??!進入無限循環
          ????????IF DI_01=1 THEN ??!如果收到啟動信號
          ????????????rPick; ??!調用取件程序
          ????????????rSanding; ??!調用打磨程序
          ????????????rWorking; ??!調用加工程序
          ????????????rPut; ??????!調用放件程序
          ????????ENDIF ???!IF語句結束標識
          ????????WaitTime 0.1; ??!等待0.1秒
          ????ENDWHILE ??!循環語句結束標識
          ENDPROC ???!程序結束標識
          說明:以上程序是一個打磨加工程序的主程序,其把整個流程細分至對應的子程序,再通過ProcCall指令進行調用,使整個程序主體結構清晰明了,同時也便于后續的編輯調試。
          ?
          使用實例2:
          PROC rPick() ??!取件程序
          ????……
          ????MoveL pPick,v1000,fine,tool1; ??!線性移動至取料點

          ????IF DI_2daowei=1 THEN ??!如果到位信號為1
          ??????SET DO_1; ?!啟用夾爪
          ????ELSE ????????!如果到位信號不為1
          ??????Error; ???!調用出錯處理程序
          ????ENDIF
          說明:這個實例是使用實例1中的rPick取件程序的部分展開內容。綜合可以看出主程序mian調用了取件程序rPick,?取件程序rPick中又調用了出錯處理程序Error,這說明程序可以逐級調用。

          工業機器人培訓專家友情提醒您:
          ????程序可相互調用,并反過來調用另一個程序。程序亦可自我調用,即遞歸調用。允許的程序等級取決于參數數量。通常允許10級以上。

          RETURN指令

          RETURN-返回例行程序指令
          RETURN返回例行程序指令用于當此指令被執行時,則馬上結束本例行程序的執行,程序指針返回調用操作的例行程序的調用指令位置的下一行。
          ?
          使用實例1:
          PROC main()
          reg1 := 1;
          Routine1;
          reg1 := 6;
          ENDPROC

          PROC Routine1()
          reg1 := reg1 + 1;
          RETURN;
          reg1 := 3;
          ENDPROC

          說明:當程序指針從主程序自動執行到”RETURN;”指令時,則程序指針立即返回到” reg1 := 6;”這一行并繼續往下執行。而”RETURN;”指令后的” reg1 := 3;”則被跳過不執行。
          如果不使用RETURN指令,則當調用的子程序Routine1()執行完畢后,自動返回main()程序。
          ?
          如果RETURN所在程序是一個函數,則同時返回函數值。比如下面使用實例2:
          ?
          使用實例2:
          FUNC robtarget OFFSS(robtarget pPlace,num nX,num nY,num nZ)
          pTest.trans.x := pPlace.trans.x + nX;
          pTest.trans.y := pPlace.trans.y + nY;
          pTest.trans.z := pPlace.trans.z + nZ;
          RETURN pTest;
          ENDFUNC
          說明:這是一個自己做的偏移功能函數,等同于OFFS,RETURN返回的是pTest所代表的位置值。詳細的功能函數介紹也可以參考之前更新的內容。

          工業機器人培訓專家友情提醒您:
          ????根據在以下方面使用的程序的類型,RETURN指令的結果可能有所不同:
          ??主程序:如果程序擁有執行模式單循環,則停止程序。否則,通過主程序的第
          一個指令,繼續程序執行。
          ??無返回值程序:通過過程調用后的指令,繼續程序執行。
          ??函數:返回函數的值。
          ??軟中斷程序:從出現中斷的位置,繼續程序執行。
          ??無返回值程序中的錯誤處理器:通過調用程序以及錯誤處理器的程序(通過過
          程調用后的指令),繼續程序執行。
          ??函數中的錯誤處理器:返回函數值。

          流程控制類指令應用示例

          例題1:rYuan是一個畫圓的例行程序名稱,rFang是一個畫方形的例行程序名稱,nCount是一個num型的數據名稱。編寫程序完成以下要求:nCount等于1,3,5,7,9時畫方形,nCount等于2,4,6,8,10時畫圓,如果nCount大于10則停止運行。如圖9-5所示。

          圖9-5

          解:PROC main()
          MoveJ pHome, v1000, z50, tool1;
          nCount := 0;
          WHILE TRUE DO
          nCount := nCount + 1;
          TEST nCount
          CASE 2,4,6,8,10:
          rYuan;
          CASE 1,3,5,7,9:
          rFang;
          DEFAULT:
          GOTO L2;
          ENDTEST
          ENDWHILE
          L2:
          MoveJ pHome, v1000, z50, tool1;
          Stop;
          ENDPROC

          關于各種指令智通工業機器人培訓專家就給您介紹到這辣,若有其他疑問歡迎掃碼咨詢課程老師哦!