|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
程序流程指令WaitUntil-ABB机器人标准指令编程7 ]8 F' X8 _3 b; l! a! g
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
1 L5 w7 h( O1 ?8 q* |[\InPos] : 提前量开关。 ( switch ) , ^) {' {, g' l- _& A: M
Cond: 判断条件。 ( bool )
) j3 A* s+ p6 f( F* L[\MaxTime]: 最长等待时间 s。( num )
, G; e" z; `3 k$ O3 h7 {8 G) v[\TimeFlag]: 超时逻辑量。 ( bool )
! |, z5 g" i c& `8 h1 A; k
& A' |6 T# p* s" w3 GABB机器人程序流程指令WaitUntil-应用:
7 q% {8 J/ F' ?) H7 h 当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
+ ?% \/ |. y3 t" f) _
- E. L! g7 _) l" a3 J# PABB机器人程序流程指令WaitUntil-限制:+ o9 g: r b; a) S6 ?9 V
- 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
' O; T( w, o, x4 X: {3 u" c
. J+ W7 J# q# V% s! ]7 \ABB机器人程序流程指令WaitUntil-实例:- _# ]/ m4 m( j3 |
PROC PickPart()
" o2 D8 ?+ \$ N+ u1 h( @( _ MoveJ pPrePick,vFastEmpty,zBig,tool1;# F3 U6 S- H4 U- O
WaitUntil di_Ready=1; →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。$ o* |$ v1 z9 [
(WaitDI di_Ready,1;)- W% Y3 ^) o0 }" u' O9 I1 Z$ h# a
3 ~( B/ _( `' Q. f2 t PROC PickPart(): M6 N) D4 {0 X5 b
MoveJ pPrePick,vFastEmpty,zBig,tool1;
& n5 Q$ Y1 [1 G* p( S WaitUntil nCounter=4\MaxTime:=5;
6 r/ ^, ~5 O! p [' F' @8 e) v4 N … →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。; g4 ?2 J% l) z) V
ERROR
3 L( j) e& f; z$ J IF ERRNO=ERR_WAIT_MAXTIME THEN
- q8 i/ \7 P, H. N TPWrite “……”;& s( T- A* @# q, L& U2 j& d( A
RETRY;
2 ]7 F _5 N9 b, N# c/ P3 {3 ^ ENDIF% h6 f2 @$ y; m4 o6 |7 H1 V2 @
ENDPROC
/ {. S7 a# M( {- `+ M. Y
* U) {- Z% I1 t" I# _1 K1 \! @6 PABB机器人程序流程指令WaitUntil-实例:. X& p2 Q( U8 w; O
PROC PickPart()
: m! }- e' x: |) O MoveJ pPrePick,vFastEmpty,zBig,tool1;
/ Y- _0 M) p& T* g- o3 e0 p# _ bTimeout:=TRUE;
+ c7 Q2 g4 l1 e- W6 B+ n) I' ?0 f nCounter:=0;
4 F" N5 L) M! w8 } WHILE bTimeout DO
2 I, n8 F0 H6 x# C, U( m IF nCounter>3 THEN
4 c; f& {3 W2 d; c$ c& E2 |; A* ^ TPWrite “……”;
, Z6 x. V( g9 m9 e/ E ENDIF7 U& G& j3 l, ?2 Z
IF nCounter>30 THEN. o5 ^: W8 j: u! `7 c& g
Stop;
+ h7 E- u5 \1 P ENDIF# u* V2 H5 v/ j# M1 P
WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
7 l. B- [" L; Q5 i. c6 L! |0 c Incr nCounter; →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。* M4 w& L, A$ f2 @! z" N) F
ENDWHILE" c3 B2 s# X3 K( M" @# h0 U1 Y
…
. s2 _0 H$ M4 L ENDPROC
3 s) B O/ e4 x9 @0 k/ ^& a P) _ |
|