机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程' h# I, \% H; Y2 G
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
" L- X9 E6 o) G8 R; _, {[\InPos] :                提前量开关。        ( switch )      
5 S' S2 L4 L5 ?' p# C( ]; L5 CCond:                判断条件。        ( bool )
6 j) q! D/ {% J9 m, _9 R. D[\MaxTime]:        最长等待时间 s。( num ) 1 _/ o& c4 A+ w; e
[\TimeFlag]:        超时逻辑量。        ( bool )7 r, a# C1 o9 K; L

! a4 j# h7 E' ~- K! r7 h: C: L" c
ABB机器人程序流程指令WaitUntil-应用:
. H/ @$ y+ J  e- M! C  M1 L& H        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
7 k; H- Q  w  p* B3 `# g
$ q) R, Q6 E( v4 |# LABB机器人程序流程指令WaitUntil-限制:- _% F2 U3 N9 c; C! d+ S
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。7 X3 ~# x# J2 p- _+ b1 @6 U

( _8 P# P9 X, D* hABB机器人程序流程指令WaitUntil-实例:
) t5 ^; j- ?' b        PROC PickPart()) D; ~0 N% d: d( H% X
          MoveJ pPrePick,vFastEmpty,zBig,tool1;+ @3 p/ ^8 r, ?2 O4 G! K" x
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。  p* x% G! C  \, X; I( q- p2 w. Y
          (WaitDI di_Ready,1;)
3 [$ a% |9 n  C' u0 _
( l+ c+ {$ n5 F5 C% \! Z# s        PROC PickPart()
& j! U  L$ G& X! s: h, X* P0 ~          MoveJ pPrePick,vFastEmpty,zBig,tool1;
. M3 |7 D7 W+ I& H$ a          WaitUntil nCounter=4\MaxTime:=5;; Y# m" c  Q- o" B" {7 G
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
2 s1 |7 x0 H+ K% S6 x& q        ERROR8 Q8 R- @9 t+ m" z# N9 F/ l7 q1 V; n
          IF ERRNO=ERR_WAIT_MAXTIME THEN
. r$ |1 ]+ O5 @8 s; c            TPWrite “……”;
& i) w/ {/ o7 d+ `1 S            RETRY;$ h$ t5 R2 N  [3 {5 I! w5 r
          ENDIF
0 R* L  C+ g+ m9 B+ Y7 X# {6 [        ENDPROC
5 Y/ H. \2 d( s6 o) Y4 d9 T, n3 ?% x) H2 `
ABB机器人程序流程指令WaitUntil-实例:, }- _% X6 K' T6 k0 r0 _
        PROC PickPart()
4 J% |$ G3 B5 P5 c8 x# l1 _          MoveJ pPrePick,vFastEmpty,zBig,tool1;0 G' ?0 b* \. V. ~. G
          bTimeout:=TRUE;
" Z; Q$ E7 K: |" J( Q          nCounter:=0;. u+ V! a+ }! L* t4 M% s) W/ u
          WHILE bTimeout DO) t: C1 C# c8 P0 v) n, N& d
            IF nCounter>3 THEN
2 ^3 A0 \- F; ^              TPWrite “……”;
7 J  t; U' K5 [            ENDIF4 @4 u8 T% f0 |5 K1 G, w
            IF nCounter>30 THEN( X$ j* j! ~2 d  U! g+ g( F& `+ m; F
              Stop;
& s& M2 l1 X8 e# l+ @/ }            ENDIF! ], v' t4 s8 J' y% Z, L  F
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
1 _- J* x" ]5 T% A& J  Z6 [5 h            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。7 r. Y' @  X7 x0 \- I& x  C) H
          ENDWHILE
, a- ?, O1 {  M) c          …7 T# p) r' ^3 `& t+ {# l
        ENDPROC
% c; D& L* a9 ]- ?& X; p: E+ c' c: E
回复

使用道具 举报

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

GMT+8, 2025-7-18 02:14 , Processed in 0.064535 second(s), 21 queries .

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

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