精品久久国产-伊人大香人妻在线播放-黑人大荫蒂老太大-免费人妻无码不卡中文视频-午夜无码国产理论在线

更多聯系我們

廣州子銳機器人技術有限公司

電話:400-878-2528
手機:15889988091
傳真:020-32887675
地址:廣州市番禺區東環街金山谷創意八街1號109


子銳機器人微信


添加微信幫助解決機器人故障

首頁 > ABB機器人維修 >

ABB機器人的數據類型錯誤處理

日期:2020-04-15 人氣: 來源:m.qhdjznet.com 作者:ABB機器人維修

簡介:errnum用于描述在執行過程中,發生的所有可恢復的錯誤。例如程序執行時,被零除。如果機器人程序執行過程中檢測到一個錯誤,錯誤非致命,可以被錯誤處理程序處理。這類錯誤的典型例子是過大的值或者被零除。errnum類型的系統變errno,根據不同的錯誤性質,分……
  
  errnum用于描述在執行過程中,發生的所有可恢復的錯誤。例如程序執行時,被零除。如果機器人程序執行過程中檢測到一個錯誤,錯誤非致命,可以被錯誤處理程序處理。這類錯誤的典型例子是過大的值或者被零除。errnum類型的系統變errno,根據不同的錯誤性質,分配不同的值。錯誤處理程序可以通過讀取這個變量來糾正錯誤,然后執行程序可以正確的方式繼續運行。
  錯誤也可以通過使用RAISE指令在程序中創建。錯誤處理程序通過指定一個能檢測到該特定類型的錯誤號(范圍1-90內或通過BookErrNo指令預訂)作為RAISE的參數。
  示例:
  reg1:=reg2/reg3;
  ERROR
  IFERRNO=ERR_DIVZEROTHEN
  reg3:=1;
  RETRY;
  ENDIF
  如果REG3=0,機器人除法時檢測到發生的錯誤。這個錯誤可以被檢測并通過分配REG3的值為1予以糾正。因此除法可再次被執行,程序可以繼續執行。
  CONST
  errnummachine_error:=1;
  IF di1=0RAISEmachine_error;
  ERROR
  IFERRNO=machine_errorRAISE;
  機器人通過信號DI1檢測出現的錯誤。跳轉到錯誤處理程序。調用的錯誤處理程序調,糾正這個錯誤。machine_error作為一個常數,用來讓錯誤處理程序確切知道發生的是哪種錯誤的類型。
  系統變量ERRNO可以用于讀取最后一次發生的錯誤。許多預定義常量可以用來確定發生的錯誤類型。關于raise,RAISE用于在程序中產生一個錯誤,并調用程序的錯誤處理函數。RAISE同樣可以在錯誤處理函數中使用,將當前錯誤傳送給調用程序的錯誤處理函數。這個指令可以用于跳回高一層的程序結構,例如,底層的錯誤返給主程序的錯誤處理函數。
  參數:
  RAISE [Error no]
  Error no的數據類型為errnum。Errornumber:錯誤處理程序可以通過ERRNO系統變量查找1和90之間任意數字的錯誤。
  舉例:
  MODULEMainModule
  VAR errnumERR_MY_ERR:=-1;
  PROC main( )
  BookErrNoERR_MY_ERR;
  IF=0THEN
  RAISEERR_MY_ERR;
  ENDIF
  ERROR
  IF ERRNO=ERR_MY_ERR
  THENTPWrite"di1equals 0";
  ENDIF
  ENDPROC
  ENDMODULE
  如果di1等于0產生一個錯誤。RAISE會將程序推動到錯誤處理程序處執行。在這個程序中,用戶創建了自己的錯誤號處理指定的錯誤。通過BookErrNo注冊錯誤號并使用。
  MODULEMainModule
  VAR numvalue1:=10;
  VAR numvalue2:=0;
  PROC main()
  routine1;
  ERROR
  IFERRNO=ERR_DIVZEROTHEN
  value2:=1;
  RETRY;RETRY指令用于當一個錯誤發生時,重新運行引起錯誤的指令。
  ENDIF
  ENDPROC
  PROCroutine1( )
  value1:=5/value2;當value2為0的時候,這將導致一個錯誤。
  ERROR
  RAISE;
  ENDPROC
  ENDMODULE
  關于錯誤處理,TRYNEXT-跳過產生錯誤的指令,繼續運行。TRYNEXT指令用于在產生一個錯誤后,程序運行產生錯誤的下一條語句。
  示例:
  reg2:=reg3/reg4;
  ERROR
  IF ERRNO=ERR_DIVZEROTHEN
  reg2:=0;
  TRYNEXT;
  ENDIF
  RETRY指令用于從引起錯誤的地方恢復程序繼續運行。
  示例:
  reg2:=reg3/reg4;
  ERROR
  IF ERRNO =ERR_DIVZERO THEN
  reg4:=1;
  RETRY;
  ENDIF
  reg3除以reg4,如果reg4等于0(零),那么跳轉到錯誤處理程序,重新為reg4賦值。然后RETRY從錯誤處理程序跳出,回到產生錯誤的除法指令,執行除法指令。錯誤處理程序與機器人運動示例(在機器人運動過程中產生某種錯誤時,如何在自動模式下恢復錯誤)
  PROC
  CONSTrobtarget service_pos:=[...];
  VARrobtargetstop_pos;
  ERROR
  IFERRNO=AW_WELD_ERRTHEN
  Currentmovement on motion base pathlevel is already stopped.
  New motionpath level for newmovements in the ERROR handler
  StorePath;
  Storecurrent position from motionbase path level
  stop_pos:=CRobT(\Tool:=tool1,\WObj:=wobj1);
  !Do the workto fix the problem
  MoveJservice_pos,v50,fine,tool1,\WObj:=wobj1;
  Move backto the position on themotion base path level
  MoveJstop_pos,v50,fine,tool1,\WObj:=wobj1;
  Go back tomotion base path leveRestoPath;
  Restart thestopped movements onmotion base path level,
  restart theprocess and retryprogram execution
  StartMoveRetry;
  ENDIF
  ENDPROC

文章來源,工業機器人維修官網:m.qhdjznet.com

主站蜘蛛池模板: 亚洲国产成人久久综合同性| 日本护士吞精囗交gif| 国产精品丝袜无码不卡一区| 天天综合天天做天天综合| 亚洲综合久久一区二区| !精品国产99久久久久久宅男 | 亚洲aⅴ在线无码天堂777| 欧美最猛黑人xxxx| 精品亚洲欧美自拍| 亚洲第一se情网站| 国产精品视频永久免费播放| 狠狠色色综合网站| 成人福利视频| 污污内射在线观看一区二区少妇| 国产午夜福利视频在线观看| 夜夜高潮天天爽欧美| 亚洲综合色区在线观看| 韩国 日本 亚洲 国产 不卡| 国产精品无码专区在线观看不卡| 久久精品久久电影免费| 日韩中文无码有码免费视频| 国产99久久久精品无码| 免费无码av一区二区波多野结衣| 人人爽人人模人人人爽人人爱| 精品日产一卡2卡三卡4卡在线| 国内大量揄拍人妻在线视频| 久久国产精品视频| 国产精品国产av国产三级| 东京无码熟妇人妻av在线网址| 国产成人啪精品视频网站| 96亚洲精华国产精华精华液| 亚洲精品第一国产综合麻豆| 亚洲欧美日韩国产另类电影 | 国产99视频精品免费视频6| 亚洲a∨精品一区二区三区| 精品久久久久中文字幕日本 | 精品久久久久久久久久久aⅴ | 国产大量精品视频网站| 丰满少妇人妻久久久久久| 国产在线拍揄自揄视频菠萝| 国产亚洲精品久久久美女|