机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程; B! g. L  @6 H0 K/ Y: g- @0 J* ^
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];) S+ X% u+ @* B7 S& Z+ S; c
[\InPos] :                提前量开关。        ( switch )      
; s3 k: L; O, A# ~9 u: jCond:                判断条件。        ( bool ) 6 ]( [: P# l0 P  u. J8 c3 r: Y7 }+ ?; \
[\MaxTime]:        最长等待时间 s。( num )
. {( H7 ^6 F# z' a[\TimeFlag]:        超时逻辑量。        ( bool )! s+ ]: u0 w& t# b9 u

4 ]; h$ k- v) n# g
ABB机器人程序流程指令WaitUntil-应用:# Q; S4 C4 z% [
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
  c5 K8 d, T9 k8 x0 i" j1 \' F& a
ABB机器人程序流程指令WaitUntil-限制:
* h! S" ~4 t9 O4 W! H& I
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。' p- `" z6 l6 Q; z6 G
4 A! q% y. ~& }" I5 ^
ABB机器人程序流程指令WaitUntil-实例:
$ n9 U4 r# t% a: O) n& n        PROC PickPart()
0 i( w0 g! f/ W9 y+ J$ S) Z& ?          MoveJ pPrePick,vFastEmpty,zBig,tool1;
; R  ^9 \' R% J, O3 n          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。7 P% T8 N! H2 \6 S7 L6 z' |
          (WaitDI di_Ready,1;)
0 T, `9 X/ G( h$ ^+ i9 q8 W+ ^2 ^# }5 R
        PROC PickPart()/ X2 C- m+ z& c; M# T/ H! g
          MoveJ pPrePick,vFastEmpty,zBig,tool1;0 J* ]+ n! J4 C" S% Z7 g0 K
          WaitUntil nCounter=4\MaxTime:=5;
1 [; p  r/ T* H# N          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
3 ~. p0 y# q, q6 n5 r        ERROR1 g8 V8 ^! y: i- I& E1 J
          IF ERRNO=ERR_WAIT_MAXTIME THEN" r% F& B' `8 R* n
            TPWrite “……”;$ Q; R" t* c3 Z* u
            RETRY;
* E: w8 E/ s2 T: \; a- E          ENDIF- p* n5 r7 j7 l% G3 e+ R
        ENDPROC+ x5 P! d* J4 z+ N

/ ^: {' J  [" j8 J7 i. I& aABB机器人程序流程指令WaitUntil-实例:
5 N, r3 S2 m7 w+ l  x        PROC PickPart()
4 T5 Q5 q& F8 h          MoveJ pPrePick,vFastEmpty,zBig,tool1;
& e2 }7 ~4 |& C% Y: |          bTimeout:=TRUE;
! l- W) ?1 h  c3 G          nCounter:=0;! Y3 n3 e' k- {4 b' c
          WHILE bTimeout DO
( I3 ~3 `! I$ O1 M1 i& G( B            IF nCounter>3 THEN$ p  Y& O* G) X6 m0 B
              TPWrite “……”;
3 M" R! Z1 H2 \4 e( g  c: e7 Y            ENDIF- \0 {# O( A, E2 n# [8 B
            IF nCounter>30 THEN$ a6 N, |/ y7 E' V7 M* Z
              Stop;" H6 ?% k: B* ?
            ENDIF
) e$ W3 z# I& i8 M% Q            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;3 @2 J3 N; W, a! n  d7 G% x- l
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
4 s" F: c" G( H* k/ j+ l9 D2 Y          ENDWHILE
8 r4 w7 }6 M: w% B0 \! A          …
  B: `; u  J6 ?$ X  S+ C1 i& F        ENDPROC0 v4 j9 X2 W0 `" u4 B
回复

使用道具 举报

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

GMT+8, 2026-4-19 00:55 , Processed in 0.068002 second(s), 22 queries .

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

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