|
|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
程序流程指令WaitUntil-ABB机器人标准指令编程
0 X; Z( b; \% ~$ y# nWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
. @3 P$ H* T9 o0 d0 I[\InPos] : 提前量开关。 ( switch )
3 a n$ Q5 [; j5 Q7 u% eCond: 判断条件。 ( bool )
1 ~. Z6 Z; k3 K& x[\MaxTime]: 最长等待时间 s。( num )
4 m* Y% e5 o3 E2 S& W) X[\TimeFlag]: 超时逻辑量。 ( bool )
+ e( j) i' w& Q( S% [
k+ b8 r8 b IABB机器人程序流程指令WaitUntil-应用:: F/ A7 W% F: V. U& ^
当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。: y+ g* \% y( c) n$ q/ F6 |
/ @8 ^% A! c# \ N: E
ABB机器人程序流程指令WaitUntil-限制:1 \+ P( Z7 r) g. Z
- 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
2 W& o$ a7 r) ?7 W7 N " w- Q* V8 `# n( S( c& R( }
ABB机器人程序流程指令WaitUntil-实例:
' t! X- X3 t' q" ?* Y' g6 X7 y PROC PickPart()# a f; z* K. a* C. x) p4 H
MoveJ pPrePick,vFastEmpty,zBig,tool1;& O& t5 V. q G' ~: ?2 Z
WaitUntil di_Ready=1; →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
, O3 s' R( ~3 q7 ^( Z (WaitDI di_Ready,1;)
# X. i1 ^( @* P8 l
, O7 e8 R8 ? o, R PROC PickPart()
# x+ ~+ A" L2 C1 x! ~: m8 \ MoveJ pPrePick,vFastEmpty,zBig,tool1;
$ x: Z! h( J: U* o WaitUntil nCounter=4\MaxTime:=5;: W8 _' I0 H* J9 |9 H) Y B
… →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
3 R+ l0 U. p( U. f7 X8 l( S5 T) y ERROR# @ y! A) J; t) S
IF ERRNO=ERR_WAIT_MAXTIME THEN
$ w/ c( |# g3 r% ?1 [+ } TPWrite “……”;8 z8 Q/ d$ W) c) c
RETRY;
% o) W) o P+ e( S& T% b2 _4 V ENDIF
$ Z5 `2 m2 y8 G" p ENDPROC4 H6 D0 }- C8 ]! b2 W5 Z
. m+ q# O# ~; r! P8 h
ABB机器人程序流程指令WaitUntil-实例:
% F1 @& }$ N/ f: ?, w/ x PROC PickPart()
9 M/ @1 n z; P MoveJ pPrePick,vFastEmpty,zBig,tool1;
0 j- m; b `& d# e% P% V5 \ bTimeout:=TRUE;+ d8 Z+ V( T! V
nCounter:=0;
& P5 I: ]) a) Y% m WHILE bTimeout DO6 H6 f& R* P6 t! {( u# [) U# v$ L G
IF nCounter>3 THEN
# \ B. `6 ]; n0 w TPWrite “……”;2 B7 @- q3 k; ~1 R$ O6 W, g
ENDIF2 B6 s8 Y2 X, Y( t5 H2 q
IF nCounter>30 THEN
( \8 h$ w: q; Y/ A# } Stop;
) f/ K3 b: y" L ENDIF
9 `/ i3 l( g" P4 } WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
5 f+ I6 w, u; G5 Q" e Incr nCounter; →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。9 q. @. f( Q: P) q, Y
ENDWHILE
5 j! C5 d, F9 }' _8 {' W …; b* w8 {- W. m" [& P) \, Q0 Y
ENDPROC
. U5 |# l5 o+ U# ]' P; j/ n |
|