|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令WaitDI-ABB机器人标准指令编程4 N) B* @2 @) a& \$ l
WaitDI Signal, Value
8 a7 q `9 g- H) s7 V$ o[\MaxTime][\TimeFlag];: s) j5 ?, ]7 N
Signal: 输入信号名称。 ( signaldi )
% Y) f5 P# o8 k o% O! p; uValue: 输入信号值。 ( dionum )
; N* @, @! V* X! f[\MaxTime]: 最长等待时间 s。( num )
: N5 Y4 Z' @% c' \" o' [) x' L[\TimeFlag]: 超时逻辑量。 ( bool )
, e9 p' D$ u( I1 M) A4 i
+ y& S1 \! x6 ^- y; _2 ~1 o) }
9 G* s- h+ e6 U7 |: s应用:
3 V! U$ A$ V; w( b1 d4 G 等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。
! `! d0 ]- \) y. s
: J% @: B1 X7 ?4 H; J, u实例:' l' x; B" C2 x
PROC PickPart()
; g% Y N+ m2 _' W7 w/ |, Y/ Q MoveJ pPrePick,vFastEmpty,zBig,tool1;
7 R; s: o! e a( f8 L$ o WaitDI di_Ready,1; →ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
* |: M! B& u0 s; [/ D/ Z3 ] …
* t3 r) \- I! Y/ U5 b I4 { ENDPROC
. x5 `9 l+ r7 b* i1 Q. h7 c3 Q% j
PROC PickPart()0 p0 }0 l8 }2 l+ A" ]# e6 a
MoveJ pPrePick,vFastEmpty,zBig,tool1;9 X0 q' F& [2 O, D9 ]! @
WaitDI di_Ready,1\MaxTime:=5; →ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
& B" c# ~8 }+ a. f9 @9 u9 _2 k$ T …' ], G3 \8 e9 U+ J0 K
ERROR
: ~( u3 f3 b3 ~; a% X) h IF ERRNO=ERR_WAIT_MAXTIME THEN
% e! V+ w/ o f8 h0 z( S0 C: P! _ TPWrite “……”;- X$ X5 D7 J$ }' B/ s
RETRY;8 P5 c' |- C* v" N J, g
ELSE: P9 b6 M2 B! N( h+ i
RAISE;
7 B6 p% j c& D5 u% \( A ENDIF/ O' K8 q/ h6 a$ X4 a! V+ P t+ W
ENDPROC3 |! L+ Z4 P4 J' `' j
, W2 g, o( W! H) O
实例:
0 k7 E) d& A4 D j PROC PickPart()
! e# B, {8 g X$ u9 C MoveJ pPrePick,vFastEmpty,zBig,tool1;
1 x( Y$ e* v- j" O: ^7 P bTimeout:=TRUE;# S/ ~1 k4 t" p
nCounter:=0;0 U8 _! Q. E/ Q( y8 E2 o$ U
WHILE bTimeout DO% ]0 T+ x1 r o. ~9 b
IF nCounter>3 THEN/ R" d/ q4 _. e! a1 y' W- ?' ?% {
TPWrite “……”;
/ m- x4 [ v( |6 E" z( ~% O% l6 U ENDIF
+ l( ~3 J; R& V8 I: S IF nCounter>30 THEN1 Q4 N3 r L2 @
Stop;$ r9 D) e) b) M# J1 c- I
ENDIF$ V, z) i* h& X& d7 t
WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;→ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。! p" J" B1 h# t' X
Incr nCounter; 0 ?6 T6 E! L. @
ENDWHILE8 p" C8 h% d7 T5 o" D3 } l
…$ M/ i; R/ z8 d! Z! }" I0 n
ENDPROC
6 g" c Q5 \0 P4 ~3 E |
|