|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令WaitDI-ABB机器人标准指令编程
7 D) K, M" u% N& `* h$ @% EWaitDI Signal, Value ; J- _2 O, d6 a* u: T7 `) P
[\MaxTime][\TimeFlag];) z9 A2 Y& }3 m( a
Signal: 输入信号名称。 ( signaldi )
5 L! q. W+ [! c7 ?Value: 输入信号值。 ( dionum ) ! `" n- E c2 R4 U n: B
[\MaxTime]: 最长等待时间 s。( num ) 4 \+ ?' d( N. i( B( X$ \
[\TimeFlag]: 超时逻辑量。 ( bool )
: Q2 Y# D( G k" A4 w: C7 c, @" O* ^8 p% Y9 `: m" [7 D3 L
( H* \; N3 y. M2 |! D0 E, l) r
应用:
- w4 }0 ~ ^; j9 P( p5 Y 等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。" g3 \- ], g6 j9 ~- q
" f& O f$ O" @. D" Z) Z
实例:
- E% l! j* _4 R0 ]' w9 M PROC PickPart()) v3 L% e. m8 Y; Y0 ]8 p
MoveJ pPrePick,vFastEmpty,zBig,tool1;) w2 Z0 {# p0 {+ ^9 W9 @: a
WaitDI di_Ready,1; →ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
( ^8 ?3 k3 z2 D9 U! l' v, c …- x- g8 L& K$ N/ C( G& h; z
ENDPROC
. b% u; Y8 B: L. T' a) e2 D, M" u
PROC PickPart()8 g5 W9 Y% G7 M0 B& j% z4 H
MoveJ pPrePick,vFastEmpty,zBig,tool1;
2 j: ?5 L8 a# S" y WaitDI di_Ready,1\MaxTime:=5; →ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。1 Z/ F1 V5 G: c% `) D4 A- j
…3 e5 O `8 g5 k* u
ERROR
' A2 H5 g* r3 J8 I. Q9 ?/ d" U IF ERRNO=ERR_WAIT_MAXTIME THEN& J! ?% I2 t$ k
TPWrite “……”;
6 r" X4 V( y* x* [( V+ D RETRY;8 L! H- U1 l; ~+ C' ~4 A
ELSE
) f$ m( n" \3 w) @* f; h# r2 J, H RAISE;
; \' e5 C/ h6 n ENDIF, R# `! s9 j( Z8 _& s! ]
ENDPROC
5 ^# w3 i2 P; m S' o* G E; c( G- D& S( q$ A, M) S
实例:: Y; |$ f0 R& Y& e6 L2 ~+ P& I" U
PROC PickPart() y% I; ?$ Y% I) F
MoveJ pPrePick,vFastEmpty,zBig,tool1;+ x2 c3 e9 ~+ e
bTimeout:=TRUE;7 c( [" L! y# o
nCounter:=0;, ~/ M: [( j. R* [# Y
WHILE bTimeout DO1 T' c4 }7 H3 R5 e) `4 w: h
IF nCounter>3 THEN
& H5 k x" H. k, h7 U! K6 E TPWrite “……”;
" l# T2 ?: v* W) X( X. h" ^. Q ENDIF
! T; w: p# E* W6 T( r2 o IF nCounter>30 THEN
5 r8 L" {, }( [; {# k# C7 }1 R. O Stop;
x. B" }. {; ], O6 l% ~1 }; h* P ENDIF
- c8 D. L% r f WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;→ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。" x9 Y, k* P+ I
Incr nCounter; 0 f* j/ Q; @! ~6 n) P- O8 X
ENDWHILE
" B2 \$ e' J' a2 v( b9 R …. x/ s' f- x; {& c
ENDPROC
) \8 g" m) d; s% M9 k |
|