机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程! i7 {' c0 m! S" r. h% f1 |
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
+ x5 r( `; c! s2 K1 P0 D, [[\InPos] :                提前量开关。        ( switch )       ( i  G% q7 Z) z/ u: C
Cond:                判断条件。        ( bool )
, G4 E9 c' D) t2 E# V% i[\MaxTime]:        最长等待时间 s。( num )
3 W. ~5 Q5 [, M) V6 B[\TimeFlag]:        超时逻辑量。        ( bool )
4 b) g( R" u& Q: w0 q7 N* S, g/ I8 A

( r; S( \) ~( q. U  z! ~ABB机器人程序流程指令WaitUntil-应用:
0 \, m* S- t* b2 P+ i* B1 A/ d        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。& K' w8 @& o& P* q& k

' O* f' U6 ^, i, q1 _6 P/ qABB机器人程序流程指令WaitUntil-限制:( X" k8 J0 g( `$ U! O, E, Z( N
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。$ d/ b/ O# K* d% l- U

* i2 {; d  o' e1 b) CABB机器人程序流程指令WaitUntil-实例:
7 ]# B+ p5 R. C, A        PROC PickPart()9 f$ ]- w3 S. ^$ g
          MoveJ pPrePick,vFastEmpty,zBig,tool1;* ~7 H" `' {5 R
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。$ \1 [. e7 R1 `7 T
          (WaitDI di_Ready,1;)' e  [: B3 x8 X$ q  Y+ g: I

' T1 p( ~4 @/ b" X        PROC PickPart()
' O3 o% F- }* l9 U) C          MoveJ pPrePick,vFastEmpty,zBig,tool1;7 Y- _% G9 m) v" }) u
          WaitUntil nCounter=4\MaxTime:=5;
! p1 H" u4 F1 \$ Y5 B          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
' W& ?! }; k- g; O' c# G. {        ERROR
- l& D4 u& X# B5 I& u0 m+ V' C          IF ERRNO=ERR_WAIT_MAXTIME THEN
' w$ |4 d) G+ a  q. p7 J            TPWrite “……”;
+ o; D- j1 S0 x1 I( A            RETRY;
9 O6 j0 y# x: M6 Z8 `* n          ENDIF$ q" D' ]9 |7 j6 a
        ENDPROC) L) ?5 m: L8 f- G* {0 p
5 w* ?1 Z; }3 E; {8 \  O. Q
ABB机器人程序流程指令WaitUntil-实例:
) c& r  @6 [# W$ [        PROC PickPart()4 h2 b4 z! w- G7 h6 k' F
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
# e- q( m0 ^0 c& Q          bTimeout:=TRUE;3 H' h2 J! ~- X7 ?
          nCounter:=0;2 a5 b, o$ y5 L
          WHILE bTimeout DO5 Y7 r1 I( o$ b  N" z. }4 _8 O
            IF nCounter>3 THEN: f+ q5 u9 N8 o. k6 O
              TPWrite “……”;
, S% U  g) s2 o" R3 T            ENDIF" ^! m' k2 r7 p' b
            IF nCounter>30 THEN
- u+ p! M  B: r9 `; M' T              Stop;
0 U! C5 x' U4 D0 E* S- D5 G- m            ENDIF1 C  g% U7 u. N; }& j+ r+ L/ L
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;# s( ]3 r, L2 I! Z
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。- |, R3 ^8 l* |: ^* C4 h$ q, P+ l
          ENDWHILE; y8 e7 _8 m% k2 A+ _& i
          …
  S# ^! O/ |* S        ENDPROC
, ^& M5 m* |, E( Y
回复

使用道具 举报

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

GMT+8, 2025-7-16 06:13 , Processed in 0.079990 second(s), 21 queries .

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

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