机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程/ t' C7 r. }! o- \6 ~  e
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
! J* D' ]. r* o[\InPos] :                提前量开关。        ( switch )       + `2 \4 o% K: ]  U, T
Cond:                判断条件。        ( bool ) . o+ m, b4 }: G) [% p+ M
[\MaxTime]:        最长等待时间 s。( num )
6 C; c5 W5 Q8 T[\TimeFlag]:        超时逻辑量。        ( bool )
8 B% }6 r+ H1 m+ Y9 D( {

3 J/ T: `2 h! k6 I/ S2 I. b/ a6 LABB机器人程序流程指令WaitUntil-应用:; o6 ^5 r9 e# K3 e5 ?; ]
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。8 {! G/ i6 K+ A$ d4 h7 }

/ @; Z+ h( Y) y# P' Q& kABB机器人程序流程指令WaitUntil-限制:4 \" e# H3 r  p+ b8 ^; i" Y; n
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。7 l6 g) i! I9 Q& a# `/ u

" v) M2 d5 @2 `# L( \) BABB机器人程序流程指令WaitUntil-实例:
) a( z$ \, u6 h: O        PROC PickPart()
9 G# @; e7 G3 u3 y/ ^' O; k          MoveJ pPrePick,vFastEmpty,zBig,tool1;/ T, C2 r6 m' p4 ^/ Z' Z
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。: ?1 C& a/ S* K  U  _7 B- v
          (WaitDI di_Ready,1;)
: D: ^$ Q' C' i! E  d& D/ {7 Y/ ^$ I  e
        PROC PickPart()
2 a$ v/ ?" b1 f          MoveJ pPrePick,vFastEmpty,zBig,tool1;
; I, X% p5 ~3 |          WaitUntil nCounter=4\MaxTime:=5;
  d7 {- i( s) |  @          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。3 H; A$ l( S3 a1 z. d
        ERROR
. N1 h6 m& o# z2 N/ V          IF ERRNO=ERR_WAIT_MAXTIME THEN
4 G6 @7 t8 c8 X7 G2 s+ F4 O            TPWrite “……”;
) F/ R( X- S$ W1 x            RETRY;
/ l; ~( Z! u" D6 E1 {/ y- j          ENDIF
/ D. |* h4 b, z: N# r! {7 A0 b        ENDPROC
7 Q0 k, P& v  A: Q6 i' V$ i$ a4 U' K
ABB机器人程序流程指令WaitUntil-实例:
; X9 r+ H% {4 ?        PROC PickPart()4 t- G  `4 G) L9 y
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
1 L) n6 m( k* e( D) C; K( }$ c# ]$ x% v          bTimeout:=TRUE;
" D8 R: G  G$ W8 g7 s" T: y          nCounter:=0;' g& n# o) o$ G/ b4 {
          WHILE bTimeout DO
" n9 }; p( ]1 U# n  Y            IF nCounter>3 THEN
! i& t8 A. y$ ?1 I! {3 o2 z              TPWrite “……”;! |& F$ T" G3 W" H! j
            ENDIF
- {, t6 w! n) j! c$ ]; E            IF nCounter>30 THEN+ d" u/ J+ w: a1 S
              Stop;! A, `4 G" L2 F/ i
            ENDIF
) E2 X8 @# l6 E2 a; y            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
% B; L5 U* ^+ a& h            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
) r* Z0 \  n2 v8 z2 {  t5 o          ENDWHILE
7 {1 B- H, i" n; G; Z          …
* N# L: ~6 Z3 j2 ~. w# S1 V! U# a        ENDPROC
% q+ `2 m% [9 d0 w  O
回复

使用道具 举报

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

GMT+8, 2026-9-14 04:33 , Processed in 0.064329 second(s), 22 queries .

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

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