|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
程序流程指令WaitUntil-ABB机器人标准指令编程
3 ~: @+ V# [* O3 ^% tWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
( A1 b% \+ a/ \$ t6 p F[\InPos] : 提前量开关。 ( switch ) 3 K* C' b/ |5 h, A
Cond: 判断条件。 ( bool )
0 _# {4 ^+ y" m[\MaxTime]: 最长等待时间 s。( num ) ! k( S7 ~3 D q: n# q' \# A
[\TimeFlag]: 超时逻辑量。 ( bool )' g4 i- x: q$ C0 n
, F1 n# [$ \+ Q4 AABB机器人程序流程指令WaitUntil-应用:
5 e! Z5 u$ h/ K- L, n- H4 Y7 l 当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。5 k. `; M, j/ q" \ O& s+ j2 ?$ L
7 D! j1 u i5 S4 a1 n& p" m6 `ABB机器人程序流程指令WaitUntil-限制:" g6 \! x! m0 T9 O2 W
- 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。& E( O8 V+ |0 f$ h V1 N7 P; T
4 e1 g F0 E0 e! ^% gABB机器人程序流程指令WaitUntil-实例:* _7 Y5 k& P* N" ]. M$ S V
PROC PickPart()/ ^: ?9 i- p. K; G
MoveJ pPrePick,vFastEmpty,zBig,tool1;' S# }# N, P9 v. C: [; u% ^6 r( A
WaitUntil di_Ready=1; →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
; r C% H! m3 [0 x0 u (WaitDI di_Ready,1;)5 t* V2 {% H3 ^7 S
9 _) c2 s1 r T PROC PickPart()- e# Q; d* n! ~. g
MoveJ pPrePick,vFastEmpty,zBig,tool1;$ h: O. K7 G( w/ |
WaitUntil nCounter=4\MaxTime:=5;
4 `, J( b" m1 @) m/ V … →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。$ r" ^" Q2 p( z* K# B" o
ERROR7 ~! u' q. U% b' V" i# [, V! S
IF ERRNO=ERR_WAIT_MAXTIME THEN. L" c% I6 S! s2 A/ s8 A" f: K3 _/ m
TPWrite “……”;
7 A( H0 S' _3 n U RETRY;
( \% g5 K1 Q# d0 E; a9 o ENDIF: u9 j* G! |- w/ G# V: W
ENDPROC
) r% ^% l/ G/ m/ y* F* T5 l v! |- g
; Y# T( N4 _+ r9 M1 a* xABB机器人程序流程指令WaitUntil-实例:
! k$ k$ Y3 I8 i `: w, s& ? PROC PickPart(): T( f" C# y, @; Q" t; j: [/ p
MoveJ pPrePick,vFastEmpty,zBig,tool1;
) R4 n( G) W( N/ Z; I. a2 G bTimeout:=TRUE;
& c2 B- M/ K1 ^" W8 [ nCounter:=0;* q* Y, C1 B$ M
WHILE bTimeout DO7 ]8 D- s$ S" K4 b
IF nCounter>3 THEN
$ y; `2 M. s* L TPWrite “……”;) d$ M% t3 _: k1 u
ENDIF
4 |+ d& L5 h, H/ A) k. @ IF nCounter>30 THEN: a, D( l3 v! B7 `7 @6 C2 u3 [1 E
Stop;
) N9 Y0 C- x9 x6 ~# x( o ENDIF
- k3 X2 P. q7 L% W" W WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
2 u- m) d% W+ N; N. U1 I0 y Incr nCounter; →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。# ? p, f J3 N L- O
ENDWHILE
4 ]! j& Y, L i( x! A& P …
7 e, U/ b4 b$ }/ q7 P ENDPROC
2 L6 a2 @ m( L. B/ ^; W1 ` |
|