机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
3 ~: @+ V# [* O3 ^% tWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
( A1 b% \+ a/ \$ t6 p  F[\InPos] :                提前量开关。        ( switch )       3 K* C' b/ |5 h, A
Cond:                判断条件。        ( bool )
0 _# {4 ^+ y" m[\MaxTime]:        最长等待时间 s。( num ) ! k( S7 ~3 D  q: n# q' \# A
[\TimeFlag]:        超时逻辑量。        ( bool )' g4 i- x: q$ C0 n


, F1 n# [$ \+ Q4 AABB机器人程序流程指令WaitUntil-应用:
5 e! Z5 u$ h/ K- L, n- H4 Y7 l        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。5 k. `; M, j/ q" \  O& s+ j2 ?$ L

7 D! j1 u  i5 S4 a1 n& p" m6 `ABB机器人程序流程指令WaitUntil-限制:" g6 \! x! m0 T9 O2 W
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。& E( O8 V+ |0 f$ h  V1 N7 P; T

4 e1 g  F0 E0 e! ^% gABB机器人程序流程指令WaitUntil-实例:* _7 Y5 k& P* N" ]. M$ S  V
        PROC PickPart()/ ^: ?9 i- p. K; G
          MoveJ pPrePick,vFastEmpty,zBig,tool1;' S# }# N, P9 v. C: [; u% ^6 r( A
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
; r  C% H! m3 [0 x0 u          (WaitDI di_Ready,1;)5 t* V2 {% H3 ^7 S

9 _) c2 s1 r  T        PROC PickPart()- e# Q; d* n! ~. g
          MoveJ pPrePick,vFastEmpty,zBig,tool1;$ h: O. K7 G( w/ |
          WaitUntil nCounter=4\MaxTime:=5;
4 `, J( b" m1 @) m/ V          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。$ r" ^" Q2 p( z* K# B" o
        ERROR7 ~! u' q. U% b' V" i# [, V! S
          IF ERRNO=ERR_WAIT_MAXTIME THEN. L" c% I6 S! s2 A/ s8 A" f: K3 _/ m
            TPWrite “……”;
7 A( H0 S' _3 n  U            RETRY;
( \% g5 K1 Q# d0 E; a9 o          ENDIF: u9 j* G! |- w/ G# V: W
        ENDPROC
) r% ^% l/ G/ m/ y* F* T5 l  v! |- g
; Y# T( N4 _+ r9 M1 a* xABB机器人程序流程指令WaitUntil-实例:
! k$ k$ Y3 I8 i  `: w, s& ?        PROC PickPart(): T( f" C# y, @; Q" t; j: [/ p
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
) R4 n( G) W( N/ Z; I. a2 G          bTimeout:=TRUE;
& c2 B- M/ K1 ^" W8 [          nCounter:=0;* q* Y, C1 B$ M
          WHILE bTimeout DO7 ]8 D- s$ S" K4 b
            IF nCounter>3 THEN
$ y; `2 M. s* L              TPWrite “……”;) d$ M% t3 _: k1 u
            ENDIF
4 |+ d& L5 h, H/ A) k. @            IF nCounter>30 THEN: a, D( l3 v! B7 `7 @6 C2 u3 [1 E
              Stop;
) N9 Y0 C- x9 x6 ~# x( o            ENDIF
- k3 X2 P. q7 L% W" W            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
2 u- m) d% W+ N; N. U1 I0 y            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。# ?  p, f  J3 N  L- O
          ENDWHILE
4 ]! j& Y, L  i( x! A& P          …
7 e, U/ b4 b$ }/ q7 P        ENDPROC
2 L6 a2 @  m( L. B/ ^; W1 `
回复

使用道具 举报

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

GMT+8, 2024-11-25 04:25 , Processed in 0.061319 second(s), 22 queries .

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

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