|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
程序流程指令WaitUntil-ABB机器人标准指令编程
- K2 @2 E/ C8 H1 p p* A- Y3 m/ TWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
4 e7 t% m* m! i( n" m- b[\InPos] : 提前量开关。 ( switch )
2 \: M& q( E! QCond: 判断条件。 ( bool ) 3 y9 g! a: ~8 E( V
[\MaxTime]: 最长等待时间 s。( num )
; j5 @4 ^8 Z- R3 _ I[\TimeFlag]: 超时逻辑量。 ( bool )- w' `3 D5 y% X9 E2 R+ D4 W
0 B7 [. e& F; |3 B
ABB机器人程序流程指令WaitUntil-应用:; G+ F4 r) Y9 W/ P& V: L+ v' B
当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
' E' Q! K1 L, @; H: w }7 S
: n. O3 E( h! M6 ]5 G" Q+ XABB机器人程序流程指令WaitUntil-限制:
4 c" z# i1 A+ i- 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。0 s2 J& T! m' [
" S+ N3 a- o$ M0 I @. O
ABB机器人程序流程指令WaitUntil-实例:
& a& d& E6 p( E1 u& m) ?/ G( y PROC PickPart()
* v' t9 c) a/ ]: W4 |7 D MoveJ pPrePick,vFastEmpty,zBig,tool1;/ l6 |. b1 |0 v" Z
WaitUntil di_Ready=1; →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
3 P8 H2 z9 n) [ (WaitDI di_Ready,1;)
, I- f+ R1 x$ u) b, e+ i
6 D) C3 A* E5 V% j$ p/ c- b. s' ? PROC PickPart()
) _" R* x& q3 T/ x" c MoveJ pPrePick,vFastEmpty,zBig,tool1;
! Q2 m& I) z) a WaitUntil nCounter=4\MaxTime:=5;+ l' T. q, D. i. o. k
… →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。( Q$ Q: j, W+ ]2 p9 {$ ]% ~
ERROR3 X8 b1 M$ i6 _
IF ERRNO=ERR_WAIT_MAXTIME THEN
7 k- J% K$ i6 l& a" ~! { TPWrite “……”;
" Y: s8 ^- ^ V% \4 f RETRY;
1 j! |) O; h+ h5 M' z( Y g ENDIF
- l- ?' ?6 S7 C, w8 x ENDPROC+ x4 y( Y) t$ G/ k" N+ h
/ a1 }9 h7 @ TABB机器人程序流程指令WaitUntil-实例:: m9 c* o, T: {; p3 _: x
PROC PickPart()0 o8 ]7 T5 Y. N' X* I3 z0 @
MoveJ pPrePick,vFastEmpty,zBig,tool1;+ ]7 V1 x5 y4 @% m" r3 y2 m2 u9 G
bTimeout:=TRUE;
# R0 o* F8 d- p- X3 K; a nCounter:=0;- W0 f5 `" ], }& D- M
WHILE bTimeout DO/ t1 Y; F" R: G
IF nCounter>3 THEN7 l! c/ Z0 o3 k q2 d) ]
TPWrite “……”;
( v5 k% J( W) O I4 i ENDIF
) _6 M' B7 g3 Y8 x* T IF nCounter>30 THEN
/ E5 R7 u5 r9 |0 z S Stop;1 S+ m3 L& c( g6 K& l
ENDIF
4 M( e( P9 e1 [ WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
8 o: B* [3 E. R Incr nCounter; →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
8 D( l0 Y+ I' \2 W6 V# f ENDWHILE
3 ?/ d% p( x7 Z# x+ T. p0 g …8 y d# R( h1 F% X. z4 R3 c
ENDPROC
& E* c2 i3 ?, f6 s3 O6 Z& O3 D |
|