机器人教程网

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

作者: 我是机器人    时间: 2019-9-3 17:02
标题: 输入输出指令WaitDO-ABB机器人标准指令编程
输入输出指令WaitDO-ABB机器人标准指令编程1 K' G  ^  j0 W; `& a; U/ h: D. `% d
WaitDO Signal, Value [\MaxTime][\TimeFlag];
Signal:                输入信号名称。   ( signaldi )
/ ~+ q. Z5 _7 T* ^. T" ~Value:                输入信号值。           ( dionum ) 2 Z% X" g2 u0 j1 t5 s1 {# R- g
[\MaxTime]:        最长等待时间 s。( num )
+ [7 ~: {5 U: _1 T1 q0 f0 D( a[\TimeFlag]:        超时逻辑量。           ( bool )
: C& J$ z% X# }5 ]+ J" r: c: ]3 X* K6 O$ w6 J  w6 D

3 E" N: ~9 Q. i1 E" _8 x, c% C  |1 l
应用:' ]; d2 W# Y6 l0 d% q/ n: Y
        等待数字输出信号满足相应值,达到通信目的,因为输出信号一般情况下受程序控制,此指令很少使用。
) P3 X6 h" I' @
2 @3 E- a! x  a7 ~2 i+ `实例:
/ E1 B4 w- g; ^" ~; ]        PROC Grip()
1 W- v" v" o  }" Z% A& {" m          Set do03_Grip;
' U& v3 M% R: u3 n: J) U          WaitDO do03_Grip,1;  →ABB机器人等待输出信号,直到信号 do03_Grip 值为 1,才执行随后相应指令。
( t8 R8 k2 ^1 t# a          …
& l/ v* Z: Y* Y& P8 O+ T        ENDPROC& D* E( z4 w$ _/ x6 ^# b, ^) Z

7 B  Z, y9 ~5 M: B. c- APROC Grip()
7 O! J1 D" E  ~( j          Set do03_Grip;4 E  h6 m' ~" s/ O' L3 x
          WaitDO do03_Grip,1\MaxTime:=5;  ABB机器人等待相应输出信号,如果 5 秒内仍没有等到信号 do03_Grip 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,ABB机器人停机报错 。% `' j4 j: g& H7 w
          …
1 g2 ~( ^% l) U        ERROR& J6 n0 N3 v& ~2 _) u4 T  d5 V" O
          IF ERRNO=ERR_WAIT_MAXTIME THEN
  A! t  ~2 L3 w( V0 l            TPWrite “……”;
2 m6 y; Y9 R4 R            RETRY;, O5 M) V) W2 ~* v/ a
          ELSE
5 ~/ `7 O* [& q5 T; w% j  x            RAISE;
2 \' h% l' g3 w          ENDIF4 F2 u4 j6 d1 i8 _0 o" X/ @
        ENDPROC
6 d5 D$ N6 V' N; u/ M0 H
) ]/ Y4 ~" |$ Q+ t, L实例:/ E$ u# S4 m, l4 J! `
        PROC Grip()
8 D7 B! K! {  D          Set do03_Grip;
! W9 ^# t- [$ j& z9 O$ @          bTimeout:=TRUE;, Z, k/ Y7 R  _- p  E
          nCounter:=0;
9 W; ~3 V4 d' X/ g          WHILE bTimeout DO
3 O  z. W5 Y% f7 n            IF nCounter>3 THEN
! t5 t8 |3 _' t/ X" V$ O# k              TPWrite “……”;
* ^" M$ H4 G) ^+ T1 i            ENDIF8 N4 f4 N& e* N0 P, B0 x
            IF nCounter>30 THEN4 r( D7 Q& Y7 E: w
              Stop;% w9 Z* r  V4 L& T% A
            ENDIF* Q. S" _( ?/ m% W" Z" Y( B- D
            WaitDO do03_Grip,1\MaxTime:=1\TimeFlag:=bTimeout;  ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 do03_Grip 值为 1,ABB机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;ABB机器人等到信号 do03_Grip 值为 1,此时,TimeFlag 值为 FALSE。
/ [4 t7 @: Z% y$ k2 k  M6 X% O5 z8 {+ ?$ V' ~! @
            Incr nCounter;         
9 k9 D$ R# R: i% `* o0 Q5 {' m+ J          ENDWHILE
7 Z+ `9 n, d7 X* g          …
9 b; F% ~# ^  Z7 y  d% f        ENDPROC1 ~& Q; f8 ~+ _7 Q1 k, ~0 [9 ^5 n





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