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

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

      時(shí)間:2021-06-04 16:24 來源:

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

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

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


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

      2. GOTO、LABEL指令

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

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

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

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

      3. STOP指令

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

      使用實(shí)例1:
      TPErase;
      TPWrite “Restart Error!”;
      Stop;
      說明:示教器顯示屏輸出“Restart Error!”消息后,停止程序執(zhí)行。
       
      使用實(shí)例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的機(jī)械臂,停止程序執(zhí)行。運(yùn)算符點(diǎn)動(dòng),機(jī)械臂移動(dòng)至p1_read。關(guān)于下一次程序起動(dòng),機(jī)械臂并未恢復(fù)至p1,因此,可將位置p1_read儲(chǔ)存在程序中。


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

      日本精品高清一二区一本到,国产精品思思五月婷高清在线,最新日韩精品中文字幕,免费AⅤ大片在线观看 国内精品久久人妻白浆 午夜宅男永久免费观看无码