机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程( g6 }& \# `5 h- A
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];6 Q3 P2 y% A- A) L$ R% b8 s
[\InPos] :                提前量开关。        ( switch )      
7 |! b( l' e7 r% N# O( KCond:                判断条件。        ( bool )
) g. M- O4 [* u' x0 |8 a& }6 ?1 ][\MaxTime]:        最长等待时间 s。( num ) - L) K) u7 G1 v. {8 N6 U! S
[\TimeFlag]:        超时逻辑量。        ( bool )
- H. G4 K5 o3 p* z2 v

" H& _& x" J% H2 BABB机器人程序流程指令WaitUntil-应用:
) B- T9 b: v* j5 k( V        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。$ ]  H/ n; ]+ y0 H8 R

# H3 @1 s( p* J( N( y" h: UABB机器人程序流程指令WaitUntil-限制:  @. b: h) Z1 I5 J5 G5 }
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    $ t  Y5 {% J' L$ B. p
5 O: ]  J! `& }) l
ABB机器人程序流程指令WaitUntil-实例:
6 ^# B* R, l' F# m- T2 _- v$ L" c- [3 r$ p        PROC PickPart()2 D- }# _2 H( E" l, b2 N
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
" y  a$ l: ~7 m3 }: Y* s; O# ]          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。* b, T; P. F( Z: k5 @
          (WaitDI di_Ready,1;)" w8 k. y$ R+ }: {: j* `' E

) b0 l; r$ V4 W( ^' y7 E$ B        PROC PickPart()
5 M+ N0 f6 w1 m$ X! [! m9 f          MoveJ pPrePick,vFastEmpty,zBig,tool1;7 C" A3 E: |8 c; P6 f" q% n1 `" l
          WaitUntil nCounter=4\MaxTime:=5;
3 X, N  U8 O* ]8 z6 h          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
9 E4 G) }( a+ Y        ERROR( m- e. U) @9 `; a4 K
          IF ERRNO=ERR_WAIT_MAXTIME THEN+ E$ {6 [% h) }4 N7 g" Q, Q
            TPWrite “……”;
6 c9 Z3 B0 m& K+ I9 C- J            RETRY;5 ~4 s3 L; B2 K- D' n5 |
          ENDIF
! W% V' d" R1 B  I7 [8 ^) e. `7 `        ENDPROC: }0 k+ ]3 J: S3 i* ^( H

+ S7 Z# _3 T7 eABB机器人程序流程指令WaitUntil-实例:
4 L' I2 r4 m' z* d" Y/ a; ]        PROC PickPart()5 D2 J# L. d1 ]. F
          MoveJ pPrePick,vFastEmpty,zBig,tool1;6 j0 X/ @( W: b6 H. f3 J
          bTimeout:=TRUE;  g% t* ]- d3 F5 [+ b) F
          nCounter:=0;
" |0 c6 N! s* z/ ]4 S, R          WHILE bTimeout DO" u& ^3 o' {, d( Z+ u1 g7 m& F7 W
            IF nCounter>3 THEN2 }4 g7 k6 D( C" f0 |
              TPWrite “……”;
% [8 N) a4 q) {7 u            ENDIF2 y1 z* i3 I9 i+ M7 g" |
            IF nCounter>30 THEN
% z% Y( @, _# V) M1 Q              Stop;
- q. j6 [% u  G9 ^& ^            ENDIF9 ^! T2 V7 i% }/ I3 M9 x
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
: K; F3 n  J# [- E. Q# V0 R/ i( A            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。+ P7 a8 q3 w1 N
          ENDWHILE
/ _7 `4 C' |& Y# a4 Z          …
: y( D4 _- ^/ j8 C        ENDPROC
! v, s; ?$ o* S5 i) [0 z: [
回复

使用道具 举报

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

GMT+8, 2024-11-25 03:31 , Processed in 0.063858 second(s), 22 queries .

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

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