机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程5 H; I8 d6 k0 d* }* w
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];6 i8 b2 W' C+ D3 U4 j2 J
[\InPos] :                提前量开关。        ( switch )      
" E+ c6 t( R5 z2 ^Cond:                判断条件。        ( bool )
$ V! M+ K. \; I% z% A" n; c[\MaxTime]:        最长等待时间 s。( num ) 0 V; z% a2 g/ H3 g4 A- ^, ?2 F
[\TimeFlag]:        超时逻辑量。        ( bool )0 ~3 j3 d$ W7 }) H

* o/ Z! D" m$ E. l3 Y) f& p
ABB机器人程序流程指令WaitUntil-应用:; {- s( V3 x( s, M1 B+ a' `
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
  j7 H4 I! N3 P0 e
- {9 P- a; I- hABB机器人程序流程指令WaitUntil-限制:
* @" z6 g) `* h. T# ~& o
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。" C! \+ j0 t& M) F1 t3 V8 o
8 |: S/ m( h- d( T3 H
ABB机器人程序流程指令WaitUntil-实例:0 J# R5 _+ o& N# t) m
        PROC PickPart()- E# ]4 W2 c& ]/ y
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
$ A  j/ ^- A) c( X/ M          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。. |1 f9 ^  P# j0 o1 R
          (WaitDI di_Ready,1;)* U! s  y  ^; Q! `4 K+ z
; G& q) K, U3 v# j
        PROC PickPart()
2 D* U& W. `  P5 ?3 p) K4 f! P+ W# o2 s          MoveJ pPrePick,vFastEmpty,zBig,tool1;
' `' B+ K8 u- M' y          WaitUntil nCounter=4\MaxTime:=5;3 J: |7 z  P) @' O  ]( L- E! k
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。& y# z( W  o; O6 i
        ERROR7 e" r& s( X' e* t7 W8 r9 Y
          IF ERRNO=ERR_WAIT_MAXTIME THEN
3 c& _! x5 s& F$ m: `            TPWrite “……”;* o/ y4 @4 ]+ A; f/ R- V# S9 x& h
            RETRY;
* n$ s( I# v% E( D5 k$ f          ENDIF
2 p& m0 R% S' q) b2 O" D" K        ENDPROC) f. t: B$ o  x# n  ]1 l

# x# a* i7 o# X& n2 r- \8 Q( a. p1 qABB机器人程序流程指令WaitUntil-实例:" \/ R. d2 ?8 n7 q! V
        PROC PickPart()0 v  q5 k. R; G9 T) r6 Q
          MoveJ pPrePick,vFastEmpty,zBig,tool1;2 U* _  _: ~! m8 P* @# R3 {" U
          bTimeout:=TRUE;
1 s' X  w2 |- t4 @4 s8 y) l          nCounter:=0;
2 q: P) k1 n& j0 p. E          WHILE bTimeout DO
- t6 B2 |/ Y5 M0 G; X" Q; v! V            IF nCounter>3 THEN& D, ^' ?0 `. e6 X! d3 u- U
              TPWrite “……”;
; p) [& U# D( D4 x# k7 j6 Q            ENDIF
3 U% \0 W+ O/ f1 c# [4 q7 I% }            IF nCounter>30 THEN
# x- N0 f% @/ C  t& j" r  p              Stop;5 Z, ]% B: B- f' Q; K
            ENDIF
8 e+ @' }' h; ]4 k2 m            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;% K* R3 i1 H0 X0 ^5 P2 k, G0 t
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
8 c9 O6 L) d. n* @# D9 Z- K3 b          ENDWHILE
! Q- d/ ^+ {8 ?# F9 O" t2 O& M          …% w+ B  H8 H0 l* [. S
        ENDPROC
3 Y# O/ J  T) e8 }
回复

使用道具 举报

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

GMT+8, 2025-8-22 11:50 , Processed in 0.066729 second(s), 22 queries .

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

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