机器人教程网

标题: 输入输出指令WaitDO-ABB机器人标准指令编程 [打印本页]

作者: 我是机器人    时间: 2019-9-3 17:02
标题: 输入输出指令WaitDO-ABB机器人标准指令编程
输入输出指令WaitDO-ABB机器人标准指令编程* F1 i+ D7 R0 D7 r8 v9 k
WaitDO Signal, Value [\MaxTime][\TimeFlag];
Signal:                输入信号名称。   ( signaldi ) * U1 B9 y. i; ]4 a0 M% a$ ~. Q
Value:                输入信号值。           ( dionum )
1 c& V! n4 b& |' \( E  N) _[\MaxTime]:        最长等待时间 s。( num ) 4 v6 d3 }8 b$ e5 Q& f5 f
[\TimeFlag]:        超时逻辑量。           ( bool )
5 w; _9 _1 J6 s* E3 j6 D' U/ _" O/ h& c- y$ k: e5 y

; U/ ^6 E1 H0 O' s) J) _
应用:! z" f3 s+ S: i' P% u
        等待数字输出信号满足相应值,达到通信目的,因为输出信号一般情况下受程序控制,此指令很少使用。. Q, Z# w1 e2 X7 D' t. L

* c' V' p0 h% @- m7 z9 c" y* G& F6 t5 y实例:( [* r1 k' a. C0 \5 `
        PROC Grip()
$ q: W: [& N8 L/ t7 c2 a          Set do03_Grip;8 d/ s* C9 {/ a( g$ C9 F+ C
          WaitDO do03_Grip,1;  →ABB机器人等待输出信号,直到信号 do03_Grip 值为 1,才执行随后相应指令。+ H3 F1 `5 d* ?2 d& r- U0 [# ?
          …/ |: l4 E) w9 {* S# W
        ENDPROC
: s+ t) P9 ~' E2 L- Q9 ]4 w. r: J( X. y5 L4 a
PROC Grip()0 @) \! }& t% @5 T
          Set do03_Grip;
4 x' Q1 L' v' l0 ~3 a: }          WaitDO do03_Grip,1\MaxTime:=5;  ABB机器人等待相应输出信号,如果 5 秒内仍没有等到信号 do03_Grip 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,ABB机器人停机报错 。
, h  v+ f5 F4 D, m' E7 I) p          …2 |6 `3 j0 U9 K* P. h' k
        ERROR
9 j$ Z4 g9 C7 C8 J% X% G: {  {          IF ERRNO=ERR_WAIT_MAXTIME THEN# N+ i+ ]. w+ }6 O4 n7 X2 {' \( e
            TPWrite “……”;
; p' o, J3 T5 S+ S( [' ~* v            RETRY;
" m: t# s# V2 q          ELSE; l7 F" F' K: ^1 p) L: S
            RAISE;3 |8 |8 f, n7 ~* A; ]2 t- r
          ENDIF  b% L/ h7 O1 c6 m/ G0 d  ?
        ENDPROC  @: G( w2 X/ U2 F6 ]

0 Y8 O0 o9 {( e% p' D5 l实例:
# t. ]) J4 ~( ?5 U; A        PROC Grip()
' H1 n( N% N( T$ R. `; A& Q          Set do03_Grip;
) t6 q/ ^+ B. r- W7 h1 b          bTimeout:=TRUE;
6 H$ n& b2 ]- c; o; d          nCounter:=0;
. a) F8 l2 H! K8 O6 J          WHILE bTimeout DO! ^5 e, ~6 i% x, g
            IF nCounter>3 THEN
: l' T& O. r" V" x# ]" S" ~              TPWrite “……”;
* _: K# g# K: a5 y0 P            ENDIF; A) F# x7 _9 {, \$ |; z
            IF nCounter>30 THEN
6 X0 ~% }" u) o* ?              Stop;6 a1 h2 z* W: c0 E, M
            ENDIF2 t; i6 D9 S+ M
            WaitDO do03_Grip,1\MaxTime:=1\TimeFlag:=bTimeout;  ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 do03_Grip 值为 1,ABB机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;ABB机器人等到信号 do03_Grip 值为 1,此时,TimeFlag 值为 FALSE。3 e3 t3 C' l$ e: S6 ]8 T( g2 Q

$ W% R! G4 k' b5 a# M8 [/ f            Incr nCounter;         
; B3 y4 d3 B2 ~          ENDWHILE/ w  L6 q7 ]" E4 @, s+ D
          …
; e& d! E" y2 I! S5 A        ENDPROC
0 g( B6 f) ?, H& ?5 o




欢迎光临 机器人教程网 (http://www.robotjc.com/) Powered by Discuz! X3.2