机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程9 @( o. s: X7 g) H
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
4 q* N) ~% ^1 V6 V7 Z/ d[\InPos] :                提前量开关。        ( switch )       - y# c5 [  H$ `; O" i5 }+ a& q5 A
Cond:                判断条件。        ( bool )
: C- v' P9 A4 O; o1 ?5 F[\MaxTime]:        最长等待时间 s。( num )
0 l! A. P5 l; t8 l" z2 d[\TimeFlag]:        超时逻辑量。        ( bool )
0 k1 u9 J0 ?. M; V

: r8 S% U" V$ j4 L8 fABB机器人程序流程指令WaitUntil-应用:' B% `' ]9 L9 J
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
4 w) \; U- G; f: d
$ j- Q/ }  w% [ABB机器人程序流程指令WaitUntil-限制:* [4 \. w* c- l# U" E
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。; b2 ?5 E/ d7 @. h3 r1 U
8 \" a6 y: ]6 @1 q" d
ABB机器人程序流程指令WaitUntil-实例:
) @! l7 V& n# k, ^; o  m( W" C, a        PROC PickPart()
# M" @+ O$ N6 w+ R; {5 z9 G3 \          MoveJ pPrePick,vFastEmpty,zBig,tool1;8 u# Y1 T1 b* m
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。- |0 N, N+ U: d7 K( G
          (WaitDI di_Ready,1;)
# h  ~0 q# c4 }  @$ a" u6 f
5 r6 f" }9 t3 L# o5 c! w( r        PROC PickPart()
- [7 T5 W* w, b( T6 k7 c: F          MoveJ pPrePick,vFastEmpty,zBig,tool1;+ d$ V( z/ l+ M2 m2 e0 p1 q
          WaitUntil nCounter=4\MaxTime:=5;+ [1 Z9 [' v( O* G& J2 G, z6 c6 ]
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
# p4 ~6 U/ f4 F& _! T% V        ERROR. O8 a5 r( Z% `: C3 ~
          IF ERRNO=ERR_WAIT_MAXTIME THEN! F3 H" `5 i8 n, {  x
            TPWrite “……”;
4 P' H( ~. L5 @+ @" R            RETRY;
! a& U3 F; o4 X+ u3 n# j9 N          ENDIF0 M9 T+ S( T) L; E9 Z5 F8 f
        ENDPROC' J; L7 q" C. e+ o* o  [

4 {' D+ l1 H/ hABB机器人程序流程指令WaitUntil-实例:
: w, B+ f, z7 n6 S9 c7 `2 K        PROC PickPart()
+ k; k( n; m5 R, {+ P          MoveJ pPrePick,vFastEmpty,zBig,tool1;
$ y# |' u# L5 o2 i; m          bTimeout:=TRUE;8 \; i# x3 [+ U5 `( n; _. u
          nCounter:=0;' s0 V# U" n+ `1 ^
          WHILE bTimeout DO+ W# t/ C9 r$ V$ y
            IF nCounter>3 THEN
, F! _$ X% @" u: j8 Y# k- U              TPWrite “……”;
; _9 T/ g& G. d            ENDIF
3 p  u7 t  Q2 i% ~$ |; C( E            IF nCounter>30 THEN9 G5 T. C4 Z) f5 j3 @! ~& d! Z
              Stop;$ J- r, x: H/ E7 s/ g! |2 y
            ENDIF
0 [3 d7 `; }; C' N2 K$ f; F1 a            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
5 R7 w1 t3 n4 Q% j8 b# E" P            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。( V2 Q& m  y4 k9 M( j
          ENDWHILE( c: k+ w- g1 q# Z( b- B$ P
          …& b  {: b* |. B3 x
        ENDPROC
! f1 f0 Q3 Z9 J2 @. E* @& A1 o
回复

使用道具 举报

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

GMT+8, 2025-4-3 20:46 , Processed in 0.064903 second(s), 22 queries .

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

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