|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令WaitDI-ABB机器人标准指令编程9 e" X* c1 f9 H0 C( c4 E1 \
WaitDI Signal, Value
$ j. Z) e5 T L0 P+ s[\MaxTime][\TimeFlag];
6 M1 H2 s/ j- ?5 \+ gSignal: 输入信号名称。 ( signaldi ) & Q# A+ B$ L6 e
Value: 输入信号值。 ( dionum )
6 G1 Z- F* o- P8 @/ v7 b. A: T[\MaxTime]: 最长等待时间 s。( num )
& A5 s) R% k- _[\TimeFlag]: 超时逻辑量。 ( bool )( f3 {# f3 F; S
* j9 d+ R$ R' _
5 }+ j+ Z. M- A/ m0 f: Q4 {
应用:: V' n& T5 x# q" b# M$ e2 a
等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。) K! a) Z* L+ ^0 a
& L6 y2 V5 }( s# ^ E
实例:0 n# g9 V' u* f/ S8 w2 F
PROC PickPart()
/ i, L; S: e! h7 P* C0 K MoveJ pPrePick,vFastEmpty,zBig,tool1;$ v: ~ U: z1 ^& u& ^
WaitDI di_Ready,1; →ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
1 j. z( ?* p4 z Z! n- S …6 W0 a' v U' m9 U7 ^' L
ENDPROC
. Q- v. f X7 i
/ r+ y }7 f' l& E6 YPROC PickPart()
* e7 c. c- |+ A' ~" \, Z. { MoveJ pPrePick,vFastEmpty,zBig,tool1;
. J' D* s% {) j- c WaitDI di_Ready,1\MaxTime:=5; →ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。! p$ J& }8 m6 p6 C8 I& v- R) E; g
…! J2 Y7 g- x$ P V- [
ERROR
! {$ q' `! w2 [' u3 i% J IF ERRNO=ERR_WAIT_MAXTIME THEN% R% F5 E, O+ @( J# f5 C& D& k
TPWrite “……”;
" v. E! F+ s5 a2 u RETRY;
7 I) t* L: Q" Y, [/ m/ c ELSE. Q- {% \# u1 N s# T
RAISE;: x" c0 o* F6 i0 c& b% g
ENDIF
O+ E3 J$ R* E# f- L8 F& a ENDPROC
+ g/ ^0 e) w+ ^- ~ z+ P' m2 m; y+ W+ x* d; f, v2 _
实例:
, ^% g7 t- [/ v- G PROC PickPart()
+ t. }% l) ~! {' f MoveJ pPrePick,vFastEmpty,zBig,tool1;
& p% ^9 P' H" V; \ bTimeout:=TRUE;
. T1 Z% E, T! X3 \- X' P8 \& j. O nCounter:=0;
+ I |$ Z6 t! z9 v5 q: z+ z WHILE bTimeout DO
* ?7 h/ o1 M2 ~4 A% e3 W" G, D [ IF nCounter>3 THEN
% C% ]: Q; ^- R; Y! A0 B- X TPWrite “……”;
1 i4 x6 n- l8 \ ENDIF
; ^# E; M0 c( E4 n1 E p* w IF nCounter>30 THEN
+ U1 J9 F) q- j" q' p8 u Stop;7 r% j: D( w4 t1 A5 E0 S7 B5 W
ENDIF# ~ I' @# p( ^3 p' l1 e2 O
WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;→ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。" @5 X+ L1 A. g
Incr nCounter;
2 _9 e8 w0 C+ m" E ENDWHILE+ |/ l% r1 Y1 {7 F8 Q
…7 M; G4 r4 O- H% O8 r3 l3 v
ENDPROC
, E$ D! x3 g. @) J" P- T |
|