報名人數(shù)298905
          資訊中心 > 課程相關(guān)資訊 > 機器人培訓(xùn) > 機器人培訓(xùn) >?TEST指令,GOTO、LABEL指令,STOP指令

          TEST指令,GOTO、LABEL指令,STOP指令

          時間:2021-06-04 16:24 來源:

          下面智通教育給您帶來TEST等各種指令 

          1.TEST-根據(jù)表達式的值
          TEST指令可以對表達式或數(shù)據(jù)的多個值進行判斷,根據(jù)不同的值執(zhí)行相對應(yīng)的指令。該指令的使用格式如下:
          TEST <表達式>
          CASE<值>:
            …
          CASE<值>:
            …
          DEFAULT:
            …
          ENDTEST

          使用實例1:
          TEST reg1
          CASE 1:
            MOVL p10,v1000,fine,tool1;
          CASE 2,3:
            MOVL p20,v1000,fine,tool1;;
          DEFAULT:
            stop;
          ENDTEST
          說明:對reg1的值進行判斷,如果為1,則線性移動至p10點,如果為2或3,則線性移動至p20點,否則機器人停止運行。
           
          使用實例2:
          TEST go1
          CASE 2:
            routine1;
          CASE 6:
            Routine2;
          CASE 7:
            Routine3;
          DEFAULT:
            TPWrite”waiting!”
          stop;
          ENDTEST
          說明:對組輸出信號go1的值進行判斷,如果為2,則執(zhí)行例行程序routine1,如果為6,則執(zhí)行例行程序routine2,如果為7,則執(zhí)行例行程序routine3,否則寫屏“waiting!”并停止。


          工業(yè)機器人培訓(xùn)專家的小貼士:
              1. TEST指令可以添加多個“CASE”,但只能有一個“DEFAULT”。
          2. TEST可以對所有數(shù)據(jù)類型進行判斷,但是進行判斷的數(shù)據(jù)必須擁有值。
          3. 如果并沒有太多的替代選擇,則亦可使用IF…ELSE指令。

          2. GOTO、LABEL指令

          在程序運行中,如果要將程序執(zhí)行轉(zhuǎn)移到相同程序內(nèi)的另一線程,可以用GOTO和LABEL組成的跳轉(zhuǎn)標簽指令達成。
          GOTO-轉(zhuǎn)到新的指令
          GOTO用于將程序執(zhí)行轉(zhuǎn)移到相同程序內(nèi)的另一線程(標簽)。
          LABEL-線程名稱
          Label用于命名程序的指令。
          如果程序執(zhí)行到GOTO指令,則程序的執(zhí)行將會直接跳轉(zhuǎn)至相對應(yīng)的LABEL處,并執(zhí)行LABEL后的指令。
           
          使用實例1:
          MoveL pPlace, v1000, fine, tool1;
          Reset do1;
          WaitTime 0.5;
          GOTO Pick;

          Pick:
          說明:線性移動至放置點pPlace后,復(fù)位輸出信號do1,然后等待0.5s,程序再移動至名為Pick的標簽處繼續(xù)執(zhí)行。
           
          使用實例2:
          IF reg1 < 9 THEN
              GOTO L1;
          ELSE
              GOTO ST;
          ENDIF
          L1:
          ...
          ST:
          ...

          說明:如果reg1的值小于9,則程序跳轉(zhuǎn)至名為L1的標簽處繼續(xù)執(zhí)行,否則跳轉(zhuǎn)至名為ST的標簽處繼續(xù)執(zhí)行。
           
          使用實例3:
          reg1 := 1;
          next:
          ...
          reg1 := reg1 + 1;
          IF reg1<=5 GOTO next;
          說明:如果reg1的值小于等于5,則跳轉(zhuǎn)至名為next的標簽處繼續(xù)執(zhí)行“…”所代表的程序。這個實例中,“…”所代表的程序總的會被執(zhí)行5次(reg1=1、2、3、4、5)。
          工業(yè)機器人培訓(xùn)專家的小貼士:
              1. LABEL需要先進行創(chuàng)建才能在使用GOTO指令時直接進行選擇。
          2. GOTO指令限制:僅能將程序執(zhí)行轉(zhuǎn)移到相同程序內(nèi)的一個標簽。

          3. LABEL的名稱創(chuàng)建具有唯一性:不能與程序內(nèi)其他標簽名相同;不能與程序內(nèi)的所有數(shù)據(jù)名稱相同。

          3. STOP指令

          STOP-停止程序執(zhí)行
          STOP指令用于停止程序執(zhí)行。在Stop指令就緒之前,將完成當(dāng)前執(zhí)行的所有移動。該指令的使用格式為:
          Stop [ NoRegain ] | [ AllMoveTasks ];
          如果STOP指令使用變量NoRegain,若機械臂和外軸已遠離停止位置,則不會再返回;如果不使用變量NoRegain,若機械臂和外軸已逐漸遠離停止位置,則會進行相關(guān)提示,用戶可選擇是否返回停止位置。
          如果STOP指令使用變量AllMoveTasks,則所有運行中的普通任務(wù)都將停止;如果不使用變量AllMoveTasks,則僅停止該指令所在任務(wù)中的程序。

          使用實例1:
          TPErase;
          TPWrite “Restart Error!”;
          Stop;
          說明:示教器顯示屏輸出“Restart Error!”消息后,停止程序執(zhí)行。
           
          使用實例2:
          MoveL p1, v500, fine, tool1;
          TPWrite "Jog the robot to the position for pallet corner 1";
          Stop NoRegain;
          p1_read := CRobT(Tool:=tool1 WObj:=wobj0);
          MoveL p2, v500, z50, tool1;

          說明:通過位于p1的機械臂,停止程序執(zhí)行。運算符點動,機械臂移動至p1_read。關(guān)于下一次程序起動,機械臂并未恢復(fù)至p1,因此,可將位置p1_read儲存在程序中。


          工業(yè)機器人培訓(xùn)專家的小貼士:
          Stop、EXIT、Break都有停止程序運行的含義,但它們之間又各有區(qū)別,具體為:
          1. Stop指令用于臨時停止程序執(zhí)行,程序指針會保留,并且還可以繼續(xù)運行。
          2. EXIT指令用于永久地停止程序執(zhí)行,程序指針會消失,要繼續(xù)程序執(zhí)行需重置程序指針。
          3. Break指令是指中斷程序執(zhí)行,無論機械臂是否到達目標點,機械臂立即停止運動。
          歡迎掃碼添加老師微信,隨時隨地為您解答課程疑問。