机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程6 r) `) q, j0 r" ^1 D4 K
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
6 I3 W* m8 [, b# W[\InPos] :                提前量开关。        ( switch )       2 n* J# D) o7 A  S
Cond:                判断条件。        ( bool ) 9 e* E+ G, ~( Y- z% j1 q0 [
[\MaxTime]:        最长等待时间 s。( num ) . ~, ?1 w4 b$ P, H8 Z
[\TimeFlag]:        超时逻辑量。        ( bool )  R* u" w' `5 y, h


, U, C9 r2 D" G4 D. oABB机器人程序流程指令WaitUntil-应用:
# X, x* D3 @/ [' j2 q        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
+ v- W+ t+ R; K! ?( h: b% T6 c: k/ `! o, p* u1 F! w
ABB机器人程序流程指令WaitUntil-限制:
% f3 |, t" |2 C4 h& m% w# W
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    1 o7 B  u( a! I& G( _1 `
! G( j% L1 }& d- Q% ~
ABB机器人程序流程指令WaitUntil-实例:
3 s, f- B' W* |  w5 J        PROC PickPart()5 ]/ R1 i+ P3 u7 I3 ~; v
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
. J" V# X9 n' j          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
" S- Y( c5 }. ~4 x  r          (WaitDI di_Ready,1;)
" Y& y7 ~' f) y- ]& o  \" u8 y0 @
        PROC PickPart()/ i; j3 n9 N4 U: ^
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
' d& e: c' m! r          WaitUntil nCounter=4\MaxTime:=5;
0 u  q! _7 v' P/ p! N$ J: Y          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。) ~) N: e4 P/ n' {+ {# P8 A2 S
        ERROR
; ~: a) N# x! U/ y7 e$ l          IF ERRNO=ERR_WAIT_MAXTIME THEN( e) v+ I" V$ u# K3 y; R: S
            TPWrite “……”;( k7 s: _+ q) r( p
            RETRY;
; C7 ?$ P) {5 b' e( E; g          ENDIF
$ ]4 B3 J3 N7 B        ENDPROC
' h8 J, B, {$ {( _) ?. [, ^( {2 d. A3 A' A" J/ s* _& \
ABB机器人程序流程指令WaitUntil-实例:
* ~7 L7 i- u# K( o5 M. ~        PROC PickPart()
! S& `- `2 P/ w1 {- s          MoveJ pPrePick,vFastEmpty,zBig,tool1;+ ]1 _1 b8 Q9 e/ W, r2 l) r! o
          bTimeout:=TRUE;
' e0 H; D: z2 h5 u" [          nCounter:=0;
* M; E/ z7 |9 j3 x( U% v          WHILE bTimeout DO
/ L3 ], I5 W3 J( F4 O) W% J3 y  J            IF nCounter>3 THEN
3 m- t+ H3 x9 k4 s              TPWrite “……”;7 _. w3 Y" {" p0 U1 R1 K+ w
            ENDIF9 L- h+ b* O" n6 o1 ]
            IF nCounter>30 THEN/ s4 G' y9 L1 t
              Stop;
$ v$ d. i) g) |& ?' B/ U% N            ENDIF" i" u& Z% @9 C( z) o3 `5 G1 B
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;  l/ {. P. _$ Q& Q8 i+ J
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
' C( c' d# E$ g2 x1 z          ENDWHILE
  h( k! f$ ~, _* {+ ^" J* J! D) F          …
3 F' U! p4 ~: w  K% F/ T' S% x" i, {        ENDPROC. k2 K0 m* {' p
回复

使用道具 举报

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

GMT+8, 2024-5-24 21:08 , Processed in 0.057475 second(s), 21 queries .

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

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