机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
+ f: ^* M; H7 H% X  WWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
0 R/ z1 c* c5 I2 p: `$ U/ v) \[\InPos] :                提前量开关。        ( switch )      
2 i4 L( x5 a4 O) J* G' Q7 k, |/ YCond:                判断条件。        ( bool ) 8 |) z0 u: F, a+ V
[\MaxTime]:        最长等待时间 s。( num )
: l; _0 z: _9 s' V$ B/ I, v9 H[\TimeFlag]:        超时逻辑量。        ( bool )1 ]$ \: ?3 F. E# b. l# ]4 B3 \' R


. h6 ?' w- E! _1 P5 x5 c) KABB机器人程序流程指令WaitUntil-应用:) G8 V" u6 A& I6 o! E6 y% ^0 x6 Z# l
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。* Z8 `6 t5 ~0 M2 q
+ W( [$ @( v8 K5 \
ABB机器人程序流程指令WaitUntil-限制:
5 g; X; k: x0 b# U# S9 Q# N$ }9 @& p
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    9 S- S1 v# Y% _5 ~7 V

- L7 u  I& _* c& _4 C3 @ABB机器人程序流程指令WaitUntil-实例:+ }9 @1 m( n: o2 v' x5 Z, Q
        PROC PickPart()) D" W4 z2 ?0 c
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
+ R' D% j/ `+ Z! `! M$ o4 Q3 t          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
- J+ t3 D5 Y$ H          (WaitDI di_Ready,1;)
1 O- @, a9 Y6 k( b5 G6 n" n
% U5 b" G1 s8 w" V8 a        PROC PickPart()
" s2 ~% e" P2 S# S/ u) ^+ i          MoveJ pPrePick,vFastEmpty,zBig,tool1;; @6 D0 o$ Y+ B+ ]
          WaitUntil nCounter=4\MaxTime:=5;
. X( [7 K; S2 F: A1 t+ G. u          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。/ i/ j; c, n3 K; G8 E
        ERROR
% P5 ?7 x0 |5 Y# U) }" m          IF ERRNO=ERR_WAIT_MAXTIME THEN& L3 W4 p3 |& b# F' r7 c: p
            TPWrite “……”;
4 }1 s8 z. R; l6 X- w            RETRY;
8 D2 P3 o- M2 V3 W          ENDIF; ^1 i) k! Y$ ?9 K$ w! \; B; q
        ENDPROC
$ c8 h" I  @' s3 z9 V
( E$ u  J) _0 B3 S0 @6 }( n5 JABB机器人程序流程指令WaitUntil-实例:: m5 v# G8 k# {% R( y  ?
        PROC PickPart()
  s7 H9 A# E4 N          MoveJ pPrePick,vFastEmpty,zBig,tool1;
3 L" l' m; f/ h          bTimeout:=TRUE;: ^, O4 a- R) m2 M  B/ B
          nCounter:=0;: [3 G9 X  _3 p  e3 j
          WHILE bTimeout DO
* D- A# Q% H$ f* |. C. y9 ^) [+ h            IF nCounter>3 THEN% v- \4 K$ e7 j. P( O
              TPWrite “……”;
" S" P  \0 B. A* f$ S& `6 d, B            ENDIF/ l7 C# i; m( [" z& U+ `$ }
            IF nCounter>30 THEN/ r" c( E; l) K' f
              Stop;, T; j9 r5 Q  t3 [, b0 q
            ENDIF+ H/ ]" i  z* R0 g6 f1 `: [. n" g
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;- ~! Z+ v( b, t& W) c! Y+ ^4 n
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
- r5 ]) P' l- B; o          ENDWHILE! v7 m' u5 k* f
          …% S+ w" V+ j+ K. l! Y
        ENDPROC
, t3 w; r5 c( S/ F6 A/ V+ @; I
回复

使用道具 举报

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

GMT+8, 2024-11-25 01:32 , Processed in 0.061783 second(s), 21 queries .

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

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