|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令WaitDI-ABB机器人标准指令编程
- {: C( s! o1 B3 \% KWaitDI Signal, Value
4 ~1 r. p0 M* Q[\MaxTime][\TimeFlag];
$ [: V: \5 y" }* o6 cSignal: 输入信号名称。 ( signaldi )
' @ a0 A+ C& K6 y9 P+ T: IValue: 输入信号值。 ( dionum ) . R3 a( l: }8 i
[\MaxTime]: 最长等待时间 s。( num ) 2 U7 y5 T5 p/ a) J
[\TimeFlag]: 超时逻辑量。 ( bool )
% C% _- ~9 k. f( W7 @. H" g5 w) W: e3 w9 G7 t3 X/ L
/ W$ d& z" X) D0 O; x应用:" C3 o. m* _$ A' u, u3 ]+ K
等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。
/ k; v7 ?+ o5 a& P+ F5 j
: ~0 A0 Q+ l( G" U( L实例:
9 n) l; ^& d& h" i2 n% F8 N+ q4 E PROC PickPart()" `/ K$ R' d# s+ k
MoveJ pPrePick,vFastEmpty,zBig,tool1;
! m/ B8 w1 d4 Z3 M/ n" ~" i WaitDI di_Ready,1; →ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。( T* e2 t6 Z, v" i$ D( R
…$ ~) X8 i( Y( z9 F
ENDPROC
1 F" x8 V+ ^% _4 r' h+ z8 q% t0 i* y7 T, d+ \/ T! f9 s7 x
PROC PickPart()
- ?8 a G7 P/ U5 Z0 C3 z9 W MoveJ pPrePick,vFastEmpty,zBig,tool1;
4 e7 L( M$ I$ {' _0 G WaitDI di_Ready,1\MaxTime:=5; →ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。7 c( w: h+ Q+ |1 s/ l2 E8 e( g
…7 F7 z7 M. b4 {* d/ ]
ERROR l# ?* y E8 b7 C( [5 _
IF ERRNO=ERR_WAIT_MAXTIME THEN
2 Y. l) `7 h1 k% V TPWrite “……”;
H' C# {$ d% @- k; H RETRY;
1 h! H, Z$ v: ? ELSE
3 K6 ?# l$ l+ u9 Q RAISE;
# I4 r( \3 T6 x) ^ ENDIF3 r! Q9 K. R: z
ENDPROC3 ]. y0 D% L- F6 h9 v2 z
8 F9 Y) Z( h. I1 G0 l9 |- m
实例:7 S# }% C+ y" T- q) t V
PROC PickPart()
& k" U3 a5 T7 i" l7 N; A& X MoveJ pPrePick,vFastEmpty,zBig,tool1;
8 b' [1 x: x7 @' p1 \+ S V8 D bTimeout:=TRUE;
Q& F9 r+ U& ^8 R; m. F! a nCounter:=0;9 T) V0 n+ |: l& j: j6 b* T
WHILE bTimeout DO% [7 u. h) d$ m) ]/ c W
IF nCounter>3 THEN. V3 H. k& M; [8 a2 v( [& ?$ j
TPWrite “……”;" {/ |; X# Q8 t4 ~5 M* ]
ENDIF: O) o" J4 h$ I
IF nCounter>30 THEN
7 s6 ?/ h3 |5 q' H. L- V Stop;
3 [# u% Y$ ?* a# v. H. a ENDIF
, x' V! m" o8 I0 V$ Y( y WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;→ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。
* U. T3 ~8 U1 S) }2 R K3 l Incr nCounter;
* ^9 j: O/ K# F ENDWHILE5 X5 e3 j2 S' X/ [$ z# p/ N/ W
…
6 l, u3 Z% z* x7 r7 K7 P ENDPROC/ e- q" m# k6 D8 |3 `
|
|