机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
) c* ^" V3 r0 d; a: IWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];' j6 T, i9 Q! u' T' }
[\InPos] :                提前量开关。        ( switch )      
' k% Q: g* f0 I( K; CCond:                判断条件。        ( bool ) * l' e$ _5 t4 r, _3 `
[\MaxTime]:        最长等待时间 s。( num ) ; d; }6 Q0 }! x/ ^. w
[\TimeFlag]:        超时逻辑量。        ( bool )2 s% M# m+ S7 l6 U& X; P0 q

. \7 r  l( _: Z& k4 a
ABB机器人程序流程指令WaitUntil-应用:1 R, }0 X( o; m/ z4 t
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。3 I4 \0 Z3 s6 {, W- a! a

7 E% w5 K; l4 b$ u  ?; B0 D' J. `: O5 EABB机器人程序流程指令WaitUntil-限制:
6 F1 V8 q8 I4 E, [
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。$ y, Q7 ~# {9 Y* F5 C. r: f3 i' c6 E  O

4 D. n. @% [! R% Y" XABB机器人程序流程指令WaitUntil-实例:
, b9 ~! X) k) L6 |* i        PROC PickPart()$ P5 J! Q3 R  ^( `& k
          MoveJ pPrePick,vFastEmpty,zBig,tool1;& H" `  ]7 h" d+ L! W
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
+ q9 g4 }8 n6 G* w9 g( |7 i$ f; u          (WaitDI di_Ready,1;)
, @1 t& d) k! K& H+ Y+ W( o2 v; W  a" v' l* j, {- {1 l! H
        PROC PickPart()
( W1 d7 G. S. w8 O3 a) r- H          MoveJ pPrePick,vFastEmpty,zBig,tool1;& a0 b, k. H. o  r/ U' t: C
          WaitUntil nCounter=4\MaxTime:=5;' ^8 ~- l  q5 Y
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。% [  d+ M* P7 q! b3 ^0 u  T) N% p
        ERROR0 D8 f/ d; S; i9 K8 f$ G1 p( ]
          IF ERRNO=ERR_WAIT_MAXTIME THEN
1 x; W1 C' p9 J0 q: j' F            TPWrite “……”;" _3 ]( {2 y/ V$ Y5 v+ t
            RETRY;1 A6 D4 m9 O! n. z0 L3 ]
          ENDIF
' U' G1 r3 F4 a9 h% a        ENDPROC4 e" b- R; W' d: h) o% `1 f

% r% Q! P3 ]/ w# u; S" DABB机器人程序流程指令WaitUntil-实例:
: s0 G5 R  y7 }7 k% V+ Y        PROC PickPart()
8 L+ C7 |( [; T. d9 L" U- F* ^          MoveJ pPrePick,vFastEmpty,zBig,tool1;" x7 u' S* g7 ]' y$ L
          bTimeout:=TRUE;
3 I/ R0 H5 w  V  O0 N          nCounter:=0;- }: V, n6 @5 C  T- p
          WHILE bTimeout DO
( i6 W+ X. t5 e# ^            IF nCounter>3 THEN9 A/ u4 p) O) {/ I, _
              TPWrite “……”;
- H% A* m' a' A$ ]" H            ENDIF) Q9 D& Q0 v" V- U8 t
            IF nCounter>30 THEN8 [9 o/ [" Q8 [; O# D! W
              Stop;5 r+ q" S* }' e4 ]& f
            ENDIF1 S" j1 W: D! j# v+ p0 P' I1 C
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;4 D5 C( \/ @; q# g! K2 c% q
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
" Y+ A) Y1 e( p' O7 X1 D          ENDWHILE
# ]7 l* |3 d/ H7 R" t6 G+ W# y          …
# N/ _9 J' @+ H        ENDPROC) E, v, g1 J/ [0 i
回复

使用道具 举报

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

GMT+8, 2026-1-5 09:12 , Processed in 0.067925 second(s), 23 queries .

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

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