机器人教程网

 找回密码
 立即注册
查看: 10410|回复: 0
打印 上一主题 下一主题
收起左侧

[ABB示教] 程序流程指令WaitUntil-ABB机器人标准指令编程

[复制链接]
跳转到指定楼层
楼主
发表于 2019-10-16 11:59:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

注册用户,获取RB币,享更多免费资源下载和阅读权限。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
程序流程指令WaitUntil-ABB机器人标准指令编程
) X" X+ L1 G6 l5 [0 eWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
# ~( n0 l2 A# _[\InPos] :                提前量开关。        ( switch )      
9 I% m/ L& V" E! U% u$ }Cond:                判断条件。        ( bool )
1 @2 k) t7 v6 V" o' Z/ w2 A[\MaxTime]:        最长等待时间 s。( num ) 5 ?* q% v& R, [; G6 x. v- ^
[\TimeFlag]:        超时逻辑量。        ( bool )
- e/ ^) f6 |" K, b
7 z/ Q4 n* z, Q* L/ e2 v
ABB机器人程序流程指令WaitUntil-应用:# s+ x* M7 k# Y; L& d. f0 Y
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。0 p0 F  K  Q; u- F, e( ^
9 N8 @! u$ K! ]5 o. V2 F0 m# U3 C( e
ABB机器人程序流程指令WaitUntil-限制:
' _1 n* P5 O) w* K7 X# Y
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    0 n" J% {, }3 L5 t. l

+ I$ x$ A6 Y6 b: C! VABB机器人程序流程指令WaitUntil-实例:
$ l2 c" y% N: D5 W) {        PROC PickPart()
: o- |/ F7 ~2 ^" j* w          MoveJ pPrePick,vFastEmpty,zBig,tool1;
3 o$ f# [( v5 {          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。  H) x! O7 W5 ?7 L/ K
          (WaitDI di_Ready,1;)
; @* e! e/ _1 L4 J) X- r1 X
$ f4 @1 I* L. i2 G2 M        PROC PickPart()' M" u3 O8 G# Y; h1 W$ Z
          MoveJ pPrePick,vFastEmpty,zBig,tool1;7 h; }! l) i2 n1 b3 p1 M" {& E- J' E
          WaitUntil nCounter=4\MaxTime:=5;
/ Z' T0 \+ Z7 l; A# r          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。3 A) p) U5 O; \: P$ X3 F' @/ m- i" y
        ERROR8 `2 o2 R! I2 l9 L
          IF ERRNO=ERR_WAIT_MAXTIME THEN
  s0 |7 A5 b0 M2 @6 F& ?            TPWrite “……”;
4 t  }! w5 F8 u$ n1 F            RETRY;
$ t( D2 {% A! N6 U; U- u          ENDIF
9 A" M. f' B3 a2 a        ENDPROC4 s# F( ^1 C: m* J7 |1 S
* a9 j) W2 {* w, Y2 Q, o
ABB机器人程序流程指令WaitUntil-实例:7 r* x# e1 E8 Y, l- C; a
        PROC PickPart()/ C7 }8 A7 r( w2 k- |
          MoveJ pPrePick,vFastEmpty,zBig,tool1;& F! x9 m4 P3 @
          bTimeout:=TRUE;
: ^; i- o, ?7 L% U8 d: V& A          nCounter:=0;0 b& a' |; d* U* }; }: X* \: V
          WHILE bTimeout DO, m2 ?5 D$ w8 I3 d
            IF nCounter>3 THEN# _4 [  c4 u/ }! o; \5 s  c
              TPWrite “……”;' y* @5 j9 k0 A8 O( \, \3 I
            ENDIF$ o( Q9 x: A/ t% ]: G% P" B
            IF nCounter>30 THEN
( [( e7 N& x' ]% ~              Stop;
) V9 s' W) x# A            ENDIF
& G4 Z* i$ y5 `5 T            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
2 H+ ^9 c0 B1 e( q5 w9 ]  ^' ~            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
- b/ ]( F. V& u0 r$ V          ENDWHILE
/ u/ Z3 z9 w  u! P( v. s          …& g4 L0 }& y5 d9 |/ t3 ?
        ENDPROC
% [  q1 ~5 M) r6 O* _2 J" V+ ~5 t5 Y: U
回复

使用道具 举报

QQQQ:345103927|Archiver|手机版|禁闭室|问答社区|机器人教程网

GMT+8, 2025-4-2 23:34 , Processed in 0.061838 second(s), 21 queries .

Powered by Robotjc.com(网站备案信息:粤ICP备17111093号-1 )

快速回复 返回顶部 返回列表