|
|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
程序流程指令WaitUntil-ABB机器人标准指令编程
) c* ^" V3 r0 d; a: IWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];' j6 T, i9 Q! u' T' }
[\InPos] : 提前量开关。 ( switch )
' k% Q: g* f0 I( K; CCond: 判断条件。 ( bool ) * l' e$ _5 t4 r, _3 `
[\MaxTime]: 最长等待时间 s。( num ) ; d; }6 Q0 }! x/ ^. w
[\TimeFlag]: 超时逻辑量。 ( bool )2 s% M# m+ S7 l6 U& X; P0 q
. \7 r l( _: Z& k4 a
ABB机器人程序流程指令WaitUntil-应用:1 R, }0 X( o; m/ z4 t
当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。3 I4 \0 Z3 s6 {, W- a! a
7 E% w5 K; l4 b$ u ?; B0 D' J. `: O5 EABB机器人程序流程指令WaitUntil-限制:
6 F1 V8 q8 I4 E, [- 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。$ y, Q7 ~# {9 Y* F5 C. r: f3 i' c6 E O
4 D. n. @% [! R% Y" XABB机器人程序流程指令WaitUntil-实例:
, b9 ~! X) k) L6 |* i PROC PickPart()$ P5 J! Q3 R ^( `& k
MoveJ pPrePick,vFastEmpty,zBig,tool1;& H" ` ]7 h" d+ L! W
WaitUntil di_Ready=1; →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
+ q9 g4 }8 n6 G* w9 g( |7 i$ f; u (WaitDI di_Ready,1;)
, @1 t& d) k! K& H+ Y+ W( o2 v; W a" v' l* j, {- {1 l! H
PROC PickPart()
( W1 d7 G. S. w8 O3 a) r- H MoveJ pPrePick,vFastEmpty,zBig,tool1;& a0 b, k. H. o r/ U' t: C
WaitUntil nCounter=4\MaxTime:=5;' ^8 ~- l q5 Y
… →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。% [ d+ M* P7 q! b3 ^0 u T) N% p
ERROR0 D8 f/ d; S; i9 K8 f$ G1 p( ]
IF ERRNO=ERR_WAIT_MAXTIME THEN
1 x; W1 C' p9 J0 q: j' F TPWrite “……”;" _3 ]( {2 y/ V$ Y5 v+ t
RETRY;1 A6 D4 m9 O! n. z0 L3 ]
ENDIF
' U' G1 r3 F4 a9 h% a ENDPROC4 e" b- R; W' d: h) o% `1 f
% r% Q! P3 ]/ w# u; S" DABB机器人程序流程指令WaitUntil-实例:
: s0 G5 R y7 }7 k% V+ Y PROC PickPart()
8 L+ C7 |( [; T. d9 L" U- F* ^ MoveJ pPrePick,vFastEmpty,zBig,tool1;" x7 u' S* g7 ]' y$ L
bTimeout:=TRUE;
3 I/ R0 H5 w V O0 N nCounter:=0;- }: V, n6 @5 C T- p
WHILE bTimeout DO
( i6 W+ X. t5 e# ^ IF nCounter>3 THEN9 A/ u4 p) O) {/ I, _
TPWrite “……”;
- H% A* m' a' A$ ]" H ENDIF) Q9 D& Q0 v" V- U8 t
IF nCounter>30 THEN8 [9 o/ [" Q8 [; O# D! W
Stop;5 r+ q" S* }' e4 ]& f
ENDIF1 S" j1 W: D! j# v+ p0 P' I1 C
WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;4 D5 C( \/ @; q# g! K2 c% q
Incr nCounter; →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
" Y+ A) Y1 e( p' O7 X1 D ENDWHILE
# ]7 l* |3 d/ H7 R" t6 G+ W# y …
# N/ _9 J' @+ H ENDPROC) E, v, g1 J/ [0 i
|
|