机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程- }+ m5 V, ~$ {( ]5 O) C1 `
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];* ~" g5 P" R6 D$ o7 L# I1 _
[\InPos] :                提前量开关。        ( switch )       " E6 k9 e% N  K; k) I* s
Cond:                判断条件。        ( bool ) 0 F- T. L& U! b
[\MaxTime]:        最长等待时间 s。( num ) # u9 P' y% d* S
[\TimeFlag]:        超时逻辑量。        ( bool )
. f7 X% @  a1 J* y" q

" J6 m! Z! U2 N$ v1 u* C( z- mABB机器人程序流程指令WaitUntil-应用:
' q, X' B2 ^6 W8 b" s; B        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
" I5 K# F8 S+ N" D! n4 e% U7 }0 F0 M8 h& R4 J4 A
ABB机器人程序流程指令WaitUntil-限制:
9 O; `7 ~/ L, x2 \3 y
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。6 D$ C2 v/ P" ^  `! M8 Y( H

8 d' E4 y" U; l& q6 B( _2 U6 y2 m2 dABB机器人程序流程指令WaitUntil-实例:& i4 o6 r* h9 M4 `% j% A5 Z
        PROC PickPart()8 |8 @8 S/ q8 V3 z- M% |
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
" B2 E& D& K3 Y          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。2 c* \& S& }# r' s! ^: l1 }
          (WaitDI di_Ready,1;)* Y& B$ V- T" F

; t$ y8 @  z4 [' l2 g        PROC PickPart()) d5 w: Y6 d% c& o
          MoveJ pPrePick,vFastEmpty,zBig,tool1;$ [7 J* _1 U3 }  |4 A: R
          WaitUntil nCounter=4\MaxTime:=5;# ^, C2 Y3 d0 y6 l& `
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。$ z, A. n$ y) ?# z) U8 ~. T" u" P
        ERROR
9 ]5 v9 W% b6 z5 i7 d* i" _          IF ERRNO=ERR_WAIT_MAXTIME THEN
! _8 e  E7 q% h2 g; Q5 t" {) v            TPWrite “……”;
8 q# p( b  w9 q            RETRY;6 `; f+ h  J; }. q9 `$ f
          ENDIF+ x2 Y/ s' ~5 ?2 T
        ENDPROC
, F% G$ i9 X& _/ [, ?5 [' q  h
& W) ~, ]# \4 @) i: EABB机器人程序流程指令WaitUntil-实例:! O# `& B4 R. l/ y9 U
        PROC PickPart()
& g4 [8 G, v% z4 H8 U. Y$ N$ W          MoveJ pPrePick,vFastEmpty,zBig,tool1;" a& P  T( {# W6 W$ j
          bTimeout:=TRUE;
% `" P. D0 x2 }) m; f6 E          nCounter:=0;0 |# X. Q; B* W* O8 w: J
          WHILE bTimeout DO! X& L6 m/ x0 }1 S! M2 {+ Q
            IF nCounter>3 THEN% z5 k+ K1 V4 q; B" ^5 ]
              TPWrite “……”;  D- O/ [. w( ]- A+ q2 G
            ENDIF- s( U, A( C( P( D2 Q8 U0 t
            IF nCounter>30 THEN: P& B3 U! X0 G$ s8 [3 n5 K6 |3 w
              Stop;+ ^8 A4 q' l5 e9 D$ H) T
            ENDIF
& _/ L; Q/ X3 ]' q* a/ v! C            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
% E0 P! `: U( X( H: D9 Y            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
% t2 R2 b2 p9 @' j          ENDWHILE
& c; O: S" |1 V          …/ F' U: \( L- M4 V. z
        ENDPROC3 C5 p$ W1 z/ v! u% _
回复

使用道具 举报

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

GMT+8, 2024-9-28 00:18 , Processed in 0.061004 second(s), 21 queries .

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

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