|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令WaitDI-ABB机器人标准指令编程- |6 m' h. p% ^# g$ f# j
WaitDI Signal, Value
4 f' ~% z5 l1 E6 M2 o8 z8 w# m[\MaxTime][\TimeFlag];* a# X* P) r$ Q; g! |
Signal: 输入信号名称。 ( signaldi )
' {7 a. _, q* l. `Value: 输入信号值。 ( dionum )
. Y0 Y' l. c0 E2 M6 w c# O) ~[\MaxTime]: 最长等待时间 s。( num )
3 Z6 C1 E1 e; q& Y/ ^* T, ^8 e[\TimeFlag]: 超时逻辑量。 ( bool )) ?3 b3 }8 Z# N6 d& u
0 @& f5 e( {* v& f9 z# M' l( x3 D
$ D% S1 y, ]* ~
应用:/ ]9 n( H L5 w9 h9 W7 y
等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。% {# }7 [2 T; H$ V2 Z2 \9 E
" c9 E9 h4 [' g C实例:7 n6 y9 `0 k! C5 D
PROC PickPart()4 @8 n" @. B' n; |
MoveJ pPrePick,vFastEmpty,zBig,tool1;8 B$ [: A/ q) }. u" y. V
WaitDI di_Ready,1; →ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。3 a% I0 F) A. }* q
…
0 @: t$ @3 H6 Q! k# O ENDPROC
]+ e$ w _" } _( F# B' R
( T9 i1 U( h& O" M& a9 sPROC PickPart()
* [0 A6 R6 n2 h( C/ y MoveJ pPrePick,vFastEmpty,zBig,tool1; F9 V4 T! s, z0 t+ F7 c
WaitDI di_Ready,1\MaxTime:=5; →ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
! z% g5 E8 j% O; k+ @$ \9 g5 {! ?/ v1 Z …
- w) m0 o& h, G4 |! R% W% z) z, W ERROR1 C' z/ J2 k( ^3 V; Y
IF ERRNO=ERR_WAIT_MAXTIME THEN
7 h0 H/ K3 F8 l1 `. D TPWrite “……”;
8 J3 @: |4 E3 U RETRY;
& q# U6 V. X0 O) b ELSE4 @ ^4 H, K4 ]& |
RAISE;& U, w& A# h- x7 f+ `& v
ENDIF
: q8 b' Z0 b5 q s7 t ENDPROC
: G Y1 S# V, c$ E6 [. }! i: p
* n+ F0 R9 ~7 Y! u实例:
0 ^# U( C o7 s* g PROC PickPart()0 ] `# h2 l- `; Y {
MoveJ pPrePick,vFastEmpty,zBig,tool1;6 A& H O& r, a- u, V& M6 y
bTimeout:=TRUE;* v$ d2 |9 Z' z+ T4 G( d) p( d+ b
nCounter:=0;
% V/ [) t; p1 ` o% g$ s WHILE bTimeout DO/ d- F6 O" q! o& m
IF nCounter>3 THEN4 R- ?" X( w+ ], I
TPWrite “……”;7 o$ `! q7 C3 I' h
ENDIF# N5 h0 t' e. p8 \9 g
IF nCounter>30 THEN
1 [' n- u' k; b0 N+ L% R7 c Stop;# V; `& i! q5 g) n- F D6 t
ENDIF
. Y) n8 J) {- _0 ~$ `% o6 ~5 [+ V WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;→ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。
8 r% \5 P4 s" ]) Q' B) D Incr nCounter; % J, p6 A' [2 |/ v
ENDWHILE
. f5 O! {! }, f) z, j& t …/ r6 J" z; \) G# G) X+ j
ENDPROC% K# Y8 O5 d! K0 o$ [3 n4 M
|
|