机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
6 [7 X3 b" j& l# X" C" }8 e. V; S- uWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
, Y# _: c" F" \: \+ h3 z[\InPos] :                提前量开关。        ( switch )      
* L0 k( x: E( P, O; [: fCond:                判断条件。        ( bool )
0 U' b7 [0 C: G2 V[\MaxTime]:        最长等待时间 s。( num ) 4 V5 ?" d+ E; Z) |8 d
[\TimeFlag]:        超时逻辑量。        ( bool )5 }/ M* ^; M: v% q% F0 G

. l0 I* A' V; J4 M' g2 ^
ABB机器人程序流程指令WaitUntil-应用:" d4 F2 g3 X+ _: |, j5 r& x' K( Q" {" u
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
* f. i; ]8 e# L# c" y) K% s5 {4 ]7 Z% r, `& u
ABB机器人程序流程指令WaitUntil-限制:0 o- A/ e  B1 O% m& h5 F. g
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    ( I6 K( f, H% g) ]7 b
* ?5 t' x$ I; e) G, o6 \8 J
ABB机器人程序流程指令WaitUntil-实例:
) e' c6 T" M  N* b- l        PROC PickPart()- c, N: v2 M& E9 I9 A
          MoveJ pPrePick,vFastEmpty,zBig,tool1;- v8 l* M! F+ H, I" x8 z
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
( u( `, P, S/ w/ t( q          (WaitDI di_Ready,1;)
2 ^6 O3 f& P7 k& h3 Z2 q8 R3 ^# f& u+ a0 E" M! T. @
        PROC PickPart()
. a  A6 |+ D) S          MoveJ pPrePick,vFastEmpty,zBig,tool1;* N' u+ I- B1 I! {4 b: E
          WaitUntil nCounter=4\MaxTime:=5;4 o3 f" |$ `8 F3 o4 G% T- q
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
6 H2 T9 l& E& W3 V+ |( s' l! C3 F        ERROR. K' E' S% U+ N' Y, w) G
          IF ERRNO=ERR_WAIT_MAXTIME THEN2 n" ~( I# g) q4 s  R$ o
            TPWrite “……”;3 d1 B; [" L5 a' n  \! U
            RETRY;
; o+ x( H, i* ]. ^! A# S          ENDIF" l2 }, B/ U# {. i0 g( Z
        ENDPROC
0 g& q# J4 W$ @/ j* P. d
, t4 {6 I4 S) _% [+ q7 s: b, iABB机器人程序流程指令WaitUntil-实例:
! U" d4 _) W* [        PROC PickPart()
5 V5 B0 b/ Z. |' x, v0 f% \          MoveJ pPrePick,vFastEmpty,zBig,tool1;2 a9 T2 l) p$ Q" e& u
          bTimeout:=TRUE;4 D' i) I6 i# \) g! ~. b  A* T
          nCounter:=0;
0 u+ t5 ^* b* x: \& \( v5 L, K. I          WHILE bTimeout DO
. [) [! w/ n, b+ U            IF nCounter>3 THEN
" k0 y4 o4 }8 X, w1 O  y$ u( _' Y; w              TPWrite “……”;2 b( d+ ]; B8 ~0 G, a' i5 q
            ENDIF5 X2 n- G' S1 o8 E1 {* P
            IF nCounter>30 THEN0 S  K5 `2 I. B  i/ ~
              Stop;
# i" W: l& n0 E, ~            ENDIF
) s7 X* E& n  K" d7 H" Q            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;0 w  p0 ~% \' f" m! S$ F6 U5 @
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
# ^- B8 d' z6 g% `# L7 |          ENDWHILE* [* P1 d8 C( U- U0 q$ ]7 K
          …
# l- [  \  j1 y        ENDPROC0 x; m0 x5 w; m8 ]* @; |
回复

使用道具 举报

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

GMT+8, 2026-5-31 10:27 , Processed in 0.072932 second(s), 22 queries .

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

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