机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
5 I  \/ L' R4 a# }9 {0 g. ]WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];6 N4 Q6 Q- ~- k6 B
[\InPos] :                提前量开关。        ( switch )      
7 Z" F) b2 U: m" F# F5 ~Cond:                判断条件。        ( bool ) ) K9 p' @6 ~0 v% r
[\MaxTime]:        最长等待时间 s。( num )
6 Q: F7 H) U7 o+ F9 Q) ~$ g[\TimeFlag]:        超时逻辑量。        ( bool )
( E# t7 ~$ X* w7 z
# {- W) U, p6 g+ U6 ~
ABB机器人程序流程指令WaitUntil-应用:9 [; F8 Y; J4 z
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。4 R2 F- Z: u/ e
: v( D# ^$ n1 `% _2 q
ABB机器人程序流程指令WaitUntil-限制:' S/ A/ i) Q0 V* U* f% W5 F  Q. ~' @
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。; Y5 @# @9 i  n: V* p
( `. |* {$ j( M
ABB机器人程序流程指令WaitUntil-实例:
, L/ e8 `7 p: g9 ]2 ^        PROC PickPart()
8 M3 D& r2 t7 ?+ c# V$ t9 k& B3 J8 |          MoveJ pPrePick,vFastEmpty,zBig,tool1;
- X% Z8 }) c. d3 n          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
4 W' P5 \  o* K7 ?) N, K" B          (WaitDI di_Ready,1;)
& m5 ?8 @+ t' {+ a# M8 F3 m9 h: b9 q6 j# ]7 x- K/ T
        PROC PickPart()
$ g0 z) p3 Z" \          MoveJ pPrePick,vFastEmpty,zBig,tool1;
. p+ H5 v+ d# A  P* t8 ~          WaitUntil nCounter=4\MaxTime:=5;
$ y8 d- ~  w8 l7 O  K7 m          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
# O, i& Z( ~: N' `        ERROR4 M/ i# I' x5 e0 q. v, S' X+ k( B
          IF ERRNO=ERR_WAIT_MAXTIME THEN0 q7 h9 i- T! t! m" _- s
            TPWrite “……”;
, M# \4 E+ J7 I: \            RETRY;
3 h; v2 y: k2 j$ z! t: a          ENDIF
: A2 V! e* |6 ^4 h! g6 s7 p; y7 H% }* I        ENDPROC, f: W+ [( `8 \' J0 ]. N  G. R
9 s9 _7 e7 U8 |0 X6 {3 ~# X
ABB机器人程序流程指令WaitUntil-实例:
2 K  X! s+ m( h' }        PROC PickPart()
2 q' J% \# L: L          MoveJ pPrePick,vFastEmpty,zBig,tool1;4 F* N/ ?' A& S1 ~$ w! k
          bTimeout:=TRUE;5 I5 M# f8 `( U* u" A% _
          nCounter:=0;8 Y, m9 o" R. V( [0 ^! M2 ?
          WHILE bTimeout DO4 z: o' Q4 s8 A. a& t
            IF nCounter>3 THEN& P, h5 ~9 N" a" [0 k' m3 A
              TPWrite “……”;; A" t# a3 L4 \! R! l
            ENDIF0 j8 ?% ?+ f; E4 B; r' |0 A/ n3 g
            IF nCounter>30 THEN
% Q$ _+ N! X/ t. L$ V8 o              Stop;
4 v, a7 s" Q& v            ENDIF6 q8 ~. u* r& ?' D7 e
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;# f& x8 ?0 A3 z
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
1 g/ p7 X4 ^2 i, A6 c- }2 _. z          ENDWHILE: B6 F" h5 {5 l8 @3 Z2 w5 j
          …
3 \; v. [9 _% d. s  i* F4 H; C        ENDPROC
9 w; ?, j; M  o0 d6 y: a2 s
回复

使用道具 举报

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

GMT+8, 2024-6-17 04:56 , Processed in 0.067135 second(s), 22 queries .

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

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