| 设为主页 | 保存桌面 | 手机版 | 二维码
51

ABB机器人运营商

ABB机器人运营商

联系方式
  • 联系人:周经理
  • 电话:15900626417
  • 手机:15900626417
新闻分类
  • 暂无分类
您当前的位置:首页 » 新闻中心 » ABB机器人的程序应该如何反向处理?
新闻中心
ABB机器人的程序应该如何反向处理?
发布时间:2020-04-23        浏览次数:582        返回列表

ABB机器人的程序应该如何反向处理?

反向处理器、步退执行、描述

有时执行程序可后退一项指令。步退执行时遇到的有效常规限制如下:

•步退时无法退出IF、FOR、WHILE 和 TEST 语句。

•到达某一例行程序的开头时将无法以步退方式退出该例行程序。

•运动设置指令和其他可影响运动的指令不能向后执行。若试图执行这样的指令,

企业程序使用如下:

MODULEZoneControl()   干涉区模块

   ConST stringT_TXT_INTERLOCK{4}:=["Waiting For Interlock zone "," Be Free","Wrong Interlock Zone Number : ",". Please check again...."]; !

PERS NUM  nZoneBusTime:=0.6;

PERS num     NumZone                              

PERS  string   ZoneInfo                            

   PROC EnterZone(numNumZone,string ZoneInfo)

       VAR string   szstring;

       WHILE ( NumZone>32 OR  NumZone<1)  DO  szstring:=T_TXT_INTERLOCK{3}+ValToStr(NumZone)+T_TXT_INTERLOCK{4};

           SetDoPrgFault;

           SetGO GoRobInfo,21;

          UiMsgBox\Header:="21-Zone Number Out OfRange",szstring\Buttons:=BtnOkCancel\Icon:=iconError;

           ResetDoPrgFault;

           SetGOGoRobInfo,0;

       WHILE

       TEST NumZone   !NumZone =16

       CASE 16:  !

           TakeInterlockNumZone,DiZone16Free,DoReqZone16,DoOutOfZone16;

        TakeInterlock(NUM NumZone,VAR signaldi DiFreeZ,VAR signaldo

DoReqZ,VARsignaldo DoOutOfZ)程序,

......省略其他case

       TEST

       BACKWARD

       ExitZone NumZone;

LOCAL PROC  TakeInterlock(NUM NumZone,VAR signaldi DiFreeZ,VAR signaldo DoReqZ,VARsignaldo DoOutOfZ)

       VAR stringszstring;

       .......

       Set DoReqZ;  

       IF DiFreeZ=0 THEN

           TPwrite"Waiting For Zone "+ValToStr(NumZone)+" Be Free";

       IF!如果DiFreeZ=0,

       WaitUntilDiFreeZ=1;

       Reset DoOutOfZ;

       Reset DoReqZ;

       !Recheck Zone Free

       WaitUntilDiFreeZ=1;

       TPWrite"Robot Move Into Zone "\num:=NumZone;

   PROC


   PROC ExitZone(numNumZone)

       VAR stringszstring;

.........


       TEST NumZone

       CASE 1:

           SetDODoOutOfZone1,1;

           .....

       DEFAULT:

          ........

       TEST

       TPWrite"Robot Move Out Zone "\num:=NumZone;

       TPWrite "Zone"+ValToStr(NumZone)+" Free";

      BACKWARD !

       TPWrite "Becareful!! Robot Move intoZone "+ValToStr(NumZone)+" Again!";

       TPWrite"BackWard Processing - Start Remove Into Zone "+ValToStr(NumZone);

       EnterZoneNumZone,"Back to Zone"+ValToStr(NumZone);

   PROC

   MODULE

BACKWARD   步退处理机制


程序执行至机器人退出干涉区ExitZone(1)时(干涉信号释放),此时发现p20点需要重新示教,或位置需要修改,或者需要执行步退。

如果ExitZone(1)里面没有写BACKWARD,点击步退按钮机器人则不会跳出ExitZone(1)程序去p20点。如果手动将指针选择p20点,实际p20的位置在干涉区以内,这样会很危险(干涉信号已释放),同时跳出程序也很繁琐,指针容易丢失,导致程序在自动情况下,很难再次启动。如果使用BACKWARD。当点击后退时,机器人优先按顺序执行BACKWARD下面的程序(再次请求进入干涉区),执行完成以后跳出ExitZone(1)程序,执行p20点。操作结束以后机器人依然可以继续运行。

如果正常运行或者使用步进时,机器人将不会执行BACKWARD下面的程序。

机器人步退执行ExitZone(1)时,按下面的程序顺序执行,写屏。

“Becareful!! Robot Move into Zone 1,!机器人再次返回进入干涉区,在后退到p20点。

BACKWARD    

TPWrite"Becareful!! Robot Move into Zone "+ValToStr(NumZone)+"Again!";

       TPWrite "BackWard Processing -Start Remove Into Zone "+ValToStr(NumZone);

       EnterZone NumZone,"Back toZone"+ValToStr(NumZone);





更多资讯:ABB机器人