|
|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令WaitDI-ABB机器人标准指令编程( z% m( ~/ H4 ^; C. C
WaitDI Signal, Value
) Z4 G: D$ V; I# N i% p* K[\MaxTime][\TimeFlag];
5 w- F( R- X2 I. j, }! S' ISignal: 输入信号名称。 ( signaldi )
: L# N; B' l. W' W( k% AValue: 输入信号值。 ( dionum ) 8 ]) ^5 u. l' o% `
[\MaxTime]: 最长等待时间 s。( num ) " Y4 g3 R! T0 e9 o1 Q! u7 }; l' Q3 c
[\TimeFlag]: 超时逻辑量。 ( bool ) ?* I7 ]' A" d8 f
- S, H: r1 H. J$ f' y' L% Y* m # K0 C; p' {& z {- B0 W
应用:5 y' |$ X" W6 Y- z; A
等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。+ A( _7 B- \- a$ t; V/ b
7 }* u& {, k- F% Z2 m0 a. W
实例:" s0 A" f+ I: U- P Z" s4 Z
PROC PickPart()* m/ ?& l( |4 [
MoveJ pPrePick,vFastEmpty,zBig,tool1;6 y& f- u; t2 g& l2 N' u$ ~; n
WaitDI di_Ready,1; →ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。* Q8 \; U. k7 M* e
…, x7 r* v* w! `5 Q+ l( B
ENDPROC4 x; U1 C* a( r) F
$ j" B, [ e7 F8 _6 r$ o- o! X" x* LPROC PickPart()
% i- Z3 S% i g, c2 A MoveJ pPrePick,vFastEmpty,zBig,tool1;) h+ {5 h. t# U5 s
WaitDI di_Ready,1\MaxTime:=5; →ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
& |8 C0 g- M' l+ M; u" L …; O# G% ]) ^# m, F4 C4 n: b
ERROR
; ?2 } D( V. U IF ERRNO=ERR_WAIT_MAXTIME THEN
8 x5 T. O% _8 s& M2 M% {% X/ e TPWrite “……”;
' t: f6 p2 b, @( b RETRY;
' n3 N+ l1 k+ J ~1 L ELSE: h& V- U- s/ b% K8 y! K, ]
RAISE;1 ^# d3 ]% a$ Q, M; `
ENDIF
( U7 z$ c+ q) r5 m4 w) F/ q: {8 l( }! N ENDPROC
* \3 G+ w" M$ I' A9 n! [+ @: u C0 z/ N, L4 {7 ~
实例:
: H$ R- F& d% s$ s PROC PickPart(). q' \5 }% r. }
MoveJ pPrePick,vFastEmpty,zBig,tool1;# [% R+ v, y- V! {9 b$ s9 i$ e
bTimeout:=TRUE;" F0 e5 l$ }0 I, t$ a
nCounter:=0;
7 e" B( U5 E; _6 ?2 G) F4 {6 r! m WHILE bTimeout DO7 a3 o% f' B& h& L
IF nCounter>3 THEN5 B" q N& W, y: g. o8 o' u8 h8 f
TPWrite “……”;
& P8 ] K$ P1 U+ x ENDIF) F* r! ` M+ q0 u. N9 z2 e
IF nCounter>30 THEN( m! @. h7 Y2 F* k
Stop;
' W& h6 A8 X- g. g6 U ENDIF
+ W; n6 B$ v; e/ [ WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;→ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。
8 R5 s6 z+ z" o5 T* a% s Incr nCounter; ' d( S5 g9 t7 k: T4 y
ENDWHILE
1 s; w* E% V/ g! [& C; K …
9 D; \& w9 H3 i r( R3 J4 p8 M! N ENDPROC2 A' R3 I- l2 Q
|
|