机器人教程网

 找回密码
 立即注册
查看: 8920|回复: 0
打印 上一主题 下一主题
收起左侧

[ABB示教] 程序流程指令WaitUntil-ABB机器人标准指令编程

[复制链接]
跳转到指定楼层
楼主
发表于 2019-10-16 11:59:57 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

注册用户,获取RB币,享更多免费资源下载和阅读权限。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
程序流程指令WaitUntil-ABB机器人标准指令编程0 C- B+ }- ]( Z+ W- F' ]
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];/ s& O; f/ @# s3 [+ @, I
[\InPos] :                提前量开关。        ( switch )       8 \0 T# W; ^) T- N! ~
Cond:                判断条件。        ( bool ) 1 J9 ?( X. P) R: w# B% M( K
[\MaxTime]:        最长等待时间 s。( num )
6 M$ @- R6 [- B8 o: G  _$ Y[\TimeFlag]:        超时逻辑量。        ( bool )
, a, `- h  j1 ]1 I5 j2 w3 _
5 W7 S+ ?% e4 C1 C; ]  ?4 Q1 f
ABB机器人程序流程指令WaitUntil-应用:$ w: S2 L% d: b1 O( M, y
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。( n+ D3 Z) S; B. k4 U  c
0 c! e/ ~: T" ^# @4 y) C) W
ABB机器人程序流程指令WaitUntil-限制:8 k# B" M" @& Q3 W3 [/ L- y
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    " j3 t! j8 o% ~2 Y- D

. x& D" W* b+ m; }% _ABB机器人程序流程指令WaitUntil-实例:3 W' q* H- `$ G, ]1 d
        PROC PickPart()& D9 D* c& j2 H* j% S
          MoveJ pPrePick,vFastEmpty,zBig,tool1;; y2 a( T! A! u  ~& E6 K
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
5 u8 a' f  }& u2 c& F# `2 w2 ~          (WaitDI di_Ready,1;)( U6 l& y1 l- c
9 c" U0 l) r5 o; t
        PROC PickPart(): Z- {, q  u1 B
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
8 N' H. |! b6 k& R, m          WaitUntil nCounter=4\MaxTime:=5;5 ]9 {; K' L: x- P" W7 H
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
& y2 b1 Z2 m$ C& M        ERROR' |% n, C; M) f7 |+ o2 s; B4 N
          IF ERRNO=ERR_WAIT_MAXTIME THEN
( ]5 b, {8 v8 k+ S            TPWrite “……”;. y+ B( h3 z4 S! T5 s9 J
            RETRY;1 f) [% l1 C1 v1 }! _* I) x
          ENDIF1 B: ]. @6 @: Z: `
        ENDPROC
) q4 B4 R6 ]' W" y& D& i( F0 S% W) D+ v) }% \9 j* v3 d
ABB机器人程序流程指令WaitUntil-实例:
& N, A: ^: I* |        PROC PickPart()1 C) E2 E# D( _4 M( H
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
9 h2 J7 p6 c! s+ ?& s          bTimeout:=TRUE;3 ]+ Y4 _- m3 p+ [& J9 y
          nCounter:=0;
8 k, a! p/ G+ U& M+ N3 U% Q3 N          WHILE bTimeout DO
' A! O* }/ @7 o" o. p  j4 q            IF nCounter>3 THEN* t" A& X0 i2 E" \) F
              TPWrite “……”;$ _. w6 U3 d# y% Z: o% g% ~
            ENDIF3 u; v7 E9 j1 ^, |# G
            IF nCounter>30 THEN/ f& S: B% u+ M
              Stop;/ }% g- _4 v$ D+ U& v) G
            ENDIF+ u# T* S+ N0 J
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;( Z2 B5 q% M" g3 F- V3 J
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。+ G5 y! Q% O" e. k
          ENDWHILE0 \+ M" q. V* A" V
          …
- B" c  N( M+ y8 L7 m4 d. a        ENDPROC/ n$ N1 Z; P6 j
回复

使用道具 举报

QQQQ:345103927|Archiver|手机版|禁闭室|问答社区|机器人教程网

GMT+8, 2024-5-5 21:26 , Processed in 0.059712 second(s), 22 queries .

Powered by Robotjc.com(网站备案信息:粤ICP备17111093号-1 )

快速回复 返回顶部 返回列表