机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
& ~: a+ x& s. @  Q  ~WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
; ~, u$ b1 {+ ^. |6 `[\InPos] :                提前量开关。        ( switch )       5 ]; ]% _: Y( v4 v7 X
Cond:                判断条件。        ( bool )
- L) D+ P4 q9 @# H2 ~: }[\MaxTime]:        最长等待时间 s。( num )
9 T9 j$ {/ D' e( }[\TimeFlag]:        超时逻辑量。        ( bool )
% I1 Y% S: I0 d% H( r
% a+ h. B9 j8 a- y% z9 K
ABB机器人程序流程指令WaitUntil-应用:' z% O, O8 V# ?( v
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。( I4 |. z6 e/ P  B, @; ]1 s

% D7 l' t0 Z) A- c+ V( gABB机器人程序流程指令WaitUntil-限制:
5 h* H+ k6 o! t
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。' @7 x! l' K0 ]$ ?$ \
. r2 J& V; y7 O4 r4 Y. q
ABB机器人程序流程指令WaitUntil-实例:
5 q/ X1 g4 g# x4 U; s2 e3 Z        PROC PickPart()- x. e: @. \7 `* o
          MoveJ pPrePick,vFastEmpty,zBig,tool1;, ?' L* {" p6 T1 X: k% n+ z* o" S  v
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
6 s+ H  x8 L9 l1 B          (WaitDI di_Ready,1;)
2 o5 D( v4 R2 B, Z6 y2 o$ u% \. m  w
        PROC PickPart()
4 i* f+ V' R+ J1 K- q$ X          MoveJ pPrePick,vFastEmpty,zBig,tool1;& H% ?$ V! A2 `$ \0 o0 R
          WaitUntil nCounter=4\MaxTime:=5;
3 T. E4 h, Z2 `& H  Y          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
7 @: O1 e8 E' p2 g6 p: g        ERROR
6 K( V) I. @# O, O1 i/ I- g          IF ERRNO=ERR_WAIT_MAXTIME THEN
3 S) L( Q& _2 S; |% y' m            TPWrite “……”;
) H% ~6 }* [6 R: Y( m8 y; m- J            RETRY;1 N1 f' _3 u" ^& F- Q
          ENDIF# M0 p7 K3 p- I- l# A7 ^
        ENDPROC4 }( W3 r3 Q4 w- q  J
0 a0 I, d0 ?! D" {
ABB机器人程序流程指令WaitUntil-实例:
' K) w% N8 `; k5 K        PROC PickPart()- T/ n  h, l- S! a) V. o9 `
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
/ n; s' A( R: M$ f' ~# n3 x          bTimeout:=TRUE;2 {5 H0 V( G) Z% q  D6 G, p
          nCounter:=0;/ t  s9 X* X* G! D. ]8 S7 r2 D- L
          WHILE bTimeout DO; G- |: \' n+ V- ?" h. u3 y
            IF nCounter>3 THEN" m9 ?( F: Q1 n& w: ^0 t
              TPWrite “……”;
+ T1 I. J/ `2 u& d8 u5 b. h            ENDIF0 Z; L+ ~) l$ u  ^  g' Z  n
            IF nCounter>30 THEN+ {% n, D  G- K$ d" @" n$ E
              Stop;: ~0 i: Y. j! E( Z; S( a2 }4 T6 g3 o
            ENDIF
6 k; ^$ n2 j: g4 H* C, h) b            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
3 G9 M% g9 k3 Z8 v' {- J            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
3 F* K, |2 e: s: [, f" E4 C5 f          ENDWHILE7 l2 n. t1 W- w- u( d) R
          …% [  x+ y0 t; w& o, {9 U' s
        ENDPROC
; I9 ?3 ]1 V2 S
回复

使用道具 举报

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

GMT+8, 2024-5-19 03:08 , Processed in 0.057079 second(s), 21 queries .

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

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