|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
程序流程指令WaitUntil-ABB机器人标准指令编程' h# I, \% H; Y2 G
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
" L- X9 E6 o) G8 R; _, {[\InPos] : 提前量开关。 ( switch )
5 S' S2 L4 L5 ?' p# C( ]; L5 CCond: 判断条件。 ( bool )
6 j) q! D/ {% J9 m, _9 R. D[\MaxTime]: 最长等待时间 s。( num ) 1 _/ o& c4 A+ w; e
[\TimeFlag]: 超时逻辑量。 ( bool )7 r, a# C1 o9 K; L
! a4 j# h7 E' ~- K! r7 h: C: L" c
ABB机器人程序流程指令WaitUntil-应用:
. H/ @$ y+ J e- M! C M1 L& H 当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
7 k; H- Q w p* B3 `# g
$ q) R, Q6 E( v4 |# LABB机器人程序流程指令WaitUntil-限制:- _% F2 U3 N9 c; C! d+ S
- 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。7 X3 ~# x# J2 p- _+ b1 @6 U
( _8 P# P9 X, D* hABB机器人程序流程指令WaitUntil-实例:
) t5 ^; j- ?' b PROC PickPart()) D; ~0 N% d: d( H% X
MoveJ pPrePick,vFastEmpty,zBig,tool1;+ @3 p/ ^8 r, ?2 O4 G! K" x
WaitUntil di_Ready=1; →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。 p* x% G! C \, X; I( q- p2 w. Y
(WaitDI di_Ready,1;)
3 [$ a% |9 n C' u0 _
( l+ c+ {$ n5 F5 C% \! Z# s PROC PickPart()
& j! U L$ G& X! s: h, X* P0 ~ MoveJ pPrePick,vFastEmpty,zBig,tool1;
. M3 |7 D7 W+ I& H$ a WaitUntil nCounter=4\MaxTime:=5;; Y# m" c Q- o" B" {7 G
… →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
2 s1 |7 x0 H+ K% S6 x& q ERROR8 Q8 R- @9 t+ m" z# N9 F/ l7 q1 V; n
IF ERRNO=ERR_WAIT_MAXTIME THEN
. r$ |1 ]+ O5 @8 s; c TPWrite “……”;
& i) w/ {/ o7 d+ `1 S RETRY;$ h$ t5 R2 N [3 {5 I! w5 r
ENDIF
0 R* L C+ g+ m9 B+ Y7 X# {6 [ ENDPROC
5 Y/ H. \2 d( s6 o) Y4 d9 T, n3 ?% x) H2 `
ABB机器人程序流程指令WaitUntil-实例:, }- _% X6 K' T6 k0 r0 _
PROC PickPart()
4 J% |$ G3 B5 P5 c8 x# l1 _ MoveJ pPrePick,vFastEmpty,zBig,tool1;0 G' ?0 b* \. V. ~. G
bTimeout:=TRUE;
" Z; Q$ E7 K: |" J( Q nCounter:=0;. u+ V! a+ }! L* t4 M% s) W/ u
WHILE bTimeout DO) t: C1 C# c8 P0 v) n, N& d
IF nCounter>3 THEN
2 ^3 A0 \- F; ^ TPWrite “……”;
7 J t; U' K5 [ ENDIF4 @4 u8 T% f0 |5 K1 G, w
IF nCounter>30 THEN( X$ j* j! ~2 d U! g+ g( F& `+ m; F
Stop;
& s& M2 l1 X8 e# l+ @/ } ENDIF! ], v' t4 s8 J' y% Z, L F
WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
1 _- J* x" ]5 T% A& J Z6 [5 h Incr nCounter; →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。7 r. Y' @ X7 x0 \- I& x C) H
ENDWHILE
, a- ?, O1 { M) c …7 T# p) r' ^3 `& t+ {# l
ENDPROC
% c; D& L* a9 ]- ?& X; p: E+ c' c: E |
|