|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令WaitDI-ABB机器人标准指令编程$ g+ A- w* s# P5 t0 f
WaitDI Signal, Value
2 x0 i/ a$ v, L$ W7 ?# `2 K, B[\MaxTime][\TimeFlag];
$ _3 }- g! u) v3 o5 s/ JSignal: 输入信号名称。 ( signaldi ) . R4 y2 i5 P. W
Value: 输入信号值。 ( dionum )
8 d9 k8 |7 B8 Z" i9 W `[\MaxTime]: 最长等待时间 s。( num ) 7 k) Z' \! J6 u5 `
[\TimeFlag]: 超时逻辑量。 ( bool )4 [1 A e" p) f" l
) @2 k$ q; _- t5 Q 6 C2 C1 r* B& J
应用:
" O0 r$ }: u) u) h5 O* m8 g 等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。
0 ?: c7 B! ]4 e8 Z4 g% c) N" s0 O1 O' g
实例:
: A8 c, T( L2 a0 c8 E$ K/ t' M- u7 A PROC PickPart()
$ y8 t) `, y1 @/ {- o% t! `$ K MoveJ pPrePick,vFastEmpty,zBig,tool1;
# D. m: d* B$ l$ h WaitDI di_Ready,1; →ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
! A) o4 q9 c- K5 a8 ?- E9 l [ …- f) Z8 P, e* ^9 C% \* C( ?
ENDPROC
! I) S- v1 k, T' Q* N: Q& g) s4 [0 S: s* z4 n5 p- b
PROC PickPart()
" c' u J$ O$ `( m7 T' Z MoveJ pPrePick,vFastEmpty,zBig,tool1;% q8 D4 _" j' P; H" H% N2 w
WaitDI di_Ready,1\MaxTime:=5; →ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。: P. {; A/ w- h, l0 P
…
( `% |$ s0 h' u1 t8 z4 N# h ERROR/ C5 J* g6 w6 l0 o4 c ]" B
IF ERRNO=ERR_WAIT_MAXTIME THEN
* }7 v% q7 C6 o: G& K! f( w3 y TPWrite “……”;
K4 Q- }' e3 _/ K* ^ RETRY;
7 \* g8 W3 h( o5 H7 d `1 {2 b ELSE2 U- w% p t' `) D1 W* }2 q
RAISE;
2 s4 r% n1 E' ]8 T3 L' B8 M/ I ENDIF
/ I" T4 k4 D7 {! d ENDPROC0 L3 W. f/ v8 |6 e( x
+ N, C% F: P$ E* u& p实例:
3 c- @' c8 e* n7 X: U, v PROC PickPart()2 q$ ?7 z! p2 J4 t" h
MoveJ pPrePick,vFastEmpty,zBig,tool1;
4 Y ~+ R4 M2 u bTimeout:=TRUE;
* J$ A* n/ F2 h4 P nCounter:=0;2 _ ?/ { s8 J& T& I3 T
WHILE bTimeout DO$ U* f/ V, \% ^* Z' Z
IF nCounter>3 THEN& `. D% @- E( v% h9 {" V
TPWrite “……”;
/ E: x% Q( ^" y- ]6 l9 o ENDIF
: B/ N. N" H+ i, _, i1 N IF nCounter>30 THEN
* W5 ^9 n: e( y! F% P; S Stop;" Y# J! {. Q6 z, I& }" ?
ENDIF
5 r; R( K2 k4 x4 M8 p% {! k, |1 ] WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;→ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。
. m9 V; U6 T- W5 K9 g4 @; n Incr nCounter;
' z' Z3 m: G5 K ENDWHILE
( G7 B! J) F, {' }9 g# m/ W; {+ q% ^+ h …! U \# r) |% N' J$ D
ENDPROC' t3 J2 M; B# r% P% l# F: _. |
|
|