机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
6 j6 Z$ w# V& @3 N+ c* t2 aWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
" j$ u4 }: K* }6 R$ t# u0 j3 [) e[\InPos] :                提前量开关。        ( switch )       ( ^2 h% ]0 k% J- `
Cond:                判断条件。        ( bool )
1 j' g7 h& Z- n8 A7 ]  g[\MaxTime]:        最长等待时间 s。( num )
" O, x8 r5 y9 H. v[\TimeFlag]:        超时逻辑量。        ( bool )
$ m, U6 I  O# |% X8 ?* d/ j

1 N2 m2 s3 I1 Z* Q( U* BABB机器人程序流程指令WaitUntil-应用:: R6 [5 Q! @& L  O+ b
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
3 N* J1 t+ C$ U6 F- ]+ u
# [# ~# I: r+ H/ {$ I& u' hABB机器人程序流程指令WaitUntil-限制:* z7 l, p8 c. D& N0 M$ E
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    0 M- C$ b, `8 A: A

! A/ b4 B  s" l5 G; r2 O" G" kABB机器人程序流程指令WaitUntil-实例:# u; r1 R' T1 q4 B( L; u- u
        PROC PickPart()
3 {2 X; k) V9 J' O; ^: p2 b          MoveJ pPrePick,vFastEmpty,zBig,tool1;
8 B  d5 v& v& C! o% _+ x7 V" z/ Z          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。4 s, U0 R  f  w. D8 {9 P/ A) [
          (WaitDI di_Ready,1;)$ P: n% K) T( _

4 ~* |& U/ W# \% q6 W2 Z        PROC PickPart()( \! ]0 b' g* U- k0 j! N
          MoveJ pPrePick,vFastEmpty,zBig,tool1;8 o/ [, b- Y6 p* a# l7 G
          WaitUntil nCounter=4\MaxTime:=5;* F: }; O: A) c# ~# N8 ~
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。$ b8 c4 c5 P) c& P* ?+ q( W# n1 a4 v& W
        ERROR4 |  ?) m- P( V$ H/ c2 W4 l
          IF ERRNO=ERR_WAIT_MAXTIME THEN
/ E3 r9 c  m& A. {' F& {) Y            TPWrite “……”;2 M! `/ a' X+ b% S
            RETRY;# J6 b1 O, A5 |+ j1 W
          ENDIF" V* L. `& W5 D* ]8 t+ s
        ENDPROC
" {& u# k5 ?$ q! l- y6 ^# F4 A, Y4 }9 A. c- D( z4 i) O$ {( D9 @
ABB机器人程序流程指令WaitUntil-实例:+ g9 V+ U  ^" c/ F
        PROC PickPart()
  p* s) ]2 H8 z- M          MoveJ pPrePick,vFastEmpty,zBig,tool1;
0 a' W# `' V' [$ c' S) i) m          bTimeout:=TRUE;
" X- Y, I; g& i2 e% h8 w; |          nCounter:=0;
) ^/ B- N& @/ b' ~# y' d          WHILE bTimeout DO2 ~7 s1 x- u$ S2 S' j
            IF nCounter>3 THEN
, E4 e! ^% ~; M+ X2 B              TPWrite “……”;
" K) k& M  X; H" F2 V            ENDIF
  O" N! W# q( d+ Y  Y            IF nCounter>30 THEN
2 W9 m2 d( g# c+ d. M% k              Stop;4 X, k7 k7 @9 S, y5 J
            ENDIF2 F2 L% p0 {/ b0 G( ~! L; k
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;, h4 A% c" J* F" S- ?' w7 s
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
5 n# i9 X" l0 v! h" ]2 i& Z/ A          ENDWHILE. b5 P  {! n/ w$ M( V6 @
          …' C4 C; V" O2 J7 w
        ENDPROC
3 I6 ^5 C6 O3 m, L
回复

使用道具 举报

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

GMT+8, 2026-1-5 09:56 , Processed in 0.084344 second(s), 22 queries .

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

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