机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
( n! _$ s, s& j. \. j8 G2 LWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];( g  c$ p  b5 m
[\InPos] :                提前量开关。        ( switch )       5 }6 {' M7 o$ d: q# E, ~2 y1 D
Cond:                判断条件。        ( bool )
2 x9 @; {9 C2 T. G[\MaxTime]:        最长等待时间 s。( num )
) n# F! `8 L3 m+ I[\TimeFlag]:        超时逻辑量。        ( bool )+ F0 h. S: t, b9 Q+ I


; l' t7 R: m' K  a1 j2 j2 P0 A& QABB机器人程序流程指令WaitUntil-应用:
* \+ H( O- H# {8 w        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。" n6 T4 F5 I" m" H: I

% I* G4 F  L2 }" dABB机器人程序流程指令WaitUntil-限制:
7 h/ J5 q% a. Q, V! @+ U' y. T8 I
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。( X( L* h/ X  C% _6 B, O  z- Z

! u7 X; F; x* R! g$ ^/ XABB机器人程序流程指令WaitUntil-实例:
7 \4 i2 O2 P7 x. Z" {        PROC PickPart()
# w1 l; l7 D* B! \          MoveJ pPrePick,vFastEmpty,zBig,tool1;7 e# X: v7 d5 p- s0 e3 F3 S
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
) z2 G. G6 ^0 r* i          (WaitDI di_Ready,1;)" H* }- A+ N! Z# f2 ?! F

( G/ G* m" A. T        PROC PickPart()) g1 O8 Y$ k) W. m& ?) K* A  X
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
2 n4 |, G& U  }2 B% e          WaitUntil nCounter=4\MaxTime:=5;' k) J: g0 a% _7 |
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
3 J" M# E& A( ^/ @  p, R        ERROR" k$ j* n2 R/ g
          IF ERRNO=ERR_WAIT_MAXTIME THEN8 }7 _+ Q; y* h# d; m( J! x
            TPWrite “……”;
: N/ C  V" ?- Y$ i# v" i2 E& X            RETRY;' V5 }# n: o& O  W- t
          ENDIF
% S0 d1 ~& Q$ P5 e0 v        ENDPROC
+ `/ n6 U$ A/ D/ Y4 x
1 d/ ?7 G1 y* q( u- FABB机器人程序流程指令WaitUntil-实例:
: v2 t. V8 {2 h6 r2 q        PROC PickPart()" c6 ?7 u8 i1 ]: {# e- W+ S
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
) `, ]( G: J" w$ F          bTimeout:=TRUE;
+ R7 e: K2 Y/ I& R: W. ^* A          nCounter:=0;
9 [9 E7 N2 \9 P5 I  r& C5 Y$ X- I3 ^          WHILE bTimeout DO, Z, K2 P. }2 o: w( ~, ^
            IF nCounter>3 THEN
$ R/ c. m* I8 h              TPWrite “……”;0 ]( ^/ x2 |3 p/ D$ z- ^
            ENDIF3 t- b# U& C6 I' ]
            IF nCounter>30 THEN! _2 T: p) f+ E9 y
              Stop;
" e+ o: \' _- K- W! _! ^            ENDIF4 j2 G4 ?( E5 ]
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
! @0 A/ G9 ^* l: Y            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。9 G6 p+ _( O* [4 {1 F
          ENDWHILE
/ _' n- ]# R0 U8 v1 |          …
, V- u( _, ~& X* [- t        ENDPROC
4 b" U- q! K. i- p
回复

使用道具 举报

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

GMT+8, 2026-3-15 06:59 , Processed in 0.063880 second(s), 22 queries .

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

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