|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令WaitDI-ABB机器人标准指令编程
4 K) j1 s- U. n7 z; Q* p, jWaitDI Signal, Value * g' e. E0 E4 p% d
[\MaxTime][\TimeFlag];
/ g0 |* D2 E) E, q( V4 sSignal: 输入信号名称。 ( signaldi ) . ?3 L3 H3 F- g$ {7 s2 R
Value: 输入信号值。 ( dionum )
4 k( |/ ?. B) o5 a$ \: M7 E[\MaxTime]: 最长等待时间 s。( num ) 0 [: z, A1 Q; y0 z+ `0 @
[\TimeFlag]: 超时逻辑量。 ( bool )
x9 b0 w: W M) i0 H, s" A! U( G/ L' n! g
$ z0 q. D& w7 q8 O T5 B2 Z/ s
应用:/ _* |- ?. B+ c4 W
等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。# m- t. W/ C, c1 a
) j s8 i, i7 G+ b* Y. F! _
实例:- x' t% l* M8 i' o1 G
PROC PickPart()3 l3 [; ?- S% V6 O7 ^
MoveJ pPrePick,vFastEmpty,zBig,tool1;8 v0 q8 c: d: D4 ]3 m
WaitDI di_Ready,1; →ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
# g$ R t) {1 s$ E7 ] …4 k' q& e' C+ m3 @
ENDPROC+ k. ]& W' X% x+ _5 f: E
5 A& [8 k& i$ X, p) F! G+ M
PROC PickPart()4 S& F6 d2 }& M
MoveJ pPrePick,vFastEmpty,zBig,tool1;6 d- _: F* @" H/ k! n
WaitDI di_Ready,1\MaxTime:=5; →ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
' A1 u, q8 z5 Y9 P, S …
7 @. E, D$ \6 Z$ U/ U ERROR
S. S. y5 p( G; U& K$ n IF ERRNO=ERR_WAIT_MAXTIME THEN
) p! R* {6 i4 {$ Z9 _7 q TPWrite “……”;
- x! Z6 f: D- L# [/ D RETRY;3 H6 l/ W0 \6 \, ~" n8 n+ d8 w
ELSE
+ t+ V( a; B7 ?) f9 D. l RAISE;* J( Y* N* h# P( V z: t6 B
ENDIF& E+ ~' r E! {4 h5 A+ A/ d4 p
ENDPROC
( X$ A5 W3 M7 V, w$ ]& {
2 U) ~& {; \9 l- h5 @6 l& @实例:
( z0 C/ S9 D3 {/ j8 f PROC PickPart(); G" D; j- ]- V! J% ^
MoveJ pPrePick,vFastEmpty,zBig,tool1;$ |+ _' B1 q" W: E3 H( O2 S
bTimeout:=TRUE;, G" \* Y' _0 i6 u h" L. Q
nCounter:=0;
/ ]! V. T- R1 K% q WHILE bTimeout DO
8 ^$ r3 w7 Z- | IF nCounter>3 THEN
* Y) X o: z# r$ P8 C9 C2 |. R TPWrite “……”;
% ^8 {3 L1 i6 L3 a# j4 ]' e6 i ENDIF# m5 F& A$ g z* L, w# S# R' q
IF nCounter>30 THEN4 O3 ?% r. `) G4 e$ X( L
Stop;- L1 j2 t! G @3 X
ENDIF
L% l- B+ U6 C$ L9 D7 v# T WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;→ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。/ z- _8 M s9 c8 G: G
Incr nCounter; y T8 h! L8 O9 O- d
ENDWHILE
3 g) q" P! f: d8 {7 I …
4 p. y$ v% P6 ^5 T ENDPROC
3 G {( O B$ C- h& u' b+ f |
|