机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
# Y: t! \1 ^; |+ B% u- DWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];: y: P' d) O- ]( [
[\InPos] :                提前量开关。        ( switch )       6 A' @1 B1 Y5 [! e
Cond:                判断条件。        ( bool )
& {5 N4 g8 n% |/ }% @/ V$ }[\MaxTime]:        最长等待时间 s。( num ) & H4 N1 e+ n7 _
[\TimeFlag]:        超时逻辑量。        ( bool )
& z* f! |1 A' U( v
0 t/ A* V! A' G. s
ABB机器人程序流程指令WaitUntil-应用:* A8 d: S- c- }& G2 y
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。+ H" N7 I1 a. r" Z) d% ?
' c3 r; B7 m' W, Z* R$ W
ABB机器人程序流程指令WaitUntil-限制:
6 c5 [; l  m5 Q& h7 I: U4 G" P( r
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    . w& Q- V9 i( G, a+ v
# s; V# {( {3 d! N7 }* v! S
ABB机器人程序流程指令WaitUntil-实例:( r  C& f% H. F9 k& o
        PROC PickPart()
8 e7 t% ?6 v8 Z  U( L+ j          MoveJ pPrePick,vFastEmpty,zBig,tool1;4 c+ z6 e  F; A0 n& [* Y" ?1 p
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
# m/ p% ?; |" A7 \: N+ b& P" f          (WaitDI di_Ready,1;)
/ J8 I2 v4 @1 b: g
) ?# o6 R+ i( W! N        PROC PickPart()
  O5 Z4 B. b5 k. ?          MoveJ pPrePick,vFastEmpty,zBig,tool1;
, S5 G( V) M  f          WaitUntil nCounter=4\MaxTime:=5;0 Z. O3 K* O2 T- @
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。" U1 x: _' r& C' _3 |% H2 `9 N' }
        ERROR
3 ?8 f7 R* A( b! X; |' ]          IF ERRNO=ERR_WAIT_MAXTIME THEN9 S# e" q8 y: f8 T' z
            TPWrite “……”;
+ q- O4 P( c& C            RETRY;
' W1 y3 t6 q. Q+ N4 o          ENDIF
/ P- ^! A  s* Z6 @# [        ENDPROC
2 F! c" E9 P! S5 Q4 \5 A* r
7 f" J/ t: i# u/ B. e6 ?/ I6 CABB机器人程序流程指令WaitUntil-实例:
8 k' c/ r8 C  y# n/ W$ {9 |* G        PROC PickPart()
& `  q% \  |9 }* `6 h  q          MoveJ pPrePick,vFastEmpty,zBig,tool1;9 V* S9 S4 _7 Y/ O/ }/ j; `4 h
          bTimeout:=TRUE;( g) E! V% u' S8 w
          nCounter:=0;' d2 ]8 S7 d6 z3 L/ N: t! S
          WHILE bTimeout DO
8 ~0 k4 u  L6 f, N- l: W) E            IF nCounter>3 THEN5 v! o. b3 r/ Q: g5 S; l
              TPWrite “……”;2 o: q. S6 L% @" K
            ENDIF- S/ ]! V. e) d8 G( n
            IF nCounter>30 THEN' n9 k1 p% b. o0 j3 U
              Stop;
" m9 h( S' v& ~' D: V9 z/ e            ENDIF
; P. w6 N3 B" p1 D7 B            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;, U/ M2 E% t' J+ R3 {( U+ N# n
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
0 F1 o. b. o  h          ENDWHILE) s: b0 g( o% G" {' Y
          …" v* g; u* ^. i, {  h& b1 q
        ENDPROC
0 K/ A' d  X& e
回复

使用道具 举报

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

GMT+8, 2026-9-12 12:46 , Processed in 0.065401 second(s), 21 queries .

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

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