机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程! Q4 g/ T+ ~7 z% @
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
& O5 i$ z* f- s* g" e, A2 k; T[\InPos] :                提前量开关。        ( switch )      
/ F7 N& G* {  M0 R- F) h! ICond:                判断条件。        ( bool ) ( t* J4 j6 d6 ]3 q
[\MaxTime]:        最长等待时间 s。( num )
# b, X* O- A% c4 `- r: f[\TimeFlag]:        超时逻辑量。        ( bool ): x6 q/ i: t# s, g4 L


2 W: o! i, C1 ^5 GABB机器人程序流程指令WaitUntil-应用:
+ L- d( h: h7 H( _- r        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
, ]$ ?& K( L* B" w" _4 r) n3 \! c. S  o. c1 q5 G/ I
ABB机器人程序流程指令WaitUntil-限制:
6 r) N- f! |4 Q% M# h
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    0 C4 ^# m7 ]5 u# x4 r+ A* P$ p+ u
0 O: T) U2 i. U: r7 X! m, `+ K
ABB机器人程序流程指令WaitUntil-实例:
  ^8 f) L0 }2 I% w! ~        PROC PickPart()7 d, k9 T4 w- e* J- c# Q
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
2 A; i" f8 d- x  [! Y$ y3 ?& e7 p          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
! L8 J: L! `6 _1 O          (WaitDI di_Ready,1;)) h, r9 e8 ]! n& s

6 W/ M$ A4 D1 J/ h1 p# i        PROC PickPart()
- @0 {- j# z- R7 e# z( g          MoveJ pPrePick,vFastEmpty,zBig,tool1;
' H2 u" n8 l" J9 J8 i2 B          WaitUntil nCounter=4\MaxTime:=5;0 r) E8 g! g2 b
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
+ u; J2 v( x: d  _9 X; H( J& n        ERROR+ r. Z1 m& |: Y7 G$ w: U# _
          IF ERRNO=ERR_WAIT_MAXTIME THEN
3 t- E! e8 l( E: ]2 j1 A            TPWrite “……”;: w# k3 `, I4 d$ c: B
            RETRY;; @4 Z; z/ P. W( g1 \$ c
          ENDIF
3 \9 N8 z% n4 D6 d        ENDPROC
2 V& v8 J4 l# U, S! U- Z& U: ]" }2 O& j1 O9 h
ABB机器人程序流程指令WaitUntil-实例:
2 _* H0 _' I. e+ S+ u8 M        PROC PickPart()0 j3 L+ }' z' ]( w
          MoveJ pPrePick,vFastEmpty,zBig,tool1;- K; Y/ o; j' s. h( @1 ~4 _
          bTimeout:=TRUE;
! e& E7 R" `! Y8 q  d          nCounter:=0;& R+ e) ~( O4 V9 `3 `3 C3 J" Y
          WHILE bTimeout DO& j/ m- K* ], i: `* W
            IF nCounter>3 THEN- J" T6 z; H. [# A$ w+ v
              TPWrite “……”;
& B( ^# m+ W0 l/ V5 a  I            ENDIF! d) C7 B9 G$ ?- |* G$ N
            IF nCounter>30 THEN
2 E0 A& a7 L; l% j+ E, I              Stop;4 A8 `; k# m1 L* _$ H* s# w& d
            ENDIF
  p9 [" j( l& z4 t            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
- F+ G: ]# h! |2 d. E: g/ ^            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
. m, V% M4 O4 Z9 m7 ^1 z1 r# \          ENDWHILE
4 c' ]+ w. d( y) c/ `2 U" x          …
; L% m* N" z/ W2 U3 k        ENDPROC
5 ~: p, J* A, J" Q
回复

使用道具 举报

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

GMT+8, 2024-11-25 02:28 , Processed in 0.064564 second(s), 21 queries .

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

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