|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令WaitDI-ABB机器人标准指令编程( _9 @0 F+ @: c O
WaitDI Signal, Value
4 E8 s# R! F1 ~. }$ t8 q3 V$ W[\MaxTime][\TimeFlag];
8 Q; y! V/ D( bSignal: 输入信号名称。 ( signaldi ) 3 R+ X2 Q3 s W4 z9 M3 j
Value: 输入信号值。 ( dionum ) $ t6 |4 c. B; B4 b" w1 `% I/ G
[\MaxTime]: 最长等待时间 s。( num ) 2 N' ]# P* V# _' ^6 A( @( V2 N
[\TimeFlag]: 超时逻辑量。 ( bool )
4 P6 x3 J+ R" |3 ?2 g& Y/ g# o
# I( n% N! j# k2 k, m+ `
5 k4 W, z6 J) G ^0 z( I6 s应用:5 l. V$ | W; L; r
等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。& G# J7 D# A" S+ D
- ~# k; v4 K3 d2 U4 @5 ]
实例:1 Y7 u; a, ~2 ?( `# G
PROC PickPart(): J9 `# K& K5 N. y
MoveJ pPrePick,vFastEmpty,zBig,tool1;
3 f6 V$ o. M6 L" d/ J WaitDI di_Ready,1; →ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
$ l' f+ D# P3 M/ K7 p …
4 C& R5 D6 E% J1 o( O ENDPROC- N& X8 V. c3 ]# U2 [/ }/ w0 V
% e( J3 G- n' G2 I. k# aPROC PickPart(). x: p9 d8 N& T( H n
MoveJ pPrePick,vFastEmpty,zBig,tool1;
h- R0 ~& y( V WaitDI di_Ready,1\MaxTime:=5; →ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
8 n; s9 J% V F; j( _ …$ I3 ~& U3 m8 r1 Q: j# V) ~* y
ERROR
# }/ Z4 A- p y8 R( U IF ERRNO=ERR_WAIT_MAXTIME THEN- x% V1 W: ~: E3 ^
TPWrite “……”;9 s5 |8 n: U* r8 M9 Y) `1 a7 V
RETRY;8 `4 }/ [+ b: z9 h: o1 u
ELSE
- j3 s0 V4 A3 v$ o7 e RAISE;
" m3 N5 L7 A+ |/ @ ENDIF" t4 b* S, X7 Q& f3 Z9 s$ Z/ d
ENDPROC# H1 k% I% G% J: k& q. h
9 L( ?. l+ R6 M4 x. z q实例:0 R) ~) w" g/ L: h3 ]
PROC PickPart()+ J" f# a" i; L w
MoveJ pPrePick,vFastEmpty,zBig,tool1;
, S' e; z, M3 U9 C+ S- O& H# b bTimeout:=TRUE;6 r; e8 k2 m# ?1 B. f) R7 {( ? G
nCounter:=0;) B! Q3 c F- g7 M1 R5 O- a
WHILE bTimeout DO
7 h% u% k# i4 V0 u, X+ z& ^ IF nCounter>3 THEN1 |3 d- n2 A+ k5 a0 i& b. [
TPWrite “……”;
& h: l" ~- H4 c4 ^2 M: C1 s2 S+ x ENDIF
0 F% w0 V% l$ ^# `2 G8 ]& I* Y IF nCounter>30 THEN, o B- \3 y M3 b
Stop;8 a6 e& e9 \ V" C7 [+ f3 o6 W
ENDIF7 s/ H! {5 R5 _# e* T
WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;→ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。
1 k" M2 [2 x. V8 [ Incr nCounter;
5 M4 w' R" d; N8 R) f0 g( o ENDWHILE- S0 _/ j1 w; Y# E N4 C* L
…
2 o8 T$ X# b) e1 k ENDPROC
7 T t+ g, R5 i |
|