机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程# m% C0 p+ K0 f  c$ I% n
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
& b% |# S# \" T[\InPos] :                提前量开关。        ( switch )      
* n* J& |( X( ~3 F3 E! R$ UCond:                判断条件。        ( bool ) # Z1 T, l" A$ q# s9 z. o
[\MaxTime]:        最长等待时间 s。( num )
( t- q! \; Q0 G) n[\TimeFlag]:        超时逻辑量。        ( bool )
, W& X8 x- t; X

4 y3 w0 r0 F/ v( w' u6 }+ xABB机器人程序流程指令WaitUntil-应用:
, x; k1 Y: ?) \2 Q  W+ q/ m        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。  j7 c, ~% k$ e1 O

4 I0 ^4 p" ]. S% ~* l1 a' ^' g# i5 vABB机器人程序流程指令WaitUntil-限制:% d3 Z  G3 Z9 ^! X' V6 M- B1 X
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    1 }4 F3 p* c; S4 u% \' `
+ l# ]& r8 g- f3 W1 v" \
ABB机器人程序流程指令WaitUntil-实例:+ }4 j; o2 k" ~" m! |  |* n5 G
        PROC PickPart()
* y( e" o+ @, S! W          MoveJ pPrePick,vFastEmpty,zBig,tool1;
' z, X! r1 v* H          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。$ u* N) {& j6 M/ Z
          (WaitDI di_Ready,1;)
; R" M) u4 w+ P* ~( T  S
8 [' \& P  o' Y' v6 Z! |8 I: \/ }9 V        PROC PickPart()
  q+ o" e7 |5 x% E# l2 m# Y. q5 q0 K          MoveJ pPrePick,vFastEmpty,zBig,tool1;$ E6 T/ E; s0 i& P+ J- g
          WaitUntil nCounter=4\MaxTime:=5;
+ M# R" c2 y2 u0 j          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
, D8 b' a1 {' T$ Q9 p        ERROR
% f% s1 O& d: u! n1 `          IF ERRNO=ERR_WAIT_MAXTIME THEN" u8 \+ Z+ ]8 Y$ t4 Y
            TPWrite “……”;
3 I* I! T1 I7 F- X; D2 q            RETRY;; X4 @, g  G. H8 ]( @, Q/ G2 t/ k4 ^
          ENDIF% \4 I* \! i# w) r) T' u
        ENDPROC5 g- {1 p) i6 G1 G
- c5 g; g3 o' f* L6 s
ABB机器人程序流程指令WaitUntil-实例:
8 |* U4 V9 I: B* ]% T7 X        PROC PickPart()
5 Z5 \: |$ M6 u, y' W" c          MoveJ pPrePick,vFastEmpty,zBig,tool1;
/ U; V1 a2 t6 K! b5 G0 n. }          bTimeout:=TRUE;
: b5 A# S0 }: O; Z          nCounter:=0;
- O6 k' y2 f6 p, |% Y          WHILE bTimeout DO  e# E  K0 y  a& F2 O/ ^
            IF nCounter>3 THEN; C+ F8 ?& u. Y6 l. ^% v
              TPWrite “……”;
* Z/ ]$ x0 j0 ]' @  R, P5 @            ENDIF
8 F1 |  b/ T% N7 ^8 g            IF nCounter>30 THEN
1 f/ |- N; j) q6 `' R              Stop;2 K  F( X* d3 L/ R( o0 c5 ^6 |
            ENDIF: a$ f1 x5 ?& K! }1 V* L# q
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;9 J5 T( `2 f( d, U2 K: [- e; q
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
/ W  K4 ], ?8 S% @          ENDWHILE% q( H2 T6 J% S' x; O3 d. ^
          …. z. a( J- Y1 V0 i: i6 P$ h7 ~
        ENDPROC
/ p  ^" o% s& c$ f
回复

使用道具 举报

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

GMT+8, 2026-9-12 14:10 , Processed in 0.066139 second(s), 22 queries .

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

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