机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程8 C" o: N4 g4 \) Q+ w* i( A. J
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];0 {% ]+ y4 V$ p6 u5 Z' y+ X
[\InPos] :                提前量开关。        ( switch )      
2 c. O) B# ?" R7 `, SCond:                判断条件。        ( bool ) 8 b( i4 s3 s7 ^: v3 i! N8 W. c
[\MaxTime]:        最长等待时间 s。( num )
' q6 z3 q% [/ f! G2 K/ o[\TimeFlag]:        超时逻辑量。        ( bool )  |3 [5 [: {" T

9 X  b  C# m. k/ W! Y
ABB机器人程序流程指令WaitUntil-应用:
& ^8 O4 \( I- m) F* n# \        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
) F; v7 E6 ]4 y$ t# S7 y' Y- n6 d0 ?1 P% z: O
ABB机器人程序流程指令WaitUntil-限制:& n$ v( b5 @) T/ x" |, P
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。6 ]4 e, V) P3 N3 [

' I; Z0 h* @1 ?" X. R* O2 a6 cABB机器人程序流程指令WaitUntil-实例:# U6 k' z* a$ i, W+ S' C
        PROC PickPart()
6 E9 ~/ w& ~* [; l& f1 _- @* x          MoveJ pPrePick,vFastEmpty,zBig,tool1;/ p" B, ?6 G* z) w% n, W
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
% v3 U# @' v( ?: R) g          (WaitDI di_Ready,1;)
# k8 l6 o% o# U# v# x8 E5 z
- I: ^- g5 g6 ~7 U" ~: K# i- G9 V        PROC PickPart()' g4 m0 m2 ^% ?( R
          MoveJ pPrePick,vFastEmpty,zBig,tool1;* c" N# b) n$ ^: j
          WaitUntil nCounter=4\MaxTime:=5;7 G/ j0 {1 [/ G% E" C: y  T
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。6 e- @# T% `) V- S* \, S
        ERROR8 M  v6 d6 i7 c2 u* g
          IF ERRNO=ERR_WAIT_MAXTIME THEN
' F& M: }, y" D2 F6 L5 w            TPWrite “……”;+ G7 b$ `7 q" ]/ l
            RETRY;) b; w) a5 R% s# W. s3 \0 k* s9 N
          ENDIF' Q- ]4 F+ F* D8 p! O" z: b
        ENDPROC+ I1 O8 t/ X+ m* E7 ?
/ Z- @7 @! D# k* H) _, R8 E: ]
ABB机器人程序流程指令WaitUntil-实例:6 h1 M2 h. f: C* @
        PROC PickPart()* S; o9 u$ }' Q
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
  I: s' d1 v6 `" U5 ~. a          bTimeout:=TRUE;
9 Y8 H$ J/ X* G6 \2 E2 w) o1 g          nCounter:=0;, e) v% J, c$ W" C. N: V5 o3 H' ]
          WHILE bTimeout DO
4 e( M" m4 |' F2 }            IF nCounter>3 THEN
% O, n1 F2 w$ v' y) }              TPWrite “……”;) |5 I2 K5 v8 X4 _, c
            ENDIF. Z0 m3 n0 g! q: X" E# h5 J
            IF nCounter>30 THEN
' m. T, p7 w9 d& M& h& X6 R7 z              Stop;6 ]5 b' Y  x# x) Y) d/ q
            ENDIF
7 E  i+ T9 H1 A            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;1 a: b& p& v, W5 o; F/ Z' h
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
* [: r' Z& F6 W, h9 T$ j/ Y. T2 i          ENDWHILE
$ v6 f9 [! D3 T! s/ o& J0 q5 t" Q          …
7 B+ |! j) Z9 @" L2 e* ]        ENDPROC
- k8 U* C0 y8 t3 @7 s
回复

使用道具 举报

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

GMT+8, 2024-5-6 01:57 , Processed in 0.060320 second(s), 21 queries .

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

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