|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令WaitDI-ABB机器人标准指令编程( A0 @) _# h5 k
WaitDI Signal, Value 9 Q6 O1 G! T' E" k7 F
[\MaxTime][\TimeFlag];
2 X9 h' R' S( ~- \2 F) ASignal: 输入信号名称。 ( signaldi ) $ k( P% U8 |( J+ _9 H' m! S4 W' h! |) X
Value: 输入信号值。 ( dionum ) 9 A0 l$ Q/ W( p" N) ~) W; Q
[\MaxTime]: 最长等待时间 s。( num )
3 R1 C, [; i7 P2 Q1 X9 F[\TimeFlag]: 超时逻辑量。 ( bool ), h3 O) S4 x& P/ T4 L
. Y/ h" p1 [3 R% p# D
+ H6 O9 G. c K( J' ?应用:
' b: l/ r7 W8 \ 等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。
1 O: U7 X# R) ~) B7 j7 N W2 c9 q$ G% J% b$ z
实例:, c6 V8 {1 P4 @3 o9 m
PROC PickPart()
& G( D( v* l- T# p' F MoveJ pPrePick,vFastEmpty,zBig,tool1;& g( S$ a* {' y% a
WaitDI di_Ready,1; →ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。0 C$ s* P# ?2 b- t( ?
…
" ^1 D: {/ p( q0 U" o- ?* I ENDPROC
1 K9 `, n* |, A9 G3 b$ X* `$ }2 D6 n1 U" F K0 u5 d. g( W' {% O. c& g9 T
PROC PickPart()
/ A3 G; H' Q& x5 [8 [ MoveJ pPrePick,vFastEmpty,zBig,tool1;
; [# b) J, L2 @: M$ M' H% s WaitDI di_Ready,1\MaxTime:=5; →ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。 I4 N( R! a4 ~: y8 Y
…0 V7 C7 O% d7 L- b1 f) C
ERROR
" h8 \2 L/ c2 X IF ERRNO=ERR_WAIT_MAXTIME THEN8 n3 X; m$ c$ c1 v! e
TPWrite “……”;5 ]1 J) l5 }3 y
RETRY;
8 ~3 d5 L/ g/ x+ f4 _ ELSE
4 _3 ?# I. z- B0 p6 s RAISE;
8 D5 L2 R8 }- y; @1 u7 [* ?( k8 V ENDIF* Y3 F3 K+ G% v
ENDPROC+ M6 l1 m9 O2 z M; v" }
* p. y! y; B4 c2 N
实例:
* f' w- E' l" v6 I3 ^7 z1 _ PROC PickPart(), c6 J; o# {5 J6 y$ Z$ R
MoveJ pPrePick,vFastEmpty,zBig,tool1;
: L. o* F& V( ^, @' r, v; x7 O bTimeout:=TRUE;3 z% e. Z, Q) o. k7 Y$ G
nCounter:=0;
7 z3 u. V7 J) f WHILE bTimeout DO
8 c5 Q& j- W) ^1 N$ }6 N IF nCounter>3 THEN2 U6 X- _+ D; W7 O q0 d6 a! u
TPWrite “……”;
* L# q& C. @; q/ L7 `+ F) o# s ENDIF( l" d3 P9 v, o$ `$ {
IF nCounter>30 THEN
9 `* [4 |7 |) w, l Stop;. P1 C$ c; N1 ?; j- g) e2 n
ENDIF. p* N- [; E' T4 e. ]& M
WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;→ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。
! R2 Q8 O3 D' L( ^' } Incr nCounter; ) W; s% U" K" c- ?# M
ENDWHILE
4 P- i) n0 z; f- E2 ]% ?% \ …
5 C* S; ~3 e. C7 j [ ENDPROC
2 z0 n" B' b" e7 j, E Q, ~, B |
|