机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
9 K2 B2 X, M8 hWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];6 v3 U% _3 |/ G- A/ u. [
[\InPos] :                提前量开关。        ( switch )       * |4 `! T* G+ s! q7 I4 @) f
Cond:                判断条件。        ( bool )
# ~+ M1 N+ R4 f6 l8 N[\MaxTime]:        最长等待时间 s。( num )
( _) n" [0 A. x7 o+ A[\TimeFlag]:        超时逻辑量。        ( bool )
, M1 B7 n( |$ ]4 E" m  f  H; X

" b! T; D: t4 PABB机器人程序流程指令WaitUntil-应用:9 `: j. z" j2 ]
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。' `: l9 \) k6 \8 O

$ {6 z: y, O3 S1 VABB机器人程序流程指令WaitUntil-限制:
- _) m4 Y3 B0 l
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    1 a7 t% c9 M" n
' A. D9 }5 Q' g' g' N. z
ABB机器人程序流程指令WaitUntil-实例:
. ~( V9 I' }1 g        PROC PickPart()
, i8 f" `. P4 J6 [% q          MoveJ pPrePick,vFastEmpty,zBig,tool1;
6 k' w) H: G# `6 n9 s          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。- J; V( c9 X9 K# E
          (WaitDI di_Ready,1;)
, Q  a; F, z( R3 N2 d/ Q  Z: E; F) m' N; o& \
        PROC PickPart()" K7 x$ e& P+ Y: ]
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
! f! J" S9 r8 Z8 V. S" L& Y          WaitUntil nCounter=4\MaxTime:=5;) e4 t" r% X% y3 v$ ^) j
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
4 S* n9 a' c% D& _        ERROR. ^8 S8 D) D/ Y
          IF ERRNO=ERR_WAIT_MAXTIME THEN, h. B% K9 b. Q! R, ]
            TPWrite “……”;
, m/ I) F+ S* v, c* p0 K            RETRY;/ w7 w  R' @* r0 e) \4 M
          ENDIF$ `- f! P& p, O: Z/ S
        ENDPROC
4 i; W6 T( [! x5 \, E! k, o9 x9 G0 m0 ?) }& S. }& }
ABB机器人程序流程指令WaitUntil-实例:
: K) o7 |# ^# X        PROC PickPart()5 s9 `! N6 `" E% y" O8 T
          MoveJ pPrePick,vFastEmpty,zBig,tool1;! L- O: t+ e# C& K
          bTimeout:=TRUE;
% G8 P( k9 g" L6 k6 |) q$ `* g9 E% a          nCounter:=0;
8 \$ \* E# `; |* I          WHILE bTimeout DO
; r0 B8 G# Q0 F            IF nCounter>3 THEN
# b! U2 t8 F$ n; ~              TPWrite “……”;5 ]5 h8 o: a6 L% N+ f; j, T0 i
            ENDIF
0 j! P' p6 R! n" Z' Z8 h% u& h4 [            IF nCounter>30 THEN
5 z. S5 V. _2 W6 g! Q              Stop;
  y2 y) Y# a6 {* C            ENDIF
8 Z' \8 h. P! l9 ?" }7 w1 G# `            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;( U. T8 C6 j& s$ a
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。6 Q2 L3 W0 o. v( J- M) f" z6 i0 M
          ENDWHILE
  d8 C+ d5 m% Z2 ~6 ~          …6 l2 m! N" h/ v# J9 W0 p
        ENDPROC
2 o& Q1 P* J5 N$ z$ ?
回复

使用道具 举报

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

GMT+8, 2026-5-31 11:16 , Processed in 0.067602 second(s), 22 queries .

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

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