机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程7 f/ T3 R" l; L% G0 _) \
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];1 v: {: ?. P. m# R
[\InPos] :                提前量开关。        ( switch )       % h7 a: _5 S+ K4 N
Cond:                判断条件。        ( bool ) ; O( O: G. U9 d  e; j# h! _
[\MaxTime]:        最长等待时间 s。( num )
- c8 F8 _6 T* k- M+ T# K* u1 D[\TimeFlag]:        超时逻辑量。        ( bool )7 I( I. |2 n( ^5 ?' k) f

5 }* m; ^& v. C( I) t, d
ABB机器人程序流程指令WaitUntil-应用:- @  f+ k4 U" F1 K. x
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。9 x/ C# z, G/ Q( G! n

  ~4 r6 c% h- W9 u  k, V  L9 mABB机器人程序流程指令WaitUntil-限制:# |( _& M7 h) p" q5 y/ t3 ~
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    ; }8 V" t/ R$ k. G
5 s% t4 N8 E5 A! S$ c
ABB机器人程序流程指令WaitUntil-实例:
& X- Y; Q) p( ?* p/ k7 C) A' Y3 d        PROC PickPart()
6 g) T3 y% ]6 F          MoveJ pPrePick,vFastEmpty,zBig,tool1;
4 s5 Y- ^/ h! @5 q) a8 c          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
: s) q0 ]; u1 j+ X          (WaitDI di_Ready,1;), ~: ~$ P" v+ t8 Q2 k4 n, B
8 A% d; [! [8 t1 D$ Y8 _  T
        PROC PickPart()) [$ D- W3 }" `( H- ]+ p/ E& D
          MoveJ pPrePick,vFastEmpty,zBig,tool1;% k" m% Q1 k- L! P9 n0 `
          WaitUntil nCounter=4\MaxTime:=5;0 m5 y1 r( _9 K0 H
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。$ Z: ^7 B; v, `
        ERROR
; P3 I! c6 G/ R( `) r) p/ _          IF ERRNO=ERR_WAIT_MAXTIME THEN4 B# u/ Z- q  b7 P  W" t
            TPWrite “……”;
3 y) N8 x1 H4 d7 i8 ]  y) E& r. P            RETRY;
% O3 d# Z4 T% k! }/ F. q2 l/ R          ENDIF( h% w$ C4 s& f) h: G) K
        ENDPROC
8 Z+ [5 q; u9 K9 k$ H- ]* \& D3 Y' }. |6 S- R0 i! D$ S! \9 W
ABB机器人程序流程指令WaitUntil-实例:0 C9 Q# J: D0 g- y% a- R
        PROC PickPart()3 I; _6 K/ n, J5 o4 [- P
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
3 M( l3 y' j. T" _, d7 W5 ?2 h- H          bTimeout:=TRUE;
9 R6 {. h) t* K          nCounter:=0;
' [. x/ J" f7 h# `; I! A          WHILE bTimeout DO& q  P# H6 C6 Q- k# _( r
            IF nCounter>3 THEN2 g) Q, i6 z. i3 ^
              TPWrite “……”;
5 I3 |+ D, M' ?5 i. c9 N            ENDIF+ ~; N% d) v; s0 q6 l+ w
            IF nCounter>30 THEN
3 W! D! Y0 [; @2 v  m& N8 ]+ u              Stop;
0 w1 e, S! Z8 @  w. s  K            ENDIF# k, ?! G( b& e! l7 x: G# e
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
. M$ Y; O8 ^/ n6 X            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。/ c# y" y; l  B6 L7 H6 o
          ENDWHILE
1 j3 G0 Y% K- N+ }4 o$ Q- }: `& Y          …- u" l$ X8 t* g7 {0 U% [
        ENDPROC
6 ^5 V% q3 S7 \& r
回复

使用道具 举报

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

GMT+8, 2024-5-18 21:19 , Processed in 0.057869 second(s), 21 queries .

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

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