机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程- h( z7 _; B# p& o7 g
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
8 M1 ~. ]6 Y& _5 Z: r6 u: G5 h% f[\InPos] :                提前量开关。        ( switch )       2 h- y% U' \8 z$ E+ i
Cond:                判断条件。        ( bool )
# R- j+ W0 I9 ^' H0 B" H# I+ O2 v[\MaxTime]:        最长等待时间 s。( num ) $ u/ l2 K9 F6 v* V8 H
[\TimeFlag]:        超时逻辑量。        ( bool )2 ^+ x# M4 s  q

9 m; F$ c1 {; M5 ?/ C
ABB机器人程序流程指令WaitUntil-应用:
6 d/ T4 }) T3 Z. L* j        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。0 F6 }1 h/ G/ x1 ^

& w) {9 {$ @! OABB机器人程序流程指令WaitUntil-限制:
7 i* R! |0 {/ J
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    6 P& F2 u9 H4 l  [8 e0 r0 v
' r: w3 ~# o% r' L
ABB机器人程序流程指令WaitUntil-实例:( {! t6 y+ A' x5 p8 z
        PROC PickPart()  t2 G3 w6 L( m; z& B) [
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
5 d6 o% C' v0 [- j1 G- G4 {2 X          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。, {/ R3 W: {, i7 J
          (WaitDI di_Ready,1;)
0 j! u/ d& E4 o" `6 m( l: ~5 }& U& l! V) H, N1 T
        PROC PickPart()
* u5 |0 y/ J7 z/ o( V9 |          MoveJ pPrePick,vFastEmpty,zBig,tool1;! B3 |. p2 T$ P$ D
          WaitUntil nCounter=4\MaxTime:=5;1 F7 u6 b5 m. I: u
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。' w# H' |* W+ {" o5 Z! c$ {# Q
        ERROR
$ [( w& U3 r8 [2 U/ l9 [          IF ERRNO=ERR_WAIT_MAXTIME THEN
( o) Z; E4 M* j4 X0 M1 V1 A0 j+ f! ]2 `            TPWrite “……”;
6 r: Y4 `/ \" x: s2 R            RETRY;
1 K1 X4 v: l8 s0 w" s0 L          ENDIF/ N9 p+ h, J; _! w; `
        ENDPROC. c0 E# W9 E  M( I& l& v; {6 S

3 }( E* u7 c7 P$ e4 C- CABB机器人程序流程指令WaitUntil-实例:5 t9 {, F4 k6 _( _2 h# N
        PROC PickPart()- b' [; ~, D0 u. a+ \! R
          MoveJ pPrePick,vFastEmpty,zBig,tool1;# z% L5 T5 l- K; r/ T6 T
          bTimeout:=TRUE;6 r% |/ a& @9 L! c
          nCounter:=0;- |  E! s: W: Z7 W7 r2 a
          WHILE bTimeout DO0 l3 b- C9 V, _, a1 o  R
            IF nCounter>3 THEN% O8 D$ }' D& |. {  y
              TPWrite “……”;
" F2 \/ \7 p, P+ @7 |- w            ENDIF; P% b! U# v, F( m, E/ }
            IF nCounter>30 THEN! v$ K) |" d* c* d2 N) a
              Stop;
) u+ ?* g$ T( g            ENDIF
8 \, z* D* Z: e: E# `4 I) d' W            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;) t8 _6 ~: s9 ?& {1 R! ~7 ^
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。+ }% e0 e+ d0 q2 v8 m
          ENDWHILE  H2 N$ N& {: a1 }) W
          …6 m4 _- v9 a. ~3 \4 p7 p
        ENDPROC
. K( j1 b1 x6 n# j5 R
回复

使用道具 举报

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

GMT+8, 2026-9-12 14:09 , Processed in 0.067769 second(s), 21 queries .

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

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