机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程5 q3 K) p5 h/ X; t2 ~
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];# |' m" W! ~6 L. A+ I& [- X
[\InPos] :                提前量开关。        ( switch )      
- G! q+ }6 Q  h) i* z; M5 Y* ECond:                判断条件。        ( bool ) , ~* J5 z  o, d$ ~1 `+ C6 F
[\MaxTime]:        最长等待时间 s。( num )   b! m$ B5 a% J1 {# O
[\TimeFlag]:        超时逻辑量。        ( bool )
4 ~# l" A1 W# n3 k
$ d4 s) L$ d  @  d$ |. M
ABB机器人程序流程指令WaitUntil-应用:+ F! ~) N+ y2 @
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。% [3 q& `' Q! w. n9 ?/ j

2 [9 P/ A& T' sABB机器人程序流程指令WaitUntil-限制:( A; @% M) f0 n1 p. f5 K/ y5 H
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    6 {- B" P7 r5 F3 Y: V/ Z( E+ C
; S; d$ a0 d3 {/ ~  y9 J6 y7 x
ABB机器人程序流程指令WaitUntil-实例:$ Q# f4 y$ E* }, N
        PROC PickPart()8 s) m! `1 [! g1 b6 Y. I
          MoveJ pPrePick,vFastEmpty,zBig,tool1;7 v" N4 i% t# p9 i8 p0 _# H  C
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
; ?' a; G$ d, t* Y% |          (WaitDI di_Ready,1;)
. z9 A# V- x1 ], q5 l' u0 Z0 J  }" o* E/ A2 R$ h* r" O; d% S# ^
        PROC PickPart()
6 D4 E. d3 C' i6 v* S: l          MoveJ pPrePick,vFastEmpty,zBig,tool1;# p& M2 ?) p- n" Z5 @( r9 l2 }
          WaitUntil nCounter=4\MaxTime:=5;
+ w6 E" |9 I8 g/ R6 a          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
5 E3 Z1 \# @; V! N( d5 X$ P( E        ERROR2 {- x  n/ @$ u' y1 x2 l7 Q% C5 T
          IF ERRNO=ERR_WAIT_MAXTIME THEN0 f! G5 b6 X+ Z) y
            TPWrite “……”;
3 e7 u2 J& ]% E: R' ?/ H; G  X% [            RETRY;2 R( s9 _% }5 ^, K; ~' V
          ENDIF! X" @4 M/ S1 g! ^* u+ t
        ENDPROC
" {$ F5 E( }" k1 I$ q
$ [1 n& F/ |9 A8 j1 jABB机器人程序流程指令WaitUntil-实例:
" ^# n( A) f4 n! M        PROC PickPart()
' x# b6 M- w3 B, E5 D, v% D          MoveJ pPrePick,vFastEmpty,zBig,tool1;' D5 o) G9 \" p- v( s: y
          bTimeout:=TRUE;
3 o1 y3 P: [- C8 X% ^          nCounter:=0;
. ?% x5 E9 h7 D          WHILE bTimeout DO: f' O# ]5 P- `/ [7 Z
            IF nCounter>3 THEN
' J/ |2 H3 A  D+ b9 l              TPWrite “……”;
% u8 a7 W2 u# Z+ [$ P. k3 @/ V/ c5 L) I            ENDIF
2 J- ]$ {3 T1 i/ Z% v            IF nCounter>30 THEN
, G" S; n; I& g# b7 o              Stop;( I, `  N9 H. \* d7 r3 _
            ENDIF
8 }3 J0 i$ j: K            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;4 T1 \7 \; I1 O, b1 w
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
. f, G+ ^  n# e8 F' U          ENDWHILE
+ _6 z3 \" l9 C8 }          …) {3 L) g  P- f' U" Y
        ENDPROC
3 j4 u: i: X- |1 g5 l7 N4 e5 a& i8 K1 r; s
回复

使用道具 举报

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

GMT+8, 2024-4-26 05:28 , Processed in 0.062303 second(s), 21 queries .

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

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