机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程: V5 b- C% D  Q  }9 K! W; D
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];7 V( E: R, H/ l" y
[\InPos] :                提前量开关。        ( switch )       # Z4 d5 U! _1 y' f3 E# Q
Cond:                判断条件。        ( bool ) : W( K+ w' }1 w3 |" L" I: \
[\MaxTime]:        最长等待时间 s。( num ) ! l7 P0 K: e  a/ `/ g4 M# }
[\TimeFlag]:        超时逻辑量。        ( bool )4 h3 \" ~" D, u4 u- m( _

6 u  O* W+ z: a* I1 D
ABB机器人程序流程指令WaitUntil-应用:- v  g$ D2 h0 Q7 q
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。& }5 s( B! d4 e# Y% v

9 s" m  _3 X, G$ @5 B0 h( e& RABB机器人程序流程指令WaitUntil-限制:/ t3 K+ |+ _3 q# d
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    3 W4 o- k7 }, x7 ]+ w& |: L9 n
8 m2 _6 J$ X# W) ^/ v
ABB机器人程序流程指令WaitUntil-实例:
5 F! ^$ A2 R$ L: I1 B        PROC PickPart()
8 I# A& F  t7 y* D- k1 o          MoveJ pPrePick,vFastEmpty,zBig,tool1;2 X: y8 ~) f+ `+ v
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
" h+ Y2 {0 {5 ?* P) q          (WaitDI di_Ready,1;)& s' r- Z0 \- M3 ]% ~. H5 T2 B
& y; O0 J$ V! u* [. E; Z8 T2 D
        PROC PickPart()) S- K5 L3 x  e2 e- O- C" a
          MoveJ pPrePick,vFastEmpty,zBig,tool1;, m  e  k' L9 E( n% n7 y- K
          WaitUntil nCounter=4\MaxTime:=5;8 ~: z4 l6 D0 U: P
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
7 ]% }% m. s" Y        ERROR# T5 n) O) b+ u
          IF ERRNO=ERR_WAIT_MAXTIME THEN
& Q% \# Y* m! L            TPWrite “……”;
" A: [6 ~! W7 J; v7 Q4 r; o/ a2 f            RETRY;
# C* v% W( W# Y' `! y% T3 J' n5 c          ENDIF6 _% O: G; ]& `' R1 l, f0 _
        ENDPROC
; I7 Y4 q, B; z
& @/ R, ?. U$ P1 x8 i7 {# }8 f+ oABB机器人程序流程指令WaitUntil-实例:$ `' _/ U  }+ O( ?+ `
        PROC PickPart()6 _/ _* T7 S& i" @/ M7 E
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
8 a# J( ^/ k% t6 i. H          bTimeout:=TRUE;' O% {+ B  G' a7 H8 y( J
          nCounter:=0;8 w" i$ F# k" F
          WHILE bTimeout DO- f: v) y2 D$ _: T0 r6 i9 z
            IF nCounter>3 THEN
0 e: h4 p" A! t' N+ Q              TPWrite “……”;
7 _- x# c0 @5 n0 s  ~            ENDIF
6 g" y8 R. ]5 B/ {" `% P            IF nCounter>30 THEN( U3 H  s+ }9 i) L/ M$ p
              Stop;
* d. z3 ]  T" K% i- Z& R# B- {            ENDIF" `3 U4 p/ a( P
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;$ N6 x; D; P1 P7 F; D" T
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
4 P& N+ Q$ S& c7 I, a. p5 Z1 }          ENDWHILE+ a$ T9 c0 N8 F6 }3 u- b
          …
6 D3 h0 \5 R  N" p$ ^        ENDPROC4 b# a' i  L2 x9 g
回复

使用道具 举报

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

GMT+8, 2026-5-31 12:03 , Processed in 0.062369 second(s), 22 queries .

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

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