|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令WaitDI-ABB机器人标准指令编程
* \6 }1 Q$ u% h; W6 j4 @WaitDI Signal, Value
* @2 j( e) i( v8 }" O; L, H+ [[\MaxTime][\TimeFlag];
* v, h$ x/ }' w/ ~: @$ cSignal: 输入信号名称。 ( signaldi ) - |9 }% k: C8 H5 U* l* @1 H7 `4 r- G
Value: 输入信号值。 ( dionum ) 4 s! S. u W, {8 e
[\MaxTime]: 最长等待时间 s。( num ) : T" H# l. u% d9 [( ~( i
[\TimeFlag]: 超时逻辑量。 ( bool )
7 m% ]( ]8 Q( ^- R$ o
; P. ]0 n! X8 \ 1 e5 b. F; f+ s2 v) ?/ l* h6 D$ r
应用:
5 Q6 y+ ]' G* l2 ? 等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。
7 E: B0 @/ ]& S2 H
6 L6 I2 e& n& y* _1 b; H实例:
: W3 W' C; ` a2 d$ z& L8 c! _ PROC PickPart()
$ J- J, R9 B( y* y! l MoveJ pPrePick,vFastEmpty,zBig,tool1;+ V# ]# U. f( E8 d+ j6 r0 G
WaitDI di_Ready,1; →ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。8 ?) N: h. V, N0 Y. V; U5 ~
…7 E/ S/ {$ H# U7 t$ u
ENDPROC* A/ ^5 [, W, D- V H( ?
- B" e* F* F+ Q l, w! Y4 H0 _8 \PROC PickPart()% Q! F2 I5 K$ B* O* K
MoveJ pPrePick,vFastEmpty,zBig,tool1;+ O5 B9 ~; ~ C, X+ K6 X
WaitDI di_Ready,1\MaxTime:=5; →ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。$ D) \/ c }3 o' P0 h# W' V: Z
…
4 s4 z* C) V% g5 P) l ERROR
3 R1 a2 R" m% ~, A/ c% j) ~' C' ~ IF ERRNO=ERR_WAIT_MAXTIME THEN
8 `3 W9 I3 k Y; \- J TPWrite “……”;
2 @. R/ _/ ^% N RETRY;1 V# H G* J' j7 G: [+ M
ELSE
4 y# K* K' m5 @; p5 F* y; x6 `/ j RAISE;
& O; ^! Q* h ^! \( L, p ENDIF6 \7 M% ?& R$ P
ENDPROC8 y Q8 l4 i; E% C2 V. } l4 |
. s4 x3 n8 k* B+ R: M" u- F实例:; u6 h+ H; a9 o/ F9 m+ g5 S
PROC PickPart()4 g. u, W0 o+ w7 a
MoveJ pPrePick,vFastEmpty,zBig,tool1;
4 S, r$ A. Q8 V6 ?8 K6 E: ^ bTimeout:=TRUE;% O y! F) q1 q! y6 ], ~4 y$ j# r
nCounter:=0;8 J" y% Y0 P; c
WHILE bTimeout DO* s" M: A8 Y6 m0 S: P
IF nCounter>3 THEN9 d& M0 n% E$ a9 a* s: i
TPWrite “……”;
2 G( n3 ]; R9 v4 i* O7 c ENDIF
E2 P9 Y+ @7 V+ u6 b% S; H IF nCounter>30 THEN) o/ Y3 B, N/ D7 W
Stop;
+ D* ^3 v" w/ G% |+ f7 R# Z- h+ H ENDIF; G% U0 ^! \9 U7 v1 G+ l, W$ o
WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;→ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。
) p% l# z5 `0 ?4 B5 E Incr nCounter; ( v; O5 L4 { f o b' H. O# k
ENDWHILE& D; {6 V1 h7 ~6 t
…5 v5 x+ ]1 e4 }- d
ENDPROC7 ?4 [) n8 `7 V: E, i, O
|
|