|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
程序流程指令WaitUntil-ABB机器人标准指令编程: }1 I6 Z. n9 [/ a9 Y6 v7 p0 C. B
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
' \" D- z' f* g R9 I6 a$ n& r[\InPos] : 提前量开关。 ( switch )
1 N& B. ?# p u: Q! _3 ^Cond: 判断条件。 ( bool ) % c/ J- I5 \! U: f: L4 T5 T O
[\MaxTime]: 最长等待时间 s。( num )
: M. C& p% b# a[\TimeFlag]: 超时逻辑量。 ( bool ); D/ v4 W( h# l
+ R1 N8 S% A# O5 D" y! ~( UABB机器人程序流程指令WaitUntil-应用:
' Y4 v. T8 K2 f) r 当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
1 ] v i$ z, u1 G+ E
$ x; b1 c& ]9 oABB机器人程序流程指令WaitUntil-限制:
" [% q" _% E3 a3 V- 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。$ k) I% A9 a/ }" V
5 p8 V6 A$ ^7 m1 R
ABB机器人程序流程指令WaitUntil-实例:+ T/ `% }1 w; v" ^$ f
PROC PickPart()
) @$ ~2 g" s$ ~ MoveJ pPrePick,vFastEmpty,zBig,tool1;
6 p: Q$ _+ g6 A$ l WaitUntil di_Ready=1; →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。* @1 ]9 ^+ z! p
(WaitDI di_Ready,1;)! O# K) j" L7 X( D9 v5 j( N
; }0 p2 f; ]8 v0 y7 p0 }4 u- \
PROC PickPart()- ~5 g. c% ^7 z* v( [# H- f ^
MoveJ pPrePick,vFastEmpty,zBig,tool1;# G$ J2 F4 ]; p1 |
WaitUntil nCounter=4\MaxTime:=5;) p& r7 o, p" b( X+ t) t6 J, z
… →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
. W5 h0 o* k3 k3 V ERROR: q1 r6 F% v m* u, E
IF ERRNO=ERR_WAIT_MAXTIME THEN
& D* [8 ~ P% @% R) v TPWrite “……”;+ z+ v8 O& l, a, b
RETRY;
; D# y& A( z2 N" x% T0 d% S! t9 o ENDIF
r$ K$ y- M1 U" k ENDPROC
4 W9 s+ R( }, W/ Q
6 m1 V8 Y1 [- s+ {ABB机器人程序流程指令WaitUntil-实例:
- ~- J6 t* \- y4 _5 ]8 a PROC PickPart()8 R" D+ O# r$ l/ q' o: X6 s- @/ y0 Z& o
MoveJ pPrePick,vFastEmpty,zBig,tool1;0 ?& x# Y7 F+ L q4 e7 f5 I
bTimeout:=TRUE;
1 ~; M/ _% A) D, p nCounter:=0;% ^/ j* Y5 [# ?8 N$ C
WHILE bTimeout DO
6 Y- g8 z! B9 H) u) o IF nCounter>3 THEN% S7 q% C' U' _
TPWrite “……”;
) C' \/ b' \& Y! j ENDIF" h7 Y- A! i, @
IF nCounter>30 THEN% ^* V' L U. W6 O- a9 i! a
Stop;
/ y) j3 v% \ o; c9 s3 V( y& { ENDIF
4 d! A" C1 ]5 K, }+ w+ B5 D% ?& O WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
. @' f' V: J. @1 H! ]$ n+ H8 w Incr nCounter; →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。7 A5 ~! R/ G: j8 H f
ENDWHILE7 o) ]9 S: x% M* o$ Y
…2 |1 F* C9 z% I
ENDPROC
( g0 \ J3 @# W4 _ |
|