机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程9 ^/ @1 N0 b0 K& R9 _
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
0 v/ Q6 e  m/ g, L0 r' W& r[\InPos] :                提前量开关。        ( switch )      
. l1 D0 X6 o- l8 y2 a2 zCond:                判断条件。        ( bool ) 4 b2 e$ W) K' b3 e/ j
[\MaxTime]:        最长等待时间 s。( num ) + ~3 `' `" g4 j& j3 Y/ w# Q) W
[\TimeFlag]:        超时逻辑量。        ( bool )/ s. n; Q" `  ^; D: M" k  z) u

% ]! J0 J! T  I& F* F
ABB机器人程序流程指令WaitUntil-应用:8 x) p7 N: y3 H1 }
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。) c: ?4 B2 P' M$ Z- I
1 y# B8 L+ p- p. s$ V
ABB机器人程序流程指令WaitUntil-限制:! C( \( v: r: G, V
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。3 @! [4 n+ B" s; `

! O" D; D  t) ]$ sABB机器人程序流程指令WaitUntil-实例:2 y& l! d  t  U; ~
        PROC PickPart()" H  z9 j& T& O: F1 o; h1 F3 N  m
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
3 M) I  W/ a7 y) Y          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
3 m6 c% V9 }5 {5 Z6 {4 c: F          (WaitDI di_Ready,1;)0 |' L3 |8 B( d! {1 Q/ T* l( Q

! c- g, X* V# N, \& W        PROC PickPart()
7 K1 Q  O4 c: c; \1 |          MoveJ pPrePick,vFastEmpty,zBig,tool1;: Q" V9 a3 v  h1 w" m$ r
          WaitUntil nCounter=4\MaxTime:=5;
9 O0 K8 c- }7 ^# b# `' T          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。7 }" l, z7 e5 n, Q4 {
        ERROR+ D& {: u' l% b; p: C+ Y& w9 \
          IF ERRNO=ERR_WAIT_MAXTIME THEN; g/ B% z0 |1 p) V7 i5 C$ ]
            TPWrite “……”;, \! Y* v, K0 y# h9 \$ S, }# y; b9 q. F
            RETRY;+ E3 p) B# Z, H/ h' B, x+ R4 l0 K. c
          ENDIF
1 A! s) {/ l* ]/ l' l" M& {        ENDPROC
/ C2 U5 V6 n! F2 G, X! U9 f/ B& ~4 }( V1 C$ H% Y2 b3 C3 |9 F  `
ABB机器人程序流程指令WaitUntil-实例:
% s! V" H+ `* \5 m0 F        PROC PickPart()& L/ `0 I  q6 y( |, g
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
* I7 g. d+ W! {; C% z. s. v          bTimeout:=TRUE;
2 a  V6 ]1 ^0 @( I% N& i2 {          nCounter:=0;
9 m+ B/ r. G- k5 Z6 q4 K6 I; X          WHILE bTimeout DO. A; f: i6 T; L5 U8 i
            IF nCounter>3 THEN
, R1 J" J& C' S# x0 u" k' u3 A0 n              TPWrite “……”;9 z' H$ p# C" Y
            ENDIF! I7 N; K3 C" D, I4 }8 O
            IF nCounter>30 THEN; W* h+ k  T3 |; ?7 z$ F9 x
              Stop;3 N: B3 ]! W. r# F  _4 m$ Y: [$ |
            ENDIF. M$ W- W. \5 p4 ~/ D$ v5 W
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
: m# s0 s6 ?3 ^6 W; K7 e            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。  m! e6 m' a% C
          ENDWHILE
; R# n/ m. ?4 P" m          …
1 V& x$ A7 {8 A1 _5 J        ENDPROC) i, |6 _- W  b# n7 I
回复

使用道具 举报

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

GMT+8, 2025-4-7 21:58 , Processed in 0.061961 second(s), 21 queries .

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

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