机器人教程网

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

作者: 我是机器人    时间: 2019-9-3 17:02
标题: 输入输出指令WaitDO-ABB机器人标准指令编程
输入输出指令WaitDO-ABB机器人标准指令编程) [1 w& D1 K& k2 l6 `, e2 b  L
WaitDO Signal, Value [\MaxTime][\TimeFlag];
Signal:                输入信号名称。   ( signaldi ) ! Z( E  _6 v8 a7 L" T" u/ S
Value:                输入信号值。           ( dionum )
& E- Z, A0 U8 k- g$ d[\MaxTime]:        最长等待时间 s。( num )
7 \* I- E5 z( `[\TimeFlag]:        超时逻辑量。           ( bool )
& o$ b& g1 y1 a8 ?7 C4 i* |4 G3 V3 K; A7 o! j

5 C5 z* ]# c) B2 p- s" Y. {7 J
应用:- F- I$ O; A3 r8 w$ K$ q: G, y7 N
        等待数字输出信号满足相应值,达到通信目的,因为输出信号一般情况下受程序控制,此指令很少使用。! t7 }& x- W7 d0 b) O

# o. X; D1 v. \* _7 {实例:
' A, g/ ]9 e$ z. U4 ?3 P! ]! [& w        PROC Grip()8 I- o- R: d' T, V5 D+ h/ S
          Set do03_Grip;
* o( Y+ |' r; z          WaitDO do03_Grip,1;  →ABB机器人等待输出信号,直到信号 do03_Grip 值为 1,才执行随后相应指令。' O4 b1 N9 u. {1 h* v1 l
          …
$ n. @& L8 c, {, Q        ENDPROC
0 v6 m7 t2 L4 b
7 n/ C" ^  l7 y* F: XPROC Grip()
' Z* p7 p1 }7 N          Set do03_Grip;
  F" A% k" _' f          WaitDO do03_Grip,1\MaxTime:=5;  ABB机器人等待相应输出信号,如果 5 秒内仍没有等到信号 do03_Grip 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,ABB机器人停机报错 。
# [/ S( k( @% Z3 T  w' I          …1 o: I" i' r% D% o  d& v
        ERROR
4 m+ }+ u" g# r4 }3 G0 N) U. m! h          IF ERRNO=ERR_WAIT_MAXTIME THEN7 C. a: I# S- d9 B* i/ Q  J# R: H# O
            TPWrite “……”;3 G) W6 ~# p# g; ~; q9 [
            RETRY;
: z( o3 Q0 `& Q" [( b0 ?          ELSE4 N) B- x% {0 u4 |2 r# P& x
            RAISE;
& N. _* f9 I. S0 Z9 A" C% w          ENDIF
1 d+ f1 H- O/ @        ENDPROC
+ z. }! ]3 }: K$ H& X: K) y  {7 S
实例:
8 \7 |4 b+ t- ~0 w' R2 p9 ]        PROC Grip()# ], Y" g# l4 y. S9 ?1 L# ]
          Set do03_Grip;
6 [3 f1 [4 w- r- F+ o" L, b* j6 Q          bTimeout:=TRUE;
+ A; j2 M8 s: d. m$ r- g. }6 z" B8 n6 R          nCounter:=0;7 a# _. L1 o% ^
          WHILE bTimeout DO0 o4 T- \8 E4 R) V. r; w& d6 w
            IF nCounter>3 THEN
: y; t& d1 }: @8 b4 \              TPWrite “……”;6 q+ n: ]9 e$ N( W2 X
            ENDIF
" x- e, a+ P& t) B' }            IF nCounter>30 THEN
) b; V. r# L1 A* K" P  t( f3 m              Stop;  T' I+ g- s8 P+ r7 D- }2 A! q
            ENDIF
/ h- \- a$ k$ y; |6 B+ X6 Y            WaitDO do03_Grip,1\MaxTime:=1\TimeFlag:=bTimeout;  ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 do03_Grip 值为 1,ABB机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;ABB机器人等到信号 do03_Grip 值为 1,此时,TimeFlag 值为 FALSE。5 O! p  Y7 a. N- w- {) F
- r+ G) [  E; O5 \2 Y4 ]
            Incr nCounter;         
( J+ O8 a2 L1 X9 ?          ENDWHILE
# X; l0 |# f/ w2 D2 u8 J          …
( {; Q+ V2 i* n/ L" E6 _        ENDPROC
4 H% B' f, m  Q




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