机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
0 g1 v" ]0 F4 }0 YWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
3 I( R8 j& ~' G7 W2 s[\InPos] :                提前量开关。        ( switch )      
( C( j. }) A% V! U7 h' w* l: H4 u, qCond:                判断条件。        ( bool ) 0 B9 Z- X3 P& L+ `' r9 M
[\MaxTime]:        最长等待时间 s。( num ) + e9 o) x5 p3 H# O1 S
[\TimeFlag]:        超时逻辑量。        ( bool )" Y! D5 O6 s5 Q; M! X, C

9 d' n  w" `# O9 i% u
ABB机器人程序流程指令WaitUntil-应用:
" E) p' r1 k4 K8 i7 ?        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。) L7 \3 u: F! `9 v& j; c$ S: [
- Z4 j0 D# B( w/ _" o- G! K
ABB机器人程序流程指令WaitUntil-限制:
3 w8 n8 O8 h9 h/ i; F4 a
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。) f0 [. J2 l) `, O( j' i" z, k0 O2 w
4 v8 ?# O8 K! c' @1 J$ b5 w
ABB机器人程序流程指令WaitUntil-实例:
3 F+ Z) N7 c7 h+ P, X        PROC PickPart()
* I% x4 X5 J5 Z) h0 R          MoveJ pPrePick,vFastEmpty,zBig,tool1;
( q  U- n# L" M& e! Z          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
. o# P# o9 s  P+ ?. \$ L          (WaitDI di_Ready,1;)+ j# S' K! a- @* P) E# G

( D! Z1 g6 h6 Y. M7 R) [0 X+ T# p) |4 l        PROC PickPart()
. ?0 w9 q( D2 o# a( j1 t9 m. V          MoveJ pPrePick,vFastEmpty,zBig,tool1;; I9 P3 G0 ^5 m- ~3 J3 ?
          WaitUntil nCounter=4\MaxTime:=5;( _; U$ g  t7 F  k9 D
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
+ Q! C0 k9 C; M9 S; S/ z        ERROR
. z8 M4 t  ]7 C$ ^          IF ERRNO=ERR_WAIT_MAXTIME THEN
% j- ?. Q' u* k( i+ |            TPWrite “……”;
% ?6 o5 m$ N  h1 F2 C            RETRY;8 h) y6 m& i" r$ m! m
          ENDIF
* p' f1 m4 n5 E# f9 t        ENDPROC
5 r# \* }0 S3 O' A9 o3 C
' o5 h! l, v; [4 o+ LABB机器人程序流程指令WaitUntil-实例:- L. S2 E9 \) O+ ]4 \
        PROC PickPart()4 j; m# I5 U2 Q2 ~
          MoveJ pPrePick,vFastEmpty,zBig,tool1;* f1 @+ D% N3 f& v' d4 x& N+ @
          bTimeout:=TRUE;1 T' Y2 q. A# i) D6 b
          nCounter:=0;
9 b- A& p! F: Y7 G. [7 x$ s+ B, T! ]' U          WHILE bTimeout DO
! M0 N* j. Y' \% m% j6 e( M            IF nCounter>3 THEN
: R8 o2 C1 P/ z" T) E* w2 x              TPWrite “……”;
0 w: @% v8 t  f1 T. y/ S            ENDIF
/ v- f! P* p6 J& t8 z            IF nCounter>30 THEN
2 t0 T4 k: k7 n" Q: }& D' j3 H              Stop;2 z$ N, O. j+ n+ u1 x
            ENDIF
# G" H2 C; B( Q- a            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
" X" y# }) g# g3 E            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
1 [3 {1 ?3 h% j4 M4 T          ENDWHILE
9 @( I  f, }6 U$ I$ {" c+ p) j          …$ W" _! L% u: i
        ENDPROC/ N1 t5 y' x8 h, T5 ^/ l. s& n# e
回复

使用道具 举报

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

GMT+8, 2024-9-27 22:35 , Processed in 0.067921 second(s), 22 queries .

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

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