机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
8 D, D/ Q# _/ V8 oWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];" S) e! `7 x6 v
[\InPos] :                提前量开关。        ( switch )      
7 t- O! F1 m' a/ S/ b* E' a& fCond:                判断条件。        ( bool )
0 J, ]7 n) E1 X9 O[\MaxTime]:        最长等待时间 s。( num )
/ G( I3 s; z9 A# B- P8 F4 {[\TimeFlag]:        超时逻辑量。        ( bool )% v# K7 a' x! f


, m  X; W; D" k# C4 pABB机器人程序流程指令WaitUntil-应用:5 E" Y4 f, |; ?: G/ b
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
+ ?* S1 S1 o0 w4 p9 Q" m1 [3 i) ]; _
ABB机器人程序流程指令WaitUntil-限制:
' v5 N' O1 s9 R
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。! {8 q! x3 [8 p! m0 \

4 }6 j# K, w& uABB机器人程序流程指令WaitUntil-实例:3 _# L8 r1 h3 [5 l$ X6 b9 y2 O$ x
        PROC PickPart()
" p! U1 n: x5 w/ N7 }" }          MoveJ pPrePick,vFastEmpty,zBig,tool1;
8 c0 v! N8 K# _, |          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
- ?: q+ ]- N, v) t6 k: `) i! S3 W- h          (WaitDI di_Ready,1;)4 q7 s: g, M4 f+ ]  v! v  M

/ G& W* I. a/ z/ c4 S/ _/ x        PROC PickPart()
: J" h3 ?9 b3 f5 |" Z          MoveJ pPrePick,vFastEmpty,zBig,tool1;
9 {" g) M7 I3 O6 ~& j" Z          WaitUntil nCounter=4\MaxTime:=5;
, g$ p! S& {0 q" N# v, |8 E  Q  l          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
' ]6 W1 X; p. a$ {  f! y( ~$ }        ERROR4 a( D  {9 J2 q
          IF ERRNO=ERR_WAIT_MAXTIME THEN9 m; @9 k8 T: C4 b) m# H7 T* F; l
            TPWrite “……”;% [/ j& M* \/ X9 h7 m
            RETRY;* h) s- ^& h* d$ Y
          ENDIF$ A7 W' g; ~* _" L4 ]
        ENDPROC3 u8 e" x- d% n3 F
7 W5 x0 l: L6 n  k2 f9 w- ]
ABB机器人程序流程指令WaitUntil-实例:% {. x4 u8 |: z) P, `
        PROC PickPart()
9 Z: x7 O8 P' J! w. i          MoveJ pPrePick,vFastEmpty,zBig,tool1;' W( \% m% n1 k( U1 j7 R3 e: I( Y
          bTimeout:=TRUE;
3 p8 E$ P0 f5 D9 [  t! S# @          nCounter:=0;" J# a; @' t4 @  y& @+ ]. B1 U
          WHILE bTimeout DO+ n9 ?9 b' m" v& V. E  n
            IF nCounter>3 THEN; t, o$ r# ]9 ]9 [' h  P5 p2 u
              TPWrite “……”;
( p; c4 t# T' e& ]7 z! y            ENDIF* V7 e4 T3 |4 \! p& g0 A$ N# ]
            IF nCounter>30 THEN
' f5 N& @/ \9 g( q7 X              Stop;
6 _, W: v4 U# g' ~; T/ P            ENDIF, w$ h, x, G% u
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
; ]; E' k! w  R7 }3 w            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。" _8 `/ H; n' Z3 R9 @( a
          ENDWHILE
; G: [( `, ^0 e+ F& W% `          …: Q4 m& v+ t9 M& f% Q2 y
        ENDPROC
+ j' ]/ s$ D  V0 L7 |2 k
回复

使用道具 举报

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

GMT+8, 2025-11-19 15:28 , Processed in 0.070146 second(s), 21 queries .

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

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