|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令WaitDI-ABB机器人标准指令编程' K7 b) _' e! @; }
WaitDI Signal, Value
% b4 Y3 q) `+ U2 E" n[\MaxTime][\TimeFlag];
, p3 V' Q- l% \4 m( C2 ?/ `% kSignal: 输入信号名称。 ( signaldi ) 7 O% O7 D- O% e& ], I" ? L
Value: 输入信号值。 ( dionum )
3 o4 F% R: X6 V9 b[\MaxTime]: 最长等待时间 s。( num ) * x" H" V& d: z) Q( u8 C6 {$ m
[\TimeFlag]: 超时逻辑量。 ( bool )( s- X! q2 A0 {& [3 v4 H, k
7 U' _, I, a$ m& Q! y/ ?
. H$ x" d9 G4 V应用:
* f+ [( c( v: x/ Z& x 等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。
6 b4 N, w0 [0 k8 q
+ D- n* n" h9 `5 }! k/ A. Z实例:; S o0 r/ O& U" x$ ^- a5 Y
PROC PickPart()' H2 ?1 N# D% \/ t. x
MoveJ pPrePick,vFastEmpty,zBig,tool1;
6 c* l5 Q' s" q0 V" V WaitDI di_Ready,1; →ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
6 y4 s' ~: F# V# p ]. m* i …
- m7 E8 n+ a0 E+ v7 ^8 t% ] ENDPROC
( `" W$ p6 ~8 {" w& `: [
/ [2 m8 n# T7 \$ Y8 W& `PROC PickPart()
; ?) L0 Q( D2 c. m MoveJ pPrePick,vFastEmpty,zBig,tool1;0 K4 c3 i1 Q! }: z, V
WaitDI di_Ready,1\MaxTime:=5; →ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
" r& T' L8 O4 c# e# ~' A! Z5 t …
2 Z5 c! y x/ b8 ^/ v6 ` ERROR
6 \/ P5 a/ N. T" m' L IF ERRNO=ERR_WAIT_MAXTIME THEN I& G; X# r- x4 U2 E0 S5 Y0 H+ v
TPWrite “……”;! S' N' _2 Q% `# Q6 R1 E
RETRY;
' G- n+ i6 \* g. G7 w ELSE5 J+ ]3 e+ m3 i" z" n
RAISE;
* ?# U& F; e( l: E$ o7 B) s/ ?9 U ENDIF# ~2 H) U( V) w9 y& ^$ z
ENDPROC
. c# P: s( P, u: A3 z2 ?; m4 u& ]( }
8 C& b0 B9 s0 H! j+ F4 G% u实例: F/ d1 m2 \, l4 m6 u
PROC PickPart()3 j1 j' A; P! P# e+ p" q+ i! G3 ~
MoveJ pPrePick,vFastEmpty,zBig,tool1;
( g( P5 y1 J+ e$ ^' Q$ B& W bTimeout:=TRUE;/ L$ R0 P0 J* D! e: N) `. ~
nCounter:=0;- [, \+ e$ T g/ H
WHILE bTimeout DO& _/ p% O7 c: ~5 U
IF nCounter>3 THEN4 j% A8 g5 }2 `+ K+ i0 z
TPWrite “……”;- J2 ^" |( h, _* q
ENDIF
1 @! e& u- L) y( g0 o: u4 U IF nCounter>30 THEN% b. D0 e# i, N7 a. u
Stop;
) S; S9 e7 b- Y7 b+ Y& {/ n) k ENDIF
/ U+ D" L7 }- Z* b0 w/ v) I* n/ R WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;→ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。& J- k3 `: |' c, I
Incr nCounter;
+ J6 q+ H& N& x/ S- { ENDWHILE
* y( j; i% p# l0 l* @/ Y9 Q …# T8 \/ H0 ^: B' R& d I
ENDPROC
. V0 M) Y* a' \2 X7 } |
|