机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程4 m/ n$ i, L1 X" m
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
* k, r% r. h1 e0 l! x[\InPos] :                提前量开关。        ( switch )      
7 F# y2 }6 P* W( ICond:                判断条件。        ( bool )
& A& [; V- R# H$ e5 l1 }5 k' o" V  [[\MaxTime]:        最长等待时间 s。( num ) 7 q0 l4 h- r5 c5 U
[\TimeFlag]:        超时逻辑量。        ( bool ); Y* G, |2 ^# `  a' f, h

  P- Z' V1 M) p4 |& N
ABB机器人程序流程指令WaitUntil-应用:
' {+ |7 i7 c8 z+ f3 m        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
$ U& K! F) B& ]# {+ l) Z. d4 s$ |' L/ X. V; V
ABB机器人程序流程指令WaitUntil-限制:
/ A0 M0 [! [% q9 r* s
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    : v. v, \, |9 j7 A

+ }6 W" W/ `% P3 P6 w  M  v' ]ABB机器人程序流程指令WaitUntil-实例:
, K- @' G; S! @        PROC PickPart(); r3 o2 n9 N3 Z- x
          MoveJ pPrePick,vFastEmpty,zBig,tool1;' @5 I/ L. p8 U
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
  S& T3 u: N7 A% f! m  j          (WaitDI di_Ready,1;)
5 y4 l$ y. k' u0 o& A' A) c: f/ \5 Q, a  c7 O: v- {9 k
        PROC PickPart()# I2 K+ H2 @/ H9 }. J" e; C
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
0 @' q1 d3 s. H. x+ J          WaitUntil nCounter=4\MaxTime:=5;0 d. B, i) D. k! Q) `8 D4 N, ~/ Z: {0 O
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
! x* T3 k+ c: n& E; R& W        ERROR
8 a$ ?* ~8 A" J# M          IF ERRNO=ERR_WAIT_MAXTIME THEN
4 F" g1 H( j6 U; V" M            TPWrite “……”;
9 N/ R& b" T2 R            RETRY;' @4 ~8 \# y( x1 y- R
          ENDIF: e+ O* x) T' f# z6 i: r2 l
        ENDPROC! [+ ]. Y7 k7 `0 l
; Z) A, L+ _; O% C% Q4 j: w+ A* Z
ABB机器人程序流程指令WaitUntil-实例:. B+ f4 G5 ^) B" \
        PROC PickPart(). L& x" o3 I' H  @2 W4 z
          MoveJ pPrePick,vFastEmpty,zBig,tool1;' v/ _2 d. d9 x; I
          bTimeout:=TRUE;
' v; h9 `/ e* }: s6 e% K          nCounter:=0;
9 ?- q7 \3 t$ N2 K$ d          WHILE bTimeout DO8 ^6 A9 Z7 s& \! L1 v
            IF nCounter>3 THEN; y& ~& Z2 V& C' v9 J
              TPWrite “……”;
! E: N  L# e9 z/ O4 m6 _            ENDIF
; P9 Y! n2 u" u, G( P" }+ Q! o" X            IF nCounter>30 THEN" N# U& Z/ M+ {0 {3 A* V
              Stop;
1 K7 e% O! t8 c& T            ENDIF
; w! C1 R+ W1 K6 i4 @# {1 Q            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;7 G  |6 K1 I5 \0 Z
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
; ~& K9 C4 l$ F1 }& P2 h          ENDWHILE2 H( }* i  X9 y+ |) F) ?8 x3 U
          …
) t: n! ], K; g        ENDPROC- M7 r! l3 ]+ v2 T
回复

使用道具 举报

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

GMT+8, 2026-9-14 05:19 , Processed in 0.062637 second(s), 21 queries .

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

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