机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
& Y7 {/ H' B9 O- a+ u0 Z8 [WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
8 @7 ?  I" w2 c  q: Y) K[\InPos] :                提前量开关。        ( switch )       4 b4 d& U& `1 ?' L7 G! b
Cond:                判断条件。        ( bool )
* b( I& b$ G0 M. V+ Q; W) r[\MaxTime]:        最长等待时间 s。( num )
2 d; c: j/ ]7 a4 D[\TimeFlag]:        超时逻辑量。        ( bool )
' A7 i; U4 c+ I4 R/ P/ R* Z

4 }" Q; P7 l2 V4 y, v$ RABB机器人程序流程指令WaitUntil-应用:
1 i2 ~! c) _: N, b+ o9 C! r        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
3 d' R% \, l* a) N( R
# A% ]; ?+ v8 s7 J: T6 XABB机器人程序流程指令WaitUntil-限制:% W. |9 z  m7 R% f4 z- n3 e
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。: F) d% X. f7 z0 y" s
5 {+ H1 c$ N  `5 s7 i4 K1 p. j
ABB机器人程序流程指令WaitUntil-实例:
  w6 V% m* d6 z& S  }% r$ P) F! o+ _        PROC PickPart()
) |2 A8 |# M, w6 W6 ~( D          MoveJ pPrePick,vFastEmpty,zBig,tool1;: U. k* Y- t( ~4 M
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。/ Y$ m, q: Q1 a  U
          (WaitDI di_Ready,1;)9 S8 C2 Y3 H' J* H  _/ {: \
% F; y* }. [9 X- y9 w' N8 ~
        PROC PickPart()3 A! D" x8 I! s9 T5 b9 r* ~
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
: r1 f1 z* l! v) e$ |- C7 j' h          WaitUntil nCounter=4\MaxTime:=5;+ Z9 b4 }. k1 Q# K7 M
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。0 g6 k, N# j1 \% d+ q' h
        ERROR/ g# X  I; M  x6 V- K, T, S7 ?
          IF ERRNO=ERR_WAIT_MAXTIME THEN
. _7 l, A/ U9 I* n# S" [1 W            TPWrite “……”;
0 V; m9 i. R3 t  y! p9 e# g/ K) `            RETRY;
9 R8 }3 X; L  x; e3 E, i% F1 @          ENDIF7 @) f. N# I5 Y/ J1 w
        ENDPROC
+ P( }' B: J! o* n) w+ n; S+ H( Q' t7 s8 X
ABB机器人程序流程指令WaitUntil-实例:
$ r! B' T* w- B        PROC PickPart()) `! I8 p0 G: I: Z+ w
          MoveJ pPrePick,vFastEmpty,zBig,tool1;% `- m1 _' q  L$ D
          bTimeout:=TRUE;$ h6 H1 s% Z6 i! _
          nCounter:=0;
! ?# M- [2 g4 O3 w7 ]9 H2 J) R          WHILE bTimeout DO
& o) b7 \( S! {" q' j- d            IF nCounter>3 THEN
6 D  s5 @/ b; J% q' x3 T              TPWrite “……”;* R  N$ v3 D' Y; }5 p! U
            ENDIF
' Q6 G: Z) J( w            IF nCounter>30 THEN: D. B1 {8 i. \5 G+ w) u
              Stop;
+ e5 Y+ J8 t5 s$ u* F            ENDIF
4 I/ A) G" g* f6 M! [: ^+ Z: [            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;! g+ i: u# w9 s& t4 d
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。& t- m. I; E- L7 q
          ENDWHILE8 R7 y6 U; F+ K
          …
. Z0 w* o' \& F7 Z3 B: h2 d        ENDPROC- S, y1 c, r9 e) T& Z: A
回复

使用道具 举报

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

GMT+8, 2024-9-27 22:41 , Processed in 0.060037 second(s), 22 queries .

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

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