報(bào)名人數(shù)298782
      資訊中心 > 課程相關(guān)資訊 > 機(jī)器人培訓(xùn) > 機(jī)器人培訓(xùn) >?智通工業(yè)機(jī)器人培訓(xùn)專家為您講解流程控制類指令及其編程應(yīng)用

      智通工業(yè)機(jī)器人培訓(xùn)專家為您講解流程控制類指令及其編程應(yīng)用

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

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

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

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

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

      ProcCall指令

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

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

      工業(yè)機(jī)器人培訓(xùn)專家友情提醒您:
      ????程序可相互調(diào)用,并反過來調(diào)用另一個(gè)程序。程序亦可自我調(diào)用,即遞歸調(diào)用。允許的程序等級(jí)取決于參數(shù)數(shù)量。通常允許10級(jí)以上。

      RETURN指令

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

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

      說明:當(dāng)程序指針從主程序自動(dòng)執(zhí)行到”RETURN;”指令時(shí),則程序指針立即返回到” reg1 := 6;”這一行并繼續(xù)往下執(zhí)行。而”RETURN;”指令后的” reg1 := 3;”則被跳過不執(zhí)行。
      如果不使用RETURN指令,則當(dāng)調(diào)用的子程序Routine1()執(zhí)行完畢后,自動(dòng)返回main()程序。
      ?
      如果RETURN所在程序是一個(gè)函數(shù),則同時(shí)返回函數(shù)值。比如下面使用實(shí)例2:
      ?
      使用實(shí)例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
      說明:這是一個(gè)自己做的偏移功能函數(shù),等同于OFFS,RETURN返回的是pTest所代表的位置值。詳細(xì)的功能函數(shù)介紹也可以參考之前更新的內(nèi)容。

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

      流程控制類指令應(yīng)用示例

      例題1:rYuan是一個(gè)畫圓的例行程序名稱,rFang是一個(gè)畫方形的例行程序名稱,nCount是一個(gè)num型的數(shù)據(jù)名稱。編寫程序完成以下要求:nCount等于1,3,5,7,9時(shí)畫方形,nCount等于2,4,6,8,10時(shí)畫圓,如果nCount大于10則停止運(yùn)行。如圖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

      關(guān)于各種指令智通工業(yè)機(jī)器人培訓(xùn)專家就給您介紹到這辣,若有其他疑問歡迎掃碼咨詢課程老師哦!
      日本精品高清一二区一本到,国产精品思思五月婷高清在线,最新日韩精品中文字幕,免费AⅤ大片在线观看 国内精品久久人妻白浆 午夜宅男永久免费观看无码