机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
0 X; Z( b; \% ~$ y# nWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
. @3 P$ H* T9 o0 d0 I[\InPos] :                提前量开关。        ( switch )      
3 a  n$ Q5 [; j5 Q7 u% eCond:                判断条件。        ( bool )
1 ~. Z6 Z; k3 K& x[\MaxTime]:        最长等待时间 s。( num )
4 m* Y% e5 o3 E2 S& W) X[\TimeFlag]:        超时逻辑量。        ( bool )
+ e( j) i' w& Q( S% [

  k+ b8 r8 b  IABB机器人程序流程指令WaitUntil-应用:: F/ A7 W% F: V. U& ^
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。: y+ g* \% y( c) n$ q/ F6 |
/ @8 ^% A! c# \  N: E
ABB机器人程序流程指令WaitUntil-限制:1 \+ P( Z7 r) g. Z
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    2 W& o$ a7 r) ?7 W7 N
" w- Q* V8 `# n( S( c& R( }
ABB机器人程序流程指令WaitUntil-实例:
' t! X- X3 t' q" ?* Y' g6 X7 y        PROC PickPart()# a  f; z* K. a* C. x) p4 H
          MoveJ pPrePick,vFastEmpty,zBig,tool1;& O& t5 V. q  G' ~: ?2 Z
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
, O3 s' R( ~3 q7 ^( Z          (WaitDI di_Ready,1;)
# X. i1 ^( @* P8 l
, O7 e8 R8 ?  o, R        PROC PickPart()
# x+ ~+ A" L2 C1 x! ~: m8 \          MoveJ pPrePick,vFastEmpty,zBig,tool1;
$ x: Z! h( J: U* o          WaitUntil nCounter=4\MaxTime:=5;: W8 _' I0 H* J9 |9 H) Y  B
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
3 R+ l0 U. p( U. f7 X8 l( S5 T) y        ERROR# @  y! A) J; t) S
          IF ERRNO=ERR_WAIT_MAXTIME THEN
$ w/ c( |# g3 r% ?1 [+ }            TPWrite “……”;8 z8 Q/ d$ W) c) c
            RETRY;
% o) W) o  P+ e( S& T% b2 _4 V          ENDIF
$ Z5 `2 m2 y8 G" p        ENDPROC4 H6 D0 }- C8 ]! b2 W5 Z
. m+ q# O# ~; r! P8 h
ABB机器人程序流程指令WaitUntil-实例:
% F1 @& }$ N/ f: ?, w/ x        PROC PickPart()
9 M/ @1 n  z; P          MoveJ pPrePick,vFastEmpty,zBig,tool1;
0 j- m; b  `& d# e% P% V5 \          bTimeout:=TRUE;+ d8 Z+ V( T! V
          nCounter:=0;
& P5 I: ]) a) Y% m          WHILE bTimeout DO6 H6 f& R* P6 t! {( u# [) U# v$ L  G
            IF nCounter>3 THEN
# \  B. `6 ]; n0 w              TPWrite “……”;2 B7 @- q3 k; ~1 R$ O6 W, g
            ENDIF2 B6 s8 Y2 X, Y( t5 H2 q
            IF nCounter>30 THEN
( \8 h$ w: q; Y/ A# }              Stop;
) f/ K3 b: y" L            ENDIF
9 `/ i3 l( g" P4 }            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
5 f+ I6 w, u; G5 Q" e            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。9 q. @. f( Q: P) q, Y
          ENDWHILE
5 j! C5 d, F9 }' _8 {' W          …; b* w8 {- W. m" [& P) \, Q0 Y
        ENDPROC
. U5 |# l5 o+ U# ]' P; j/ n
回复

使用道具 举报

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

GMT+8, 2026-9-12 12:13 , Processed in 0.068512 second(s), 21 queries .

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

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