机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程0 Y9 `- ?8 S2 _: |8 r, G2 p
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
& e8 r) G# i: Q' C- J1 C[\InPos] :                提前量开关。        ( switch )      
/ B% \2 E0 o7 @$ V# K: vCond:                判断条件。        ( bool )
- x+ u8 Z: a& P+ q2 D) S[\MaxTime]:        最长等待时间 s。( num ) * R( a+ [: O& ]* z2 H- L
[\TimeFlag]:        超时逻辑量。        ( bool )
6 S7 j2 J7 |0 Z0 l' V8 o% W
5 U* K: d+ D4 ]& `& q
ABB机器人程序流程指令WaitUntil-应用:' v7 `' D' Y. E" o9 @4 d0 l
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。! z* c, s* U  }2 R* J

2 i. G, ^% |# g* @- XABB机器人程序流程指令WaitUntil-限制:
5 H" O; M9 ~* c4 Q, ~
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
      V8 J% h) v8 F& ?) t0 w
$ R. v/ V! Q% r5 c5 h  P! ?$ P
ABB机器人程序流程指令WaitUntil-实例:
. Z$ _& A( ^% _& m) P" ~9 ?: V        PROC PickPart()
0 A; `* u& X1 H, x- M8 F; P* N          MoveJ pPrePick,vFastEmpty,zBig,tool1;
& X2 H" h8 S1 j2 s* M          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。0 }# q# \( a5 P8 ^9 X  u% Q. |3 ]
          (WaitDI di_Ready,1;)
' T' U& f3 B/ @! J  O
  p0 d/ u5 C5 Q  @; J( I        PROC PickPart()
+ u+ U2 C, b/ R+ i8 \          MoveJ pPrePick,vFastEmpty,zBig,tool1;; @9 Q& F/ G; r
          WaitUntil nCounter=4\MaxTime:=5;) I, I4 i9 I4 `3 O, o5 d
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。0 {/ n5 K, Z& B7 e7 ?
        ERROR1 e) o6 B5 G: v2 I
          IF ERRNO=ERR_WAIT_MAXTIME THEN2 Q0 z5 {3 i+ I) \" r; m! |
            TPWrite “……”;- h6 y& {1 e7 A0 V
            RETRY;. j: @. P! {' i1 @+ ?6 V7 j9 l, o
          ENDIF9 ~3 i2 `5 a/ C5 }7 A
        ENDPROC
* }' m: o8 R, B
. p, B, r5 T) c0 S$ LABB机器人程序流程指令WaitUntil-实例:- B+ b) f& W0 `5 R, N: [4 E) F
        PROC PickPart(); V! [$ Z) h3 B& [3 I
          MoveJ pPrePick,vFastEmpty,zBig,tool1;  W$ Q0 }  i' b
          bTimeout:=TRUE;3 Q% }: v5 ]$ q& a% A" s7 B
          nCounter:=0;
9 ~7 X2 O/ T* T' J$ y2 l; Q: M( s          WHILE bTimeout DO
, D+ ]& H" N$ B2 e' `5 j& w+ c            IF nCounter>3 THEN
2 y+ E8 d6 b6 q5 A4 b              TPWrite “……”;
) Q3 F7 I2 l9 [( m% J/ K' I* h            ENDIF+ V7 v! r  U5 m" ]+ l+ l
            IF nCounter>30 THEN
. a7 F; x$ ?5 t4 S- _1 j              Stop;9 Q1 }" y8 ~$ V: ]
            ENDIF
% C+ \9 r) m# |" t            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
% z) R! P& I2 p            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。  G, S/ J$ l9 \  g! c
          ENDWHILE& f1 |, a7 ?3 M0 U/ E
          …) T0 L6 M% ~" W( O+ G1 {
        ENDPROC9 y0 [( K4 e& f& I& ~: b
回复

使用道具 举报

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

GMT+8, 2025-11-19 11:23 , Processed in 0.071497 second(s), 22 queries .

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

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