机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程/ g/ o" P* d# H, x# h7 S6 f
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
( w7 M. h# i4 b! N6 C* e[\InPos] :                提前量开关。        ( switch )       . W7 B* L: \: ~. ?
Cond:                判断条件。        ( bool ) " j7 \9 D0 O6 T8 M
[\MaxTime]:        最长等待时间 s。( num ) - K  `1 ^; p2 B- J9 @
[\TimeFlag]:        超时逻辑量。        ( bool )
4 y( P/ b0 X$ X1 u( W/ R8 l" O
! I$ k6 O0 x3 Z2 c" g7 y
ABB机器人程序流程指令WaitUntil-应用:
+ p, \* G' V8 a$ I( [        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
: ?3 ?5 T4 i$ D6 N; r" g0 @& t# v5 j$ v# B
ABB机器人程序流程指令WaitUntil-限制:
* B$ L5 z  m1 G- i3 {$ X
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    5 p% ~5 [3 U8 g

3 r. ]3 q- i, W6 Y0 RABB机器人程序流程指令WaitUntil-实例:
3 W& N. F6 p$ L: u) G2 d* }0 a& s& Z% t        PROC PickPart()9 J" ?( o8 M2 d6 _
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
) |, L" S0 A: \          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。  D8 t, b8 g7 K# K% j
          (WaitDI di_Ready,1;)
) B0 k9 v6 V$ u7 M; D" q" Q: I7 [& r" a  ~* d
        PROC PickPart()
- h' G5 m, v) p          MoveJ pPrePick,vFastEmpty,zBig,tool1;6 m5 I, t  i) Y8 w
          WaitUntil nCounter=4\MaxTime:=5;8 P$ k$ u8 O) Q  g, I
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
  z. h1 T6 D4 R, Q        ERROR
, _/ l, |* i# l  U- w: y          IF ERRNO=ERR_WAIT_MAXTIME THEN
( r( P" t$ q2 F/ m0 S$ q9 a            TPWrite “……”;
0 [: n: b, |7 i; A            RETRY;
) G% R8 P! \& X' u+ `& @9 W          ENDIF4 ?. Y; c! u% ~
        ENDPROC; @1 t( ^6 u- d
, j& p0 ^0 i+ C+ _
ABB机器人程序流程指令WaitUntil-实例:
( E; K+ K0 D7 |3 U        PROC PickPart()
+ q% ]$ e# D! B* K, c; F6 u          MoveJ pPrePick,vFastEmpty,zBig,tool1;" B) E8 T% {0 X" y& U
          bTimeout:=TRUE;5 X2 I" B8 H  |( |+ R0 W" s! Y
          nCounter:=0;
- ~2 ^! c, e/ g8 d- i6 g          WHILE bTimeout DO' c$ K9 [7 j: O2 L3 B
            IF nCounter>3 THEN2 r! h& n3 C( U4 D+ M* |  P
              TPWrite “……”;4 r$ u4 p0 v, V
            ENDIF
5 I' J, P1 U& l& y& p& G7 P            IF nCounter>30 THEN
! W+ o3 O# u! O! j8 S              Stop;2 {% j$ z) E* P# r& `3 U, [
            ENDIF. f$ p8 A, M* \' w7 e
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;: q1 c' t" n" u* q9 X
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。4 Q3 c6 f, O- W
          ENDWHILE' Y4 ^  w, Y: K/ S5 B2 A
          …# ~, p9 L4 I4 |
        ENDPROC( ^0 g* _: H$ _5 D* Q+ F; _
回复

使用道具 举报

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

GMT+8, 2025-4-2 23:24 , Processed in 0.061619 second(s), 21 queries .

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

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