机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
) L! B1 h( }2 k! j7 tWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];' Q9 h; T9 a4 ?! }
[\InPos] :                提前量开关。        ( switch )      
5 ]& t/ B8 L" `0 E! f1 VCond:                判断条件。        ( bool ) 2 I) l$ @) j2 w" w
[\MaxTime]:        最长等待时间 s。( num ) 2 g, k  x  s$ W3 M7 u* |% r
[\TimeFlag]:        超时逻辑量。        ( bool ), i, u# O: `4 W% [4 Y" T) d

5 s8 {" N! q4 R! S0 Y+ k. T( ?
ABB机器人程序流程指令WaitUntil-应用:
* r4 ?: V- e  r* T- }$ Q& M! r        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。: {, M( U$ r9 x7 M7 M

* |; X& `" C3 J- [5 ~ABB机器人程序流程指令WaitUntil-限制:$ ~$ I5 @, c, W- a, K1 `4 M
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    ; `6 {+ p+ b: U
# W1 y% R- N. Y. x1 r& b% Q; [
ABB机器人程序流程指令WaitUntil-实例:+ ?: C; N4 J9 f; E, w% E# b; W4 W5 T
        PROC PickPart()& L* C0 r7 c1 e9 f1 R* ]
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
# p$ ~$ k. b& I1 C; j          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。, p* O3 @8 n/ F3 n  n1 d6 r- ]
          (WaitDI di_Ready,1;): @+ F+ @3 O* h' I2 b# G: l4 }

" X& H: ^' A; p1 ~; J7 R# [        PROC PickPart()
6 V$ W" p5 \6 k0 Q: o          MoveJ pPrePick,vFastEmpty,zBig,tool1;$ @; @; J1 p$ I- `5 G: V0 m' X
          WaitUntil nCounter=4\MaxTime:=5;
' u/ J' a: X: W          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
1 g& V! `+ G0 }        ERROR# Q% j, d& o) o+ P5 X$ @
          IF ERRNO=ERR_WAIT_MAXTIME THEN, ~! g* x7 Q3 E0 t) Y+ i
            TPWrite “……”;
0 t! |- ~6 J$ Y1 g            RETRY;
* o8 e4 n% G' h          ENDIF
! b; Q+ [, k- g* @8 q# L8 Z        ENDPROC; n8 j& d& k- y0 j  x

- ^3 D  |0 L/ K6 F1 x. pABB机器人程序流程指令WaitUntil-实例:* o7 m5 `0 T* ^( A0 g3 W0 o' M4 G
        PROC PickPart()
& C! E5 P* B' a$ P          MoveJ pPrePick,vFastEmpty,zBig,tool1;6 W) B* Z$ `- w9 Q& x& ~& e
          bTimeout:=TRUE;! P( {: V7 s. I. S& V
          nCounter:=0;7 r, Q' j* T! _* y
          WHILE bTimeout DO0 K1 l6 Y  e& Q
            IF nCounter>3 THEN6 R+ _& c! v$ y' v8 l* {) p
              TPWrite “……”;. V1 z( A3 y: i! m  k8 [, A3 E: X
            ENDIF
( E; c: U2 |+ [" Z, x            IF nCounter>30 THEN
) `4 q. |/ [: K              Stop;
. T! H; f! U1 e+ Y, f            ENDIF
% F$ i' k0 A, \: {            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;4 g& H6 i( G9 k" c
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。/ ?2 K6 M) W5 {  D, d
          ENDWHILE
3 q& r5 Y! K. V  p' @; l2 Q2 e          …- p. X' \" E0 S0 |: U* U
        ENDPROC) Y/ n; }; F( h9 R
回复

使用道具 举报

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

GMT+8, 2024-5-5 19:05 , Processed in 0.064563 second(s), 21 queries .

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

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