机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
+ M4 W) t/ O! F7 K: n+ iWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
- S% s. x+ P$ j7 g6 P& }8 ?[\InPos] :                提前量开关。        ( switch )      
. q% \% [4 h* q( h8 MCond:                判断条件。        ( bool )
" [3 a7 C8 E- X* L[\MaxTime]:        最长等待时间 s。( num ) $ e: i$ `. v* B3 P" [# _
[\TimeFlag]:        超时逻辑量。        ( bool )
. }% V0 c' A  k# P

' M7 @& k0 m. y. B- |3 ]% fABB机器人程序流程指令WaitUntil-应用:6 F  L  K" v: N$ l( c7 B" X
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。" B6 P3 Y3 ^$ @- [
1 O) o: F# _9 M/ ^& H. H6 B% _
ABB机器人程序流程指令WaitUntil-限制:
$ R: z7 j. n4 E+ f$ k3 B
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。' J. }8 `: S* w( r8 s
: W: t  v* y6 b- Z5 d
ABB机器人程序流程指令WaitUntil-实例:
* n* g" ]1 _. x5 o( ]0 e        PROC PickPart(), y+ G# h2 ~. S# y! b. s
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
) H1 U% Q/ V8 X' g1 Z3 _          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
) D4 U9 ~0 F: D2 I          (WaitDI di_Ready,1;)' i6 B+ k( J- K5 s
- l4 _" U2 `6 ?* H; L! l4 k2 _
        PROC PickPart(): ^+ x" o! b( F4 K
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
8 v! w0 A3 j/ A0 |' `  H          WaitUntil nCounter=4\MaxTime:=5;
0 K8 H& D  M) m$ W/ J8 o          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
  o- x- Z+ ~3 v4 r8 i  Y" E        ERROR
3 u- S2 q$ q; N          IF ERRNO=ERR_WAIT_MAXTIME THEN8 L$ ~; f4 k$ Z+ M$ l
            TPWrite “……”;
1 r6 ^/ s8 d# {4 \3 O: e            RETRY;
0 h' }3 h5 Z' W$ y  I3 `1 J3 t9 u          ENDIF
4 V3 u2 g" n4 w/ @, }( _- u1 l) K        ENDPROC
4 `# I% P" g6 m1 k# ]) N& X: n6 ^5 V1 p" j8 a  h
ABB机器人程序流程指令WaitUntil-实例:
4 T/ K0 |# ^3 \  E6 |        PROC PickPart()
; J" ?) i% y$ h$ k. @          MoveJ pPrePick,vFastEmpty,zBig,tool1;
# o1 s, _, P# s. W! m7 j          bTimeout:=TRUE;0 T2 C" d4 `, z) m" a, f
          nCounter:=0;# E5 u$ R+ ]/ ~) l! M5 T
          WHILE bTimeout DO
, U4 c& x+ D9 ]9 U7 i            IF nCounter>3 THEN
7 r8 {8 J2 {) `4 A, l- P2 }3 F              TPWrite “……”;& }$ ^6 A' t4 e* J3 C) k
            ENDIF
, W% q- s" Z# h) C' l* r% i            IF nCounter>30 THEN# \: W  h/ G- [# t8 S' f0 |* E
              Stop;
4 \* P& M. n$ Q: T) o7 G  J) x            ENDIF% b5 l) m9 W7 ^+ Z- O( g$ s
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
3 H% M$ U9 Y; Q+ X4 \. M            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。% E: i& B! B, E5 _# G, x0 W
          ENDWHILE
% E; J( U) k1 f( y& P% o          …: L4 O% w/ P  Z- {, P% d* X
        ENDPROC
! ]( c+ d+ d2 w0 |. Q& P' Q: s
回复

使用道具 举报

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

GMT+8, 2026-5-31 12:06 , Processed in 0.061387 second(s), 21 queries .

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

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