|
|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
程序流程指令WaitUntil-ABB机器人标准指令编程; B! g. L @6 H0 K/ Y: g- @0 J* ^
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];) S+ X% u+ @* B7 S& Z+ S; c
[\InPos] : 提前量开关。 ( switch )
; s3 k: L; O, A# ~9 u: jCond: 判断条件。 ( bool ) 6 ]( [: P# l0 P u. J8 c3 r: Y7 }+ ?; \
[\MaxTime]: 最长等待时间 s。( num )
. {( H7 ^6 F# z' a[\TimeFlag]: 超时逻辑量。 ( bool )! s+ ]: u0 w& t# b9 u
4 ]; h$ k- v) n# g
ABB机器人程序流程指令WaitUntil-应用:# Q; S4 C4 z% [
当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
c5 K8 d, T9 k8 x0 i" j1 \' F& a
ABB机器人程序流程指令WaitUntil-限制:
* h! S" ~4 t9 O4 W! H& I- 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。' p- `" z6 l6 Q; z6 G
4 A! q% y. ~& }" I5 ^
ABB机器人程序流程指令WaitUntil-实例:
$ n9 U4 r# t% a: O) n& n PROC PickPart()
0 i( w0 g! f/ W9 y+ J$ S) Z& ? MoveJ pPrePick,vFastEmpty,zBig,tool1;
; R ^9 \' R% J, O3 n WaitUntil di_Ready=1; →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。7 P% T8 N! H2 \6 S7 L6 z' |
(WaitDI di_Ready,1;)
0 T, `9 X/ G( h$ ^+ i9 q8 W+ ^2 ^# }5 R
PROC PickPart()/ X2 C- m+ z& c; M# T/ H! g
MoveJ pPrePick,vFastEmpty,zBig,tool1;0 J* ]+ n! J4 C" S% Z7 g0 K
WaitUntil nCounter=4\MaxTime:=5;
1 [; p r/ T* H# N … →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
3 ~. p0 y# q, q6 n5 r ERROR1 g8 V8 ^! y: i- I& E1 J
IF ERRNO=ERR_WAIT_MAXTIME THEN" r% F& B' `8 R* n
TPWrite “……”;$ Q; R" t* c3 Z* u
RETRY;
* E: w8 E/ s2 T: \; a- E ENDIF- p* n5 r7 j7 l% G3 e+ R
ENDPROC+ x5 P! d* J4 z+ N
/ ^: {' J [" j8 J7 i. I& aABB机器人程序流程指令WaitUntil-实例:
5 N, r3 S2 m7 w+ l x PROC PickPart()
4 T5 Q5 q& F8 h MoveJ pPrePick,vFastEmpty,zBig,tool1;
& e2 }7 ~4 |& C% Y: | bTimeout:=TRUE;
! l- W) ?1 h c3 G nCounter:=0;! Y3 n3 e' k- {4 b' c
WHILE bTimeout DO
( I3 ~3 `! I$ O1 M1 i& G( B IF nCounter>3 THEN$ p Y& O* G) X6 m0 B
TPWrite “……”;
3 M" R! Z1 H2 \4 e( g c: e7 Y ENDIF- \0 {# O( A, E2 n# [8 B
IF nCounter>30 THEN$ a6 N, |/ y7 E' V7 M* Z
Stop;" H6 ?% k: B* ?
ENDIF
) e$ W3 z# I& i8 M% Q WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;3 @2 J3 N; W, a! n d7 G% x- l
Incr nCounter; →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
4 s" F: c" G( H* k/ j+ l9 D2 Y ENDWHILE
8 r4 w7 }6 M: w% B0 \! A …
B: `; u J6 ?$ X S+ C1 i& F ENDPROC0 v4 j9 X2 W0 `" u4 B
|
|