机器人教程网

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

作者: 我是机器人    时间: 2019-9-2 11:35
标题: 输入输出指令WaitDI-ABB机器人标准指令编程
输入输出指令WaitDI-ABB机器人标准指令编程
1 m, V) f2 D& j% ]8 M: OWaitDI Signal, Value - v. [5 F$ b- H/ Y' f8 T
[\MaxTime][\TimeFlag];0 }0 b: D9 j3 q. X- h, r  A  N
Signal:                输入信号名称。   ( signaldi )
6 i/ ]; a5 X# a8 h8 u' c6 aValue:                输入信号值。           ( dionum ) : V, c5 O* U; L" b$ d9 o
[\MaxTime]:        最长等待时间 s。( num )
$ G5 e2 z0 _' {$ ~! q4 i8 o[\TimeFlag]:        超时逻辑量。           ( bool )( r2 U5 L' f7 s( I# O

) N% I# V% W  A5 R; n1 i

1 Q: p5 j% o; L  q- U! _" L应用:' l3 ]7 o7 v# C* X
        等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。
7 E% e) n$ W& K5 b$ @
, R  c& e' G* F& D5 Q+ ~/ G实例:
1 S4 _4 o) Y8 V5 T        PROC PickPart()
8 b' f1 H" M2 G0 U9 o          MoveJ pPrePick,vFastEmpty,zBig,tool1;
6 ~. `' _: g4 a$ }          WaitDI di_Ready,1;  ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
5 n/ C/ D& b: T$ t          …) ?# z6 e+ g' V- X. ^
        ENDPROC
8 c- B. u9 O0 C2 r. i) c4 y% C% R/ Y% E
PROC PickPart()+ t& b8 y, \& f3 w  t( X/ g% A
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
/ F6 j! D' T9 P: C( N          WaitDI di_Ready,1\MaxTime:=5; ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。% x1 G: A4 P( [  v; `: Y" }  I
          …
: c# i7 _8 g9 \6 S0 @        ERROR( R+ i/ U. J4 `, }' n
          IF ERRNO=ERR_WAIT_MAXTIME THEN
7 Y, @$ r, i3 c. }            TPWrite “……”;, b' o' v& M, o( B+ _6 y/ O* x
            RETRY;
# p# ~2 u- x3 [; p9 Q: ?9 d( q          ELSE  _+ z1 v2 o" ~. S
            RAISE;: Y- G8 ^* A& B- Q* O
          ENDIF- ]1 M1 M' ~2 j& b
        ENDPROC
  t4 [- i. A' E2 H0 N& m
) }) ~: z+ _: G. H5 c实例:
) P9 D$ x' x% T4 d) J* i9 S6 t        PROC PickPart()
* g: V7 ?2 M, E3 }9 l" r# B: H+ }          MoveJ pPrePick,vFastEmpty,zBig,tool1;
4 H) `+ b8 v/ E6 h0 e. m          bTimeout:=TRUE;
" r, I# G+ R5 j0 Z$ V' f% ~          nCounter:=0;
, q3 Z0 _$ A9 F* h8 b. t          WHILE bTimeout DO
, R9 _) ?, I, e: @9 J            IF nCounter>3 THEN  p. a$ L6 D9 n6 |7 e% a
              TPWrite “……”;1 V1 i7 z/ z, z& k5 |/ s8 A( C
            ENDIF. j" L  d# w1 t( `- E6 K
            IF nCounter>30 THEN, `; S* Z+ r3 b3 @
              Stop;. `  Z( W1 Z$ s6 n3 C. o6 g
            ENDIF
% p- n  F, j2 C+ _            WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。
9 X, w" o' _) F' P2 ^            Incr nCounter;         
" }' }9 r8 o' S8 S          ENDWHILE
, V, [& w7 Q% J          …. r' T! m, [# L7 q- g
        ENDPROC' v) L# L/ ^5 C' `* P. ^





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