机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程; S( ?# u4 E7 f4 }2 h* B7 L0 n6 y
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];/ _+ {$ T. ~* j. L
[\InPos] :                提前量开关。        ( switch )       6 |& Z7 f. p4 n4 B  v6 ^' T" G% S
Cond:                判断条件。        ( bool )
1 A; A* }1 c# I0 `7 F& c* u5 P[\MaxTime]:        最长等待时间 s。( num ) * ^) J9 C$ k% g. u
[\TimeFlag]:        超时逻辑量。        ( bool )) o5 v; m" E4 U2 u' N2 {/ l! s

, k' B& l0 t$ r: h
ABB机器人程序流程指令WaitUntil-应用:
) B1 K! A6 H* |) m        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
' s6 L; }( _; u. J. Y1 ~9 R, i/ U( r; d! k+ E
ABB机器人程序流程指令WaitUntil-限制:: S4 d4 J% C  V
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。3 j7 w4 E! h. U0 k; D) |, u
' `- O2 L8 V& b3 O( f9 Q/ E8 K/ [+ P
ABB机器人程序流程指令WaitUntil-实例:
% u0 R5 k- d6 A' I% F0 i; _6 f        PROC PickPart()8 k: N1 N" ~* k$ O2 E- p
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
4 V5 x9 `1 T6 j$ g, I9 R          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。( y/ M3 a+ v- U
          (WaitDI di_Ready,1;)
* L. p7 o' `1 W. Q, J9 t6 I
" d9 @! a9 e( {2 s6 o! [7 ?! R. c8 }        PROC PickPart()
. F  {8 |; a+ V% m          MoveJ pPrePick,vFastEmpty,zBig,tool1;) ^" w$ v0 b6 \
          WaitUntil nCounter=4\MaxTime:=5;
  s, E: F! ^/ V# A5 U( P5 m) E4 o          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
, U& J, I% B& w) W$ D/ O6 n        ERROR0 y: v4 Z. L0 L. |
          IF ERRNO=ERR_WAIT_MAXTIME THEN
/ o% K( g, n& o( N            TPWrite “……”;: I  f( \4 i. s  w& L
            RETRY;
/ q) C( z) p1 y6 V: d: s8 r          ENDIF* L/ z! K' S0 Y) h2 f. q
        ENDPROC, R3 d4 ?/ o7 P% U* y4 F' E9 H

& D2 g# n9 s, s! {( Z0 M0 z& l$ wABB机器人程序流程指令WaitUntil-实例:
, ?& j. Y/ w) ^2 j% p6 r+ j" |        PROC PickPart(), S) v3 ?& x. b: y* u6 a
          MoveJ pPrePick,vFastEmpty,zBig,tool1;. i" x1 I, C. Q! e5 R$ m; i: m* {
          bTimeout:=TRUE;7 F. g8 R) z& ~, n9 g: o
          nCounter:=0;' d( ?, q. p7 n1 W4 g
          WHILE bTimeout DO0 ^" o9 N2 i, e" S2 f1 p" n
            IF nCounter>3 THEN' c) P6 m, o8 x) u9 f( X
              TPWrite “……”;- F$ p2 F1 J" o6 F
            ENDIF! R; z3 i  @1 v, L
            IF nCounter>30 THEN
& l( t4 Z3 R4 ^3 `. u9 R- U              Stop;0 F# u( h4 M3 j6 C4 B
            ENDIF! M( K% _+ _6 i" h6 T
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
3 e1 I1 D' Q' H' c            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。& Q+ s3 X" @( C: A& O0 e
          ENDWHILE
# f% p: X. w2 V2 T: F% n          …# _9 B& f& n* J
        ENDPROC. U- N$ r. v& d$ F( S. A
回复

使用道具 举报

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

GMT+8, 2024-5-26 15:10 , Processed in 0.057701 second(s), 22 queries .

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

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