|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
程序流程指令WaitUntil-ABB机器人标准指令编程" J9 m; H8 V# V% m% i- |9 y. d
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
$ T* r) H) J$ ][\InPos] : 提前量开关。 ( switch ) 4 b* \* T% ]/ L2 z. B- H1 j
Cond: 判断条件。 ( bool ) - D& f3 c Q: h/ g5 |- ^ R
[\MaxTime]: 最长等待时间 s。( num )
" N& `8 U& }" D0 ]" E[\TimeFlag]: 超时逻辑量。 ( bool )
N& H- H. }& ?) M7 Q * o; j! |5 K; u2 k- @
ABB机器人程序流程指令WaitUntil-应用:# F/ x) W6 h8 X: z6 b0 D
当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
' z: a% [, r n( M3 A- [# N
: ?) [3 f# n( h, H2 j aABB机器人程序流程指令WaitUntil-限制:8 k7 N0 x! ~2 U6 F+ W" {3 r# ^
- 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。; p1 z! A* S/ L' d w7 [, ]
6 o8 s2 c; h) f! A0 B. u/ A. o
ABB机器人程序流程指令WaitUntil-实例:
. [9 p S L$ r7 x5 R PROC PickPart(), O5 P1 u) N' u$ ^- _! j
MoveJ pPrePick,vFastEmpty,zBig,tool1;8 p6 w: i8 F$ y8 ~ e& Z: |& x9 f
WaitUntil di_Ready=1; →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。 N% W' ^+ i: X v- D
(WaitDI di_Ready,1;)
. |9 a; D7 }# C2 { v0 x- G' a: G! ^6 e; W
PROC PickPart()) y. S5 j$ e8 N0 A, O
MoveJ pPrePick,vFastEmpty,zBig,tool1;
% Y$ |# W l; ~, N WaitUntil nCounter=4\MaxTime:=5; i/ h) u% J0 H0 V, r3 l5 K- P) k
… →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。1 R4 B) G+ _# S2 I- X, E4 H/ z0 W
ERROR5 Z& G% r n( [* L& ^6 q- R
IF ERRNO=ERR_WAIT_MAXTIME THEN
+ w n* A0 x6 m0 N1 O5 [ TPWrite “……”;
+ Q% w( ?7 H$ e* c RETRY;
( L% } A& D$ p1 W: G ENDIF# e9 K* u s% H# s' v! M; v o7 f& Y
ENDPROC3 V% U! {: T3 ?2 H! c* n" H2 p
+ k9 l. T- V1 E, C3 Y& t
ABB机器人程序流程指令WaitUntil-实例:
: F, H1 w. k8 E) |3 t1 z. N PROC PickPart()( y3 x0 D' h* p
MoveJ pPrePick,vFastEmpty,zBig,tool1;7 L7 Q4 I7 k- U. [
bTimeout:=TRUE; |0 _, F! q% m4 {/ Q7 k8 G
nCounter:=0;0 @. F' v' I$ {* p% A/ \
WHILE bTimeout DO6 b+ |' }$ [/ J+ W# j* Q" Q; d
IF nCounter>3 THEN5 }# J- R8 K/ W B. E
TPWrite “……”;9 B1 @/ |# ?& Y2 M6 C: G
ENDIF
+ V+ I1 B6 y _2 s5 | IF nCounter>30 THEN
- H: ^( v! Q- i! N Stop;3 H" M% O1 d7 N6 d% D9 D: P, x
ENDIF
3 Y7 S9 N- ]; m5 x1 r WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
: R/ |. V6 c0 V+ V) n2 ] Incr nCounter; →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
. B% ^* F' n3 s) U ENDWHILE
2 ], I* r& ?7 i. u4 e4 L+ J9 K! Y/ f …# L. E( ^9 [/ G$ v
ENDPROC
, K: ~$ I2 X" g3 Q, r6 n |
|