机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程# y; E! R1 D, Y/ `, `& E8 y0 _
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];- u, q" y- `- @" y  S; p
[\InPos] :                提前量开关。        ( switch )       8 \% D3 j4 `4 f$ e- j
Cond:                判断条件。        ( bool )
8 c' j& ?- T/ v* h8 c[\MaxTime]:        最长等待时间 s。( num )
* Z9 |5 O) u6 r* e. W& w[\TimeFlag]:        超时逻辑量。        ( bool )# B3 E( X9 ^, o/ Q( O0 P" E


# J  L$ o8 s0 ]; P1 cABB机器人程序流程指令WaitUntil-应用:
% i2 X6 X+ \+ j6 G0 l8 T        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
% y7 G$ g2 }% o1 @5 C  c" p8 c
+ Q1 s  A/ c! M9 n# G3 l. @$ JABB机器人程序流程指令WaitUntil-限制:
" Z6 u% ?: z" C& _
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    1 z- g. a* w" v* m( E1 C

. ]. o# {; D3 G0 K1 D  XABB机器人程序流程指令WaitUntil-实例:
+ B) B6 r# r7 f* b( `, J0 Z        PROC PickPart()
& ?$ q% X, h7 x( v- e          MoveJ pPrePick,vFastEmpty,zBig,tool1;- @: y: Y8 |- u5 N2 Z$ C/ C
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。) m2 P) \# ?0 r. I+ j
          (WaitDI di_Ready,1;)
! N2 F/ e- {& g, n1 Z4 F/ L% Z  o- U( x( s3 M+ `6 _. ?+ H
        PROC PickPart()
+ F% e8 ?( R2 q3 z5 U' }          MoveJ pPrePick,vFastEmpty,zBig,tool1;2 m( B8 O5 ~8 Q, m9 I
          WaitUntil nCounter=4\MaxTime:=5;8 h" \+ k4 m2 g" S
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。# i& t8 X# J1 @* l. I8 @4 c
        ERROR2 J, n% x) A3 H8 o$ F6 S
          IF ERRNO=ERR_WAIT_MAXTIME THEN0 g! K0 A! v# l3 f4 i/ }6 r4 r
            TPWrite “……”;
6 h/ D) I; a" Z' h- H' @6 Q9 Q            RETRY;, y& G3 t2 d+ I
          ENDIF
& i+ ?9 |, x" U: X2 ]( t        ENDPROC
# j1 r+ i( t& L: z6 f3 @. a+ I1 O# H! t, H* H4 {
ABB机器人程序流程指令WaitUntil-实例:2 O7 S& t8 ^9 T' ]
        PROC PickPart(): U! O& P$ C$ e9 _, o9 ?
          MoveJ pPrePick,vFastEmpty,zBig,tool1;$ m9 |8 p' {5 a7 d. N1 X+ X
          bTimeout:=TRUE;
4 B. T8 X9 a  k3 `% b1 n          nCounter:=0;
6 d9 }1 b+ j. U& A+ L          WHILE bTimeout DO$ Q% N1 y5 D" N. M9 f
            IF nCounter>3 THEN
6 g) F7 M& `2 n4 O  @              TPWrite “……”;
$ G7 y5 T. R6 g/ G  w            ENDIF+ K$ _7 ~5 w* J5 |& f% i$ m
            IF nCounter>30 THEN
- P2 }6 H- c; r7 ?              Stop;- m9 g+ k% V& A% j3 H* @- i# ?7 b- {
            ENDIF: ~' }* S: V/ T( J: }( B& R* f
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;. I! ^  {9 t1 L5 o
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
# U5 e' L  h8 C" W$ X5 |          ENDWHILE. P2 K" u; @" r2 `
          …
$ O0 X. ^- o6 K/ U; e$ m        ENDPROC! h! N/ T" E$ K. l  s- O2 w# f! I
回复

使用道具 举报

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

GMT+8, 2024-11-25 04:20 , Processed in 0.087314 second(s), 22 queries .

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

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