机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程8 b2 f5 e& x' t. l% |
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
6 }- Q" }# g8 P! K& K+ g- _0 N[\InPos] :                提前量开关。        ( switch )       . u% M: S" S; Q5 G) `
Cond:                判断条件。        ( bool )
5 T% k2 e0 i+ U1 u[\MaxTime]:        最长等待时间 s。( num ) 3 j$ ?1 y7 d$ M) V, [+ l* A
[\TimeFlag]:        超时逻辑量。        ( bool )4 p- D- M) n/ `* z5 f7 d; z- N


1 }8 @/ z- X& b4 {ABB机器人程序流程指令WaitUntil-应用:* L( M% \" e( \
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
9 X. ^, |' [, E- H, i3 N% A( I! J+ Y; A$ P
ABB机器人程序流程指令WaitUntil-限制:
+ K2 s, ~- T- m5 N' i9 j- K
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    0 P8 J5 W5 N" q

: J' D7 A6 B& C  `$ A! f2 uABB机器人程序流程指令WaitUntil-实例:8 \; J8 z0 a7 `3 R
        PROC PickPart()
8 w1 y$ z9 e- A# {8 C          MoveJ pPrePick,vFastEmpty,zBig,tool1;
4 `& l* k8 G+ t8 [2 M0 n5 ~9 k$ C          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
% W  |1 P7 k# j% r) U          (WaitDI di_Ready,1;)( ?$ h- e" N# n0 P

* g. a9 B6 I2 ^% v        PROC PickPart()
- L' }  l6 C# W; u9 N# }2 m          MoveJ pPrePick,vFastEmpty,zBig,tool1;
1 ^. G% w, I" w" t: `          WaitUntil nCounter=4\MaxTime:=5;
# F6 N; \& w% v% [          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。( m  ^) E8 s$ T8 D3 P* Y9 Q
        ERROR
8 `; w3 T! T2 p: c7 t3 c/ E          IF ERRNO=ERR_WAIT_MAXTIME THEN
- P0 |: u( G, j5 @9 @            TPWrite “……”;4 ^8 C" S+ e- ^" a$ {! K
            RETRY;, w- F' w/ R' f# N# Y# K  [/ W6 x
          ENDIF( b8 |- z( {. K6 N$ N7 F
        ENDPROC0 i' |' C+ D8 w7 k! B/ i' Z

. H6 e7 W, n! BABB机器人程序流程指令WaitUntil-实例:' Z' z6 L1 u, \
        PROC PickPart()
0 U# X8 J  h! v          MoveJ pPrePick,vFastEmpty,zBig,tool1;2 d( ^* m5 }# `( t
          bTimeout:=TRUE;
' _/ e2 `* D; Z1 c          nCounter:=0;
  t$ L- m  a0 Q4 M          WHILE bTimeout DO
+ m. ]4 K0 \* s9 N7 n3 V2 a            IF nCounter>3 THEN
: V& U" `/ h8 j* x4 F, O8 V              TPWrite “……”;8 b7 J) X% I( W, P) i
            ENDIF
# ~# n5 `& \( h$ ]' R            IF nCounter>30 THEN/ X+ n3 r+ c. j" j, t( ^2 |# \
              Stop;
9 \4 K$ L* h: [6 Z- p# ^            ENDIF9 C/ ~( ]) ^# k' Y8 t
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;. c0 E- A3 u% x, g
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。: H. F* ]' ?/ L
          ENDWHILE" b/ H; L& V$ A9 p
          …6 }" B3 j7 D) v* Z7 m$ M
        ENDPROC
8 c1 O* a0 M1 c
回复

使用道具 举报

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

GMT+8, 2025-4-19 19:49 , Processed in 0.064480 second(s), 22 queries .

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

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