机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程' `! L. a4 _! n0 Z! b
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];- _, J4 b& k4 Y- h% U& S; S
[\InPos] :                提前量开关。        ( switch )       5 N; |8 _' i  L
Cond:                判断条件。        ( bool ) 1 e" k8 g/ t6 s% {" {" X
[\MaxTime]:        最长等待时间 s。( num ) ( C6 k% I3 ~) s$ h% ]7 g
[\TimeFlag]:        超时逻辑量。        ( bool )- d& a: Y$ M( v! q1 f4 R

" b; S8 H0 k: a# f/ W) w
ABB机器人程序流程指令WaitUntil-应用:
' W4 U8 X" j! u        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。5 W1 m- c7 {0 I8 R5 u' |

+ n' I# d$ h2 u2 g& AABB机器人程序流程指令WaitUntil-限制:4 _: [" V: J9 m* f! Q
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    : T5 D" O/ O0 L
) L  V5 @( `! g( ^6 r" g
ABB机器人程序流程指令WaitUntil-实例:
" L- J; H, I, @* ]5 F        PROC PickPart()8 {5 p) a; c# R* f  R
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
; c/ `. q+ j, J/ O- M* R          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
: j4 ]. ?" k* O- x3 ~/ ^! D$ F$ p          (WaitDI di_Ready,1;)1 p% I) `8 V/ [
, P& _6 m+ \: i4 j9 U' j4 K
        PROC PickPart()  V; @: i) b8 q7 i' T
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
( c" b6 v; `9 W8 e) _3 |1 T          WaitUntil nCounter=4\MaxTime:=5;9 Z8 s1 p6 `3 _- r
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
2 _1 y9 S& p, @6 r  u9 [  D        ERROR
( m1 Q- |$ U; q, W% M" F          IF ERRNO=ERR_WAIT_MAXTIME THEN, V2 Q7 ^) M$ b+ E5 d3 H$ Q( \
            TPWrite “……”;
1 w) ^4 D# A4 {8 j2 a: ^            RETRY;3 d1 [* H& h; y, q' Z
          ENDIF( ]8 o6 @' j2 L. \) T7 m- ]8 ^
        ENDPROC/ K: K# Y' n* C2 a0 [

/ d4 F8 Y, _+ i1 rABB机器人程序流程指令WaitUntil-实例:
4 |! ]+ D9 Q0 g) E* A/ [        PROC PickPart()6 j0 B* G5 Y; n1 L& {9 O7 e2 @/ V
          MoveJ pPrePick,vFastEmpty,zBig,tool1;+ g& l* f% }$ B: E% M* j
          bTimeout:=TRUE;
6 P$ J& H& c/ S; \& `          nCounter:=0;
; n" i- c  N$ D+ }+ W2 F, t0 {          WHILE bTimeout DO
2 w9 {- n; a( S4 w! V4 B6 p            IF nCounter>3 THEN
! |% j5 X0 k. c$ R, j. ?              TPWrite “……”;0 W0 u2 F+ T1 i1 P0 M# J0 ]
            ENDIF
7 k' T" L, C! J( j: }" H            IF nCounter>30 THEN
; G0 [5 ]1 ]0 q  {7 z+ z              Stop;
2 X% C  g7 ?9 s            ENDIF: a# H, S$ f7 l/ K# x5 j( z$ h
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;8 a. v$ |/ D$ p5 b5 z. |4 ], D+ ^
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。: S6 |, O7 I4 l# W0 x
          ENDWHILE' o9 O+ m6 X3 m: W" O
          …
, z: e. t2 f7 @# V; _: b        ENDPROC
% K, A9 B' |5 m5 Y: l3 H
回复

使用道具 举报

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

GMT+8, 2025-5-1 18:57 , Processed in 0.089355 second(s), 21 queries .

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

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