机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程+ p) i; w2 K+ f( W0 M: E0 c
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
+ s6 @  ]5 P3 Z/ u' X[\InPos] :                提前量开关。        ( switch )      
7 o8 k* [; J8 ?. ~' M  cCond:                判断条件。        ( bool )
* u8 D* b/ O, T[\MaxTime]:        最长等待时间 s。( num ) ; P, Z: ?# u8 Q& `9 x; R
[\TimeFlag]:        超时逻辑量。        ( bool )5 g! w' X4 f* x- J( w; e" F


2 _# e/ H5 ~) `& i" NABB机器人程序流程指令WaitUntil-应用:
8 a2 ^0 r( d2 T0 X# u4 G! g- `        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
" V6 |/ a3 a  Q! f2 ?: f) E6 W" x, r: G3 A6 h# T' B
ABB机器人程序流程指令WaitUntil-限制:
8 S  G/ W1 q! s1 l; h& _8 o
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    & t' o" X2 C) a% i( U" ^% d" E
" u8 ^$ ?0 ~* Z) _/ M
ABB机器人程序流程指令WaitUntil-实例:8 u8 h: d" r2 p  V, ^7 P! J& T
        PROC PickPart(): y7 J+ i# w, R  s' a" r
          MoveJ pPrePick,vFastEmpty,zBig,tool1;4 |/ _1 B9 [7 G+ x7 s
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。/ \0 b: W2 \/ G0 \% f1 y
          (WaitDI di_Ready,1;)6 a2 T' A- h8 g1 c3 {! k8 z
# @: E* q! }6 t
        PROC PickPart()
/ f$ z7 |% O* R, S" t/ ]/ g          MoveJ pPrePick,vFastEmpty,zBig,tool1;1 I. C" l9 ]0 e3 T
          WaitUntil nCounter=4\MaxTime:=5;' H: e# G3 k( H4 ^) {7 ?
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
' v' Y" B% X. K( l        ERROR
4 V/ ^2 H; n  Y9 L& ^0 W0 w0 J- B          IF ERRNO=ERR_WAIT_MAXTIME THEN
* G3 e) N5 m$ [3 n            TPWrite “……”;
$ |6 c7 f* G) g% U            RETRY;
/ M  W/ L6 D1 e# h          ENDIF
- B( n# f; \2 ?3 A0 L: i/ s" }        ENDPROC
: ^; ]$ o' n. }6 X/ j2 [# N# b0 o9 ~
ABB机器人程序流程指令WaitUntil-实例:
3 R" T9 Y- l9 F- }" b        PROC PickPart()0 L% C: j+ l; i- Z& g; ?
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
$ N% d" v- u2 D7 Q: b          bTimeout:=TRUE;8 H: C/ `/ d" V1 j
          nCounter:=0;! C9 T+ J0 `0 N- H
          WHILE bTimeout DO3 ~; x0 R( M" R  D+ y" a1 M
            IF nCounter>3 THEN$ t3 p' W3 K0 V: a% G
              TPWrite “……”;% W! `% }0 f* R: R1 X
            ENDIF
) s) ]* \$ A. c$ E3 @! k6 {            IF nCounter>30 THEN. M0 b: n8 ?" E. c
              Stop;
6 |3 t- B8 e0 c' v9 G$ L0 x# D5 \            ENDIF! l0 o: k1 q% ?% o5 ~# s( W" E
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
9 R; a7 Z" u6 r5 A+ s. X6 I            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
- W4 {2 d) Q( L2 D& K          ENDWHILE
( K; |+ w& V+ N5 w+ C          …
7 |4 d' p8 i3 l# D6 n; M# ^        ENDPROC
( O/ t: w3 H$ w* p- R, V) Z
回复

使用道具 举报

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

GMT+8, 2026-6-3 08:47 , Processed in 0.063823 second(s), 21 queries .

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

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