|
|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令WaitDI-ABB机器人标准指令编程0 j0 a; V2 W% Z, Q! `) w
WaitDI Signal, Value
" d, L3 l' x; X# ]2 n[\MaxTime][\TimeFlag];( k+ Y6 `1 `$ | V* ]! J
Signal: 输入信号名称。 ( signaldi )
9 T& Q4 F" P# F# u1 _: h. u8 @$ N4 f5 fValue: 输入信号值。 ( dionum ) * i/ g/ _( |( l: t- h
[\MaxTime]: 最长等待时间 s。( num ) 3 }1 Q7 q6 z( l& Q; U0 C- u
[\TimeFlag]: 超时逻辑量。 ( bool )
* ?9 j( `1 U1 s% E: m
7 y# u$ {7 Z7 u$ Q# {) G
4 R/ X" [+ U( A, g应用:
' ^! r# b' b7 y 等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。
# O, T1 k/ c& f% ]8 Q4 @. U+ t8 N3 \2 b
实例:' q( W3 R9 i$ V' E
PROC PickPart()
. A2 z- C7 c5 X6 N# ]+ E6 d MoveJ pPrePick,vFastEmpty,zBig,tool1;& j* T1 A! s* T9 Z; i& m2 K
WaitDI di_Ready,1; →ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
& B# i" C* @* W# I) l/ k+ b …
6 V# h1 \4 _" B& J ENDPROC" j7 Y( |1 X1 \! u' A! [" W/ ^
2 C( K9 E8 @) s
PROC PickPart()% g% U# j5 c3 L3 V
MoveJ pPrePick,vFastEmpty,zBig,tool1;8 j F8 V) e+ ?+ O4 |- [" H
WaitDI di_Ready,1\MaxTime:=5; →ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。' X9 m4 s# O3 S4 C3 g, q& }
…/ I; T w+ t) p! m# h# O% k* J* l
ERROR
% N9 @) K2 ]. E' _/ @. g IF ERRNO=ERR_WAIT_MAXTIME THEN
( \$ U8 I: D- x( I6 d TPWrite “……”;8 L: S# f. V+ T
RETRY;
# c: X2 }+ M2 p4 h9 q' l) c* [+ k ELSE4 t# F# R* g6 {1 Q& \
RAISE;( C) n' T {4 `. W1 R) ^( W
ENDIF
$ j5 M; Z9 m4 ^' } ENDPROC5 @# c8 S0 _+ k/ ]5 T
' w5 y2 q& o$ B, {. ^5 E6 [9 s
实例:
) A0 d w( [9 J6 h$ c PROC PickPart()
K7 ~# E' n# I, |; N MoveJ pPrePick,vFastEmpty,zBig,tool1;
) j* z u, u7 W+ Y, A bTimeout:=TRUE;' v9 k( v2 D( E$ e. E+ J3 F
nCounter:=0;$ p! h1 A( [$ C7 J8 X
WHILE bTimeout DO% Q1 b) @3 H+ B0 q
IF nCounter>3 THEN: N' [1 G3 _9 s2 k( ?$ |. Y* d
TPWrite “……”;! y% [9 ~+ u) W
ENDIF
- b( I! K, ^; x IF nCounter>30 THEN
+ c$ j8 b3 H# }, R! Y# j! h. P Stop;
9 ^8 F3 w6 C, u2 H- P! ~ ENDIF
8 y4 N: U8 k% S3 G. T WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;→ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。
+ ]1 I, ~3 o& Q, D( p' h Incr nCounter;
# W; r6 U0 g. v. F ENDWHILE
( Z8 C/ G9 Z4 @3 ~( V …
6 Q% ` _# g: g9 V, m ENDPROC
3 J# ?2 `8 C' i3 u% m1 L: R |
|