|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
程序流程指令WaitUntil-ABB机器人标准指令编程' v/ c3 {5 k. n. i5 \4 H, f
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
2 V/ l* T# [* r& y[\InPos] : 提前量开关。 ( switch )
- P7 M2 s# }/ D( TCond: 判断条件。 ( bool )
6 B4 |- \1 }9 u2 J$ F. m. k8 A- c[\MaxTime]: 最长等待时间 s。( num ) 4 a* T5 h+ e _
[\TimeFlag]: 超时逻辑量。 ( bool )
& g; k1 E8 G% s W+ @ / E) k* j& n& F' b. M- ], \
ABB机器人程序流程指令WaitUntil-应用:
0 P# z% k/ E" s# q) N 当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。8 h9 c& N4 Y% r' Q s' b- ?
' R4 Y2 v4 i# K* u! g. |1 t* DABB机器人程序流程指令WaitUntil-限制:' n# j; J1 z8 r* w; y- c0 [
- 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。: N/ R5 M- M1 T0 ^% g- q
0 [" D2 C2 N" i2 u& X" i0 I/ ?; nABB机器人程序流程指令WaitUntil-实例:: E" l# {. R" l) m- \5 k; P
PROC PickPart(). X' d1 E' F3 D' a
MoveJ pPrePick,vFastEmpty,zBig,tool1;! i5 i1 W" P" G) Y% y! O3 N# j
WaitUntil di_Ready=1; →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。( g& D/ }& v9 K% |) a
(WaitDI di_Ready,1;)
) E, a$ O. `7 d0 r' b# c) X# a9 \# a6 [3 B5 D7 l
PROC PickPart()
2 |7 h9 `3 [' f9 i MoveJ pPrePick,vFastEmpty,zBig,tool1;
; r- N# P O& u! `; i& t WaitUntil nCounter=4\MaxTime:=5;
* h8 c: {3 a1 `, \! M; |& M6 `$ U … →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。4 y$ j9 }5 P# Q/ D5 f t
ERROR
A V5 j( F3 D! `$ f+ ~9 B IF ERRNO=ERR_WAIT_MAXTIME THEN6 P; t' e2 ~2 v* V" Y
TPWrite “……”;
6 z# n3 }* E+ l3 w e) h RETRY;3 z! d0 l2 J% R3 ?
ENDIF
( F# m' P: G2 _+ v% _ ENDPROC. x8 R0 o! s! Q3 K2 K) j" O
+ `5 C; V: z+ M9 M5 z
ABB机器人程序流程指令WaitUntil-实例:
, k5 L2 x$ F: @! b$ k PROC PickPart()
! Q( v1 F2 W* ]- E MoveJ pPrePick,vFastEmpty,zBig,tool1;
4 K/ ^" N4 f- m. x& Y5 ^& R# s9 i% f bTimeout:=TRUE;( j3 N8 _( r( t' h4 K9 z, b
nCounter:=0;5 [. j; s! ], z$ ^' s& E% u
WHILE bTimeout DO
" _% j! K, m" M4 \: j0 v+ F) c IF nCounter>3 THEN
* E% z+ p" i1 e$ Z( H! |. g, H$ c( w& ] TPWrite “……”;5 I. A4 s# p" ?, U- k# o% u& C
ENDIF3 D" h! T# b$ ~/ [( M
IF nCounter>30 THEN* T3 a( q- K8 m$ h; t
Stop;/ a; y' ]. Z" K" G
ENDIF8 p1 a& z* o4 Q) E
WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
8 Q2 R6 W: l. ^ Incr nCounter; →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
6 k* S6 ^+ f# J! l ENDWHILE2 I8 K7 u) @ h% N$ d
…
5 R b% a `0 G8 {/ {9 f ENDPROC5 g2 o' o* J8 B& O0 k0 v
|
|