机器人教程网

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

作者: 我是机器人    时间: 2019-9-3 17:02
标题: 输入输出指令WaitDO-ABB机器人标准指令编程
输入输出指令WaitDO-ABB机器人标准指令编程. ~" r( T! A' I# t: w0 n0 R
WaitDO Signal, Value [\MaxTime][\TimeFlag];
Signal:                输入信号名称。   ( signaldi )
9 e! ~5 @$ Q1 `) K: Y' g6 TValue:                输入信号值。           ( dionum )
9 v# J' D7 b/ v) T0 Q[\MaxTime]:        最长等待时间 s。( num )
- B% g( ]- z( c, f" R[\TimeFlag]:        超时逻辑量。           ( bool )
8 P, w! H; I4 t7 K6 s1 R" [: s1 P8 v* T3 ?

. I( u8 k6 S5 w( }. A
应用:
1 R+ \5 M& B* p2 L) f        等待数字输出信号满足相应值,达到通信目的,因为输出信号一般情况下受程序控制,此指令很少使用。
( w' z, J+ w; M+ ]+ @  @/ Y8 ^. Z6 m; X0 w5 @( s
实例:; R& x) [' I6 m0 B( y  z
        PROC Grip()
& v0 m: L) {- ]# s! b" J          Set do03_Grip;+ k/ z; r/ V! ~% _
          WaitDO do03_Grip,1;  →ABB机器人等待输出信号,直到信号 do03_Grip 值为 1,才执行随后相应指令。& X/ U8 T, v* K( R! D
          …
4 @3 r" O- P" o, a' [; h        ENDPROC9 _& O7 y6 h$ v* e: H3 o$ s

* e9 ]5 E. z: J! DPROC Grip()
' @6 U4 C' {- B3 c  [. l, s          Set do03_Grip;& j2 i' A: N- R. O: R# i/ t. g  x' W
          WaitDO do03_Grip,1\MaxTime:=5;  ABB机器人等待相应输出信号,如果 5 秒内仍没有等到信号 do03_Grip 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,ABB机器人停机报错 。2 V; ]9 f% \4 V' e  M
          …4 R" _& {$ @7 m% k
        ERROR& V1 ~9 U. u& s% L( W7 H& k( I
          IF ERRNO=ERR_WAIT_MAXTIME THEN
, B7 Z& I% b$ q0 |. c$ e  }            TPWrite “……”;
) W. p; f1 R, |, P, X5 S; J            RETRY;: O9 q5 F- Z, c( H' i( a
          ELSE
% [; A+ F  C0 S& g4 W            RAISE;
& g$ F: C" H( c" C' Y          ENDIF; X& H+ v( E5 q8 l7 Y6 ^
        ENDPROC
$ I- d1 M% v& V% A5 Y
6 ^6 H: Q  C; g/ i2 D0 _# a0 w0 o  J实例:6 g) J, \$ q0 r
        PROC Grip()# F  m% k7 L3 M2 Z8 j5 }
          Set do03_Grip;  d8 G8 H, P, U
          bTimeout:=TRUE;( U2 X6 w8 K$ r
          nCounter:=0;$ T- m! b& H4 K" x0 S( I- U
          WHILE bTimeout DO
- a: W' r+ l4 E5 @  P7 B! G            IF nCounter>3 THEN
  [: g3 j* t2 E) e              TPWrite “……”;
2 g, i3 S; K/ \* M8 j7 ^. g2 l: I            ENDIF; t4 F! U" @$ D! v0 v) r8 w
            IF nCounter>30 THEN
" H5 q, c6 H* u9 q! S4 [% D4 ~& x2 s              Stop;
' R" F1 S& L  V* Q% `            ENDIF8 w* R% _& c# O* E; G' O6 h
            WaitDO do03_Grip,1\MaxTime:=1\TimeFlag:=bTimeout;  ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 do03_Grip 值为 1,ABB机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;ABB机器人等到信号 do03_Grip 值为 1,此时,TimeFlag 值为 FALSE。, U; f$ u2 |. [# D* y
) U! f- Z4 C: U: |4 p* K
            Incr nCounter;         
3 m( H0 ]  n$ K' I  m          ENDWHILE$ H/ g2 B$ o+ h7 p$ @! _, a
          …
2 `6 d# ^8 Q! o* A4 {" v0 ^        ENDPROC
) Y1 c- v3 B, t5 K' I3 J  V1 `




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