机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
) O" L! H: {9 G3 \; U. }: BWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];2 [. N' r4 N# a& a. D. F" }5 s
[\InPos] :                提前量开关。        ( switch )      
8 S- x4 _; V3 V* [Cond:                判断条件。        ( bool ) * |) x. D. p% W7 J" b2 _
[\MaxTime]:        最长等待时间 s。( num )
$ a* ]' }8 n& V' Q[\TimeFlag]:        超时逻辑量。        ( bool )
1 z$ M% L6 |9 l. F- Q0 {" q$ ]
2 a1 m# G' g8 h& `, `  J# E0 W
ABB机器人程序流程指令WaitUntil-应用:
9 r. T( ?$ H! L, `4 y        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。: v" k* G0 a# A9 y, q
+ M9 b: H9 L& T* j* [" L
ABB机器人程序流程指令WaitUntil-限制:
" G$ R) d8 J( Z% Y  U/ Z
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。8 b# E$ k' a$ t' c4 J
/ c* a* ^6 _! b" F
ABB机器人程序流程指令WaitUntil-实例:
! O5 p' t# u* h' X/ V! e: U        PROC PickPart()8 P9 B7 ]* _+ D' I
          MoveJ pPrePick,vFastEmpty,zBig,tool1;$ z" d- ^$ h  u) |7 h% S
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
; E& h$ [/ j( w% t" C# J% S+ I          (WaitDI di_Ready,1;)8 ?5 }+ c" }1 i7 M$ C
- U( U, |- F& d) a) M1 r1 M. R
        PROC PickPart()
1 H- y0 k2 Z7 U" T          MoveJ pPrePick,vFastEmpty,zBig,tool1;
) y9 t. i; Z( L0 C6 P          WaitUntil nCounter=4\MaxTime:=5;' e7 p6 [# L; {- t) j, K( P# o
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。, g: J3 R2 h6 @3 u
        ERROR
: D, `& [0 p3 o: j- `7 {          IF ERRNO=ERR_WAIT_MAXTIME THEN
! \% U$ B8 F' i# d/ a5 ^0 _            TPWrite “……”;) B6 s  V% N; f' U
            RETRY;
8 a/ k) B" P' [$ K6 p  V          ENDIF
2 Z; `/ R! p, [5 ]# y! K( a        ENDPROC( c5 }& `& J1 }7 v
' c4 ]# |& {1 S6 y: K! t& |- A
ABB机器人程序流程指令WaitUntil-实例:
, U/ T  k) f: Q        PROC PickPart()/ l" Z4 c7 I  A4 m
          MoveJ pPrePick,vFastEmpty,zBig,tool1;- z: [! Y: V$ d0 T$ d
          bTimeout:=TRUE;
1 f- b5 d) m, Y8 W          nCounter:=0;5 o% x  e8 x' x  w) P( I/ a5 ^
          WHILE bTimeout DO
# ~) s& O. H/ c* u" ]' M! s# _            IF nCounter>3 THEN
  H# I- m) `* q              TPWrite “……”;
; B* r2 X; z* M/ {6 P            ENDIF
6 f! m! h( x+ _9 O- i            IF nCounter>30 THEN0 E4 m$ P) D" V1 Y+ m
              Stop;
  }- E$ q3 P6 W& L, Z( P  d            ENDIF( E7 s9 L$ P& [; b
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;5 B& }  }8 C" v6 f* i
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
1 g+ B  W' e5 v& h) u8 M          ENDWHILE+ V$ y/ g6 z+ w# n
          …% |. P% o; n" s2 x2 H
        ENDPROC1 I1 W, Z* g& Q
回复

使用道具 举报

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

GMT+8, 2026-3-15 05:21 , Processed in 0.070039 second(s), 22 queries .

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

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