机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程$ Q; h7 d7 m$ ^5 _0 h
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];' o  d( V; ?2 d7 i' \
[\InPos] :                提前量开关。        ( switch )      
: _$ G* v# u' k5 M  h: XCond:                判断条件。        ( bool )
3 w( S3 q  a6 d* D9 P- h( Z[\MaxTime]:        最长等待时间 s。( num )
9 I, _7 {) f# O[\TimeFlag]:        超时逻辑量。        ( bool )
/ `" H) P4 B  L: l6 B

! m4 _0 R8 N# I' g: D; l; ?ABB机器人程序流程指令WaitUntil-应用:
) J$ M+ ], G, i; F  C        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
7 K* j9 U+ C" B9 N# F5 r) I$ V+ b/ `5 Z! U7 w! r* g+ q9 @) E
ABB机器人程序流程指令WaitUntil-限制:+ x; w! @4 ?4 n8 n
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。  b7 [  I8 F, C" E! A* S  Z
6 `) Y+ ^: @. j- Y7 {) Z* \% d
ABB机器人程序流程指令WaitUntil-实例:, x. ^: j  \. B8 d0 i
        PROC PickPart()
% T8 N" C& Y5 W' V          MoveJ pPrePick,vFastEmpty,zBig,tool1;& ]' R9 L$ g6 X/ `. X% t; `
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。9 k0 }& s- k( P7 v) ?+ x7 b3 q
          (WaitDI di_Ready,1;)/ U& D" z6 W3 f. R+ F
2 f$ m+ j6 A  K  O% w- _4 q
        PROC PickPart()+ ?' M& m' Y- r3 z( F. @/ J
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
" B$ |1 K' r2 T! m" X1 X8 p2 _          WaitUntil nCounter=4\MaxTime:=5;
2 T( @' \  ~- l          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
) {4 q9 x1 J; v) g        ERROR# h  L2 T- P( z
          IF ERRNO=ERR_WAIT_MAXTIME THEN
. s! k9 L7 T1 G# b% i9 @. i            TPWrite “……”;
+ s0 e' U/ R7 ?7 W9 r            RETRY;+ w1 |8 j3 j/ y: \* }8 t
          ENDIF
$ [# n! `+ N, c; C! s3 F0 {  x9 D        ENDPROC
2 v, d* L: Z& Q( {8 \1 X# q
) U8 K; e( e0 p; _ABB机器人程序流程指令WaitUntil-实例:, ?" ]. u( l4 D! a0 S% X
        PROC PickPart()4 \+ b, m9 R1 _
          MoveJ pPrePick,vFastEmpty,zBig,tool1;* y+ w7 P& x  I( p2 L, J; N2 p
          bTimeout:=TRUE;, R* n) M9 o  Z6 l. @2 c" D
          nCounter:=0;; ^+ z/ ]/ g$ n
          WHILE bTimeout DO
& U1 }* E0 a5 z) ^2 W            IF nCounter>3 THEN/ f9 E$ S; @. X& O
              TPWrite “……”;6 Q6 q: ~4 n2 W$ x& i# L/ x
            ENDIF
. `3 ^3 c1 H- G" {% j7 }7 K            IF nCounter>30 THEN
! q& T. w1 Q, r+ i2 k              Stop;
8 G' }0 P% V3 N1 \2 P8 }            ENDIF
: u% n2 x4 }: V4 \: w; R            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
, M+ O$ M  ]. R' R! u/ \            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。8 J3 }2 b" f6 z  c/ Z$ C8 ?
          ENDWHILE
+ `6 \" q/ I! Q% a( X% K          …" }3 T; U5 K4 P" r, Y
        ENDPROC
+ T" H5 m- X* b$ {
回复

使用道具 举报

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

GMT+8, 2025-1-30 14:10 , Processed in 0.072259 second(s), 21 queries .

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

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