机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
! p2 E4 w  d5 Z' t( xWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
& S' B% N! j9 `, @) b' ][\InPos] :                提前量开关。        ( switch )       / V" g* o: Q& E- ^9 ^/ |9 \4 [
Cond:                判断条件。        ( bool )
; U$ S( t1 K% @+ Q) h[\MaxTime]:        最长等待时间 s。( num ) + A# k3 Y8 c  c5 m3 G3 i
[\TimeFlag]:        超时逻辑量。        ( bool )  T" z8 ^8 `2 r5 [# a/ N% `


* Y. M! E+ X! `4 z  N; f& }ABB机器人程序流程指令WaitUntil-应用:& Y4 W8 T/ @! U5 S' v; E2 a9 l
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
# X0 M9 x6 D' G0 g
# Y7 S& c) _) M* u! `ABB机器人程序流程指令WaitUntil-限制:% m7 F* m* W/ p0 b2 \5 g3 A! F
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    2 t' E' w$ B8 M

) e7 l9 u- l6 n; R, X( m" `) vABB机器人程序流程指令WaitUntil-实例:, U. q) l$ p% ?  \! C; c" x
        PROC PickPart()2 _  Z6 Z8 [* y4 [
          MoveJ pPrePick,vFastEmpty,zBig,tool1;, S6 O. r2 ~/ U2 u9 H7 h+ m7 I
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。/ h+ B4 F7 f( l" c% ?* z
          (WaitDI di_Ready,1;)
# y/ ]# ^* ~9 k
" q% w9 q" D& p& A        PROC PickPart()
( R) B' }/ J( n+ A          MoveJ pPrePick,vFastEmpty,zBig,tool1;# \( p/ _0 S4 q' u! F) L
          WaitUntil nCounter=4\MaxTime:=5;
9 @" g4 u% E7 n2 c; i$ m: ]          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
$ M  d6 y" N. x; a/ K        ERROR
" J+ i. p) m9 W  J+ v1 Y/ A6 L          IF ERRNO=ERR_WAIT_MAXTIME THEN/ Q+ f( m6 P2 ^2 r
            TPWrite “……”;
+ M: Q3 V+ c! F5 l5 z            RETRY;
# s, x: i' n, E7 @3 ~          ENDIF8 H8 s2 G" g; E! N  o8 E6 p
        ENDPROC# s' {) P" }. S; M. m( ]9 y8 e

- Z' N' d1 Q% @. F4 HABB机器人程序流程指令WaitUntil-实例:) ~$ K' M3 E( j) n7 e' L
        PROC PickPart()
' k9 d; T- a2 @0 x9 N          MoveJ pPrePick,vFastEmpty,zBig,tool1;5 Q( z4 Q3 t* [
          bTimeout:=TRUE;% [& g5 B! c" b5 o; N; ~2 S
          nCounter:=0;
7 q, T, K3 T  B& ]% a( z2 S          WHILE bTimeout DO
$ {; L* D1 a9 g1 k- q5 H- S            IF nCounter>3 THEN
9 s$ |1 \. b! y6 U7 T              TPWrite “……”;  H( B3 m, S" g9 P8 w. I; d% C
            ENDIF
5 F' y$ N2 u$ U& H% ^- V9 \' c            IF nCounter>30 THEN
% B! E0 p' X% W9 M3 n" d6 F              Stop;
% t; x6 F' q5 Z, F+ r/ _            ENDIF
* @4 H, @, _" N0 o3 z/ Y            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;0 G- b! U. I$ Q
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。# r, m; {& T. T0 }1 F7 l0 G
          ENDWHILE- B# X1 I9 _# @# N( h* k, I5 Z
          …/ B7 A7 d0 p5 p& B
        ENDPROC
! m$ Z  J- t5 e9 d' ^" H5 e0 g; [  l
回复

使用道具 举报

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

GMT+8, 2025-12-13 17:18 , Processed in 0.067537 second(s), 21 queries .

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

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