机器人教程网

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

作者: 我是机器人    时间: 2019-9-2 11:35
标题: 输入输出指令WaitDI-ABB机器人标准指令编程
输入输出指令WaitDI-ABB机器人标准指令编程
$ S! i% j1 x6 ^* {WaitDI Signal, Value
( N3 f$ O( B- T; ~1 t5 ]1 r' V[\MaxTime][\TimeFlag];
. W1 C( R- f7 l( ?$ G+ O- p% B, GSignal:                输入信号名称。   ( signaldi )
. c5 E8 Q2 }1 o. J' ?! v6 ?Value:                输入信号值。           ( dionum )
; Q$ ?, Q" `0 h$ p3 |[\MaxTime]:        最长等待时间 s。( num ) 0 a  p/ ?0 K4 n1 }+ V  @3 j
[\TimeFlag]:        超时逻辑量。           ( bool )% T/ f+ q, F2 o6 E; r1 q4 {
0 y1 a' S7 @, y


9 Z2 d* J' d" K% S( a应用:+ K& e2 u4 n2 ?5 O! n5 T
        等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。
0 N; W/ z/ }7 ^. Z; X; H5 u
% T2 b% I# C6 v实例:# t# u. E6 I; J
        PROC PickPart()/ x9 A1 _. G  m, G& x( p
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
, ~, ]* S; g5 [" G          WaitDI di_Ready,1;  ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。2 g* x# _! T) T! ~* b1 X+ K
          …
) I. h5 ]5 Z1 m; S( v8 R        ENDPROC) }8 h5 i. Z. e# `
* R" s* W& y) O! ?1 D4 J
PROC PickPart()
6 K! o3 G) R5 q" q4 E! _/ T. P          MoveJ pPrePick,vFastEmpty,zBig,tool1;3 Y, y" F5 B) I4 M0 X) F# |  ]
          WaitDI di_Ready,1\MaxTime:=5; ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
- k  t. B& j) v          …: A6 z: {( m% k$ s! r
        ERROR  c: S# k; E  E
          IF ERRNO=ERR_WAIT_MAXTIME THEN. ]; [, v3 d. I7 \2 t4 S! G
            TPWrite “……”;0 C4 O0 T# I1 d4 _; [  R; d4 ]% h/ F
            RETRY;) a# {2 Y- K8 q- ^
          ELSE6 G' n2 ]: s9 |8 {
            RAISE;
/ }1 v2 @. J2 O1 q  k& @1 k          ENDIF! r8 z. e8 P. u4 W* w2 W3 Y
        ENDPROC, v! c6 t8 A1 m: v

$ S3 e( Q8 [9 e5 D2 E实例:
* v  ], b! J% N) `+ ], v        PROC PickPart()
( |8 ~2 H# |4 @- E* E          MoveJ pPrePick,vFastEmpty,zBig,tool1;  ?) v3 Z0 r1 n( h
          bTimeout:=TRUE;* M1 J; W# I& }, f8 @
          nCounter:=0;
/ g7 J, [+ u+ n1 m, v$ H4 t          WHILE bTimeout DO
! u, `7 Y$ v0 n. k* l' K            IF nCounter>3 THEN/ _4 S- c. ]" }4 B' z& l; V0 u
              TPWrite “……”;
7 F) ^9 B9 r( {  h            ENDIF, K' m6 t6 `. V3 Y: ~$ L" U
            IF nCounter>30 THEN: K- W( b: C6 N" v+ N! z* p. j
              Stop;2 B4 r, E  c3 ]6 ~1 F
            ENDIF3 K! k& k- g) o2 r0 ?
            WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。. i$ G( `9 B) J" [4 U4 m
            Incr nCounter;         
- F7 d) I( Z; t: H* g  g          ENDWHILE9 Q+ ^, c* _; f4 t$ D
          …1 ^1 u) Y6 r9 H
        ENDPROC8 m( V) {! P3 S' }+ o





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