机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程: }1 I6 Z. n9 [/ a9 Y6 v7 p0 C. B
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
' \" D- z' f* g  R9 I6 a$ n& r[\InPos] :                提前量开关。        ( switch )      
1 N& B. ?# p  u: Q! _3 ^Cond:                判断条件。        ( bool ) % c/ J- I5 \! U: f: L4 T5 T  O
[\MaxTime]:        最长等待时间 s。( num )
: M. C& p% b# a[\TimeFlag]:        超时逻辑量。        ( bool ); D/ v4 W( h# l


+ R1 N8 S% A# O5 D" y! ~( UABB机器人程序流程指令WaitUntil-应用:
' Y4 v. T8 K2 f) r        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
1 ]  v  i$ z, u1 G+ E
$ x; b1 c& ]9 oABB机器人程序流程指令WaitUntil-限制:
" [% q" _% E3 a3 V
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。$ k) I% A9 a/ }" V
5 p8 V6 A$ ^7 m1 R
ABB机器人程序流程指令WaitUntil-实例:+ T/ `% }1 w; v" ^$ f
        PROC PickPart()
) @$ ~2 g" s$ ~          MoveJ pPrePick,vFastEmpty,zBig,tool1;
6 p: Q$ _+ g6 A$ l          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。* @1 ]9 ^+ z! p
          (WaitDI di_Ready,1;)! O# K) j" L7 X( D9 v5 j( N
; }0 p2 f; ]8 v0 y7 p0 }4 u- \
        PROC PickPart()- ~5 g. c% ^7 z* v( [# H- f  ^
          MoveJ pPrePick,vFastEmpty,zBig,tool1;# G$ J2 F4 ]; p1 |
          WaitUntil nCounter=4\MaxTime:=5;) p& r7 o, p" b( X+ t) t6 J, z
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
. W5 h0 o* k3 k3 V        ERROR: q1 r6 F% v  m* u, E
          IF ERRNO=ERR_WAIT_MAXTIME THEN
& D* [8 ~  P% @% R) v            TPWrite “……”;+ z+ v8 O& l, a, b
            RETRY;
; D# y& A( z2 N" x% T0 d% S! t9 o          ENDIF
  r$ K$ y- M1 U" k        ENDPROC
4 W9 s+ R( }, W/ Q
6 m1 V8 Y1 [- s+ {ABB机器人程序流程指令WaitUntil-实例:
- ~- J6 t* \- y4 _5 ]8 a        PROC PickPart()8 R" D+ O# r$ l/ q' o: X6 s- @/ y0 Z& o
          MoveJ pPrePick,vFastEmpty,zBig,tool1;0 ?& x# Y7 F+ L  q4 e7 f5 I
          bTimeout:=TRUE;
1 ~; M/ _% A) D, p          nCounter:=0;% ^/ j* Y5 [# ?8 N$ C
          WHILE bTimeout DO
6 Y- g8 z! B9 H) u) o            IF nCounter>3 THEN% S7 q% C' U' _
              TPWrite “……”;
) C' \/ b' \& Y! j            ENDIF" h7 Y- A! i, @
            IF nCounter>30 THEN% ^* V' L  U. W6 O- a9 i! a
              Stop;
/ y) j3 v% \  o; c9 s3 V( y& {            ENDIF
4 d! A" C1 ]5 K, }+ w+ B5 D% ?& O            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
. @' f' V: J. @1 H! ]$ n+ H8 w            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。7 A5 ~! R/ G: j8 H  f
          ENDWHILE7 o) ]9 S: x% M* o$ Y
          …2 |1 F* C9 z% I
        ENDPROC
( g0 \  J3 @# W4 _
回复

使用道具 举报

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

GMT+8, 2024-11-25 01:53 , Processed in 0.064008 second(s), 21 queries .

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

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