机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
2 o' G" D* F1 u, T$ S; OWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
7 M: Y9 s+ v& j6 V; t) U- W. d& E[\InPos] :                提前量开关。        ( switch )       2 I' y; e* ]% k  ~1 ]# m# e
Cond:                判断条件。        ( bool )
' F& ^2 S; N5 D, [[\MaxTime]:        最长等待时间 s。( num )
7 Z$ Y" R+ c! }) b4 W[\TimeFlag]:        超时逻辑量。        ( bool )
1 X2 G1 T3 n2 w% S) r' y
; f6 [2 ~( q. Q! D1 M
ABB机器人程序流程指令WaitUntil-应用:
3 S" @( x0 v  t, r) C; P; `3 u; |        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
  ?$ ?. G4 \& }
, W. f: X2 b, y5 oABB机器人程序流程指令WaitUntil-限制:
& W! C4 _* d" g( R" }3 u9 p
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。  D$ y. S) c- j# D3 U7 [
/ w$ k$ ^& ?7 T! M
ABB机器人程序流程指令WaitUntil-实例:
9 y- J* l: U6 s0 |: F. j# f% c/ {% ]        PROC PickPart()0 A! {" B; U) \2 k3 Y
          MoveJ pPrePick,vFastEmpty,zBig,tool1;, l) x% I& r1 L
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
) Z3 R: Z5 h5 s- z+ H% y/ W. d          (WaitDI di_Ready,1;)
  C# L9 j# S$ a: @2 s8 V6 w" Y$ J7 k3 M% m& i! b
        PROC PickPart()* e' m. |4 O0 ^) s4 J- S' L
          MoveJ pPrePick,vFastEmpty,zBig,tool1;" B) c* }7 z5 q3 t* G7 a
          WaitUntil nCounter=4\MaxTime:=5;
8 X" ~. W$ Q; ?' T          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。. s! ~7 D3 |" k' R0 ?: }
        ERROR' C4 m/ c  I3 R
          IF ERRNO=ERR_WAIT_MAXTIME THEN
& G- u' f+ x6 N5 v& q0 a9 b, v            TPWrite “……”;
# S; t3 d6 b8 t) q            RETRY;, I  l& e' o& x+ F
          ENDIF
$ Z  W# J0 \6 q9 V; f2 P& U* C        ENDPROC
, H3 l/ I- \9 Z/ f2 P
5 h2 |4 m$ M, s5 x. ~! Y& `ABB机器人程序流程指令WaitUntil-实例:
' [6 b& Y. X* }8 p        PROC PickPart()
0 J: `+ S  y  \# X          MoveJ pPrePick,vFastEmpty,zBig,tool1;8 i6 g. E5 ?7 l) T
          bTimeout:=TRUE;
& H* N8 `( M% ^+ l8 w& _          nCounter:=0;
1 j- T$ p0 H. y2 I          WHILE bTimeout DO
/ w7 ?4 [7 |3 V9 n            IF nCounter>3 THEN) O# x1 t/ K% D
              TPWrite “……”;
" X2 L, x8 G7 M            ENDIF1 f3 _6 K+ K3 u& L
            IF nCounter>30 THEN
5 ?* Q: X( c1 `9 J              Stop;! M  ^( p+ r2 [: x( J$ A" _
            ENDIF
( ]+ C1 C/ Y; v1 D            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
* y+ B4 i& \3 n            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
0 q7 j- K  i5 |4 `0 }3 S  z) X( f& H          ENDWHILE+ z% y% H, m' `* ^/ Q
          …8 y5 F+ I( V1 m. d5 o/ u
        ENDPROC: p! t  {$ W+ B
回复

使用道具 举报

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

GMT+8, 2026-8-31 05:44 , Processed in 0.062672 second(s), 22 queries .

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

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