机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程7 ]8 F' X8 _3 b; l! a! g
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
1 L5 w7 h( O1 ?8 q* |[\InPos] :                提前量开关。        ( switch )       , ^) {' {, g' l- _& A: M
Cond:                判断条件。        ( bool )
) j3 A* s+ p6 f( F* L[\MaxTime]:        最长等待时间 s。( num )
, G; e" z; `3 k$ O3 h7 {8 G) v[\TimeFlag]:        超时逻辑量。        ( bool )
! |, z5 g" i  c& `8 h1 A; k

& A' |6 T# p* s" w3 GABB机器人程序流程指令WaitUntil-应用:
7 q% {8 J/ F' ?) H7 h        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
+ ?% \/ |. y3 t" f) _
- E. L! g7 _) l" a3 J# PABB机器人程序流程指令WaitUntil-限制:+ o9 g: r  b; a) S6 ?9 V
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    ' O; T( w, o, x4 X: {3 u" c

. J+ W7 J# q# V% s! ]7 \ABB机器人程序流程指令WaitUntil-实例:- _# ]/ m4 m( j3 |
        PROC PickPart()
" o2 D8 ?+ \$ N+ u1 h( @( _          MoveJ pPrePick,vFastEmpty,zBig,tool1;# F3 U6 S- H4 U- O
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。$ o* |$ v1 z9 [
          (WaitDI di_Ready,1;)- W% Y3 ^) o0 }" u' O9 I1 Z$ h# a

3 ~( B/ _( `' Q. f2 t        PROC PickPart(): M6 N) D4 {0 X5 b
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
& n5 Q$ Y1 [1 G* p( S          WaitUntil nCounter=4\MaxTime:=5;
6 r/ ^, ~5 O! p  [' F' @8 e) v4 N          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。; g4 ?2 J% l) z) V
        ERROR
3 L( j) e& f; z$ J          IF ERRNO=ERR_WAIT_MAXTIME THEN
- q8 i/ \7 P, H. N            TPWrite “……”;& s( T- A* @# q, L& U2 j& d( A
            RETRY;
2 ]7 F  _5 N9 b, N# c/ P3 {3 ^          ENDIF% h6 f2 @$ y; m4 o6 |7 H1 V2 @
        ENDPROC
/ {. S7 a# M( {- `+ M. Y
* U) {- Z% I1 t" I# _1 K1 \! @6 PABB机器人程序流程指令WaitUntil-实例:. X& p2 Q( U8 w; O
        PROC PickPart()
: m! }- e' x: |) O          MoveJ pPrePick,vFastEmpty,zBig,tool1;
/ Y- _0 M) p& T* g- o3 e0 p# _          bTimeout:=TRUE;
+ c7 Q2 g4 l1 e- W6 B+ n) I' ?0 f          nCounter:=0;
4 F" N5 L) M! w8 }          WHILE bTimeout DO
2 I, n8 F0 H6 x# C, U( m            IF nCounter>3 THEN
4 c; f& {3 W2 d; c$ c& E2 |; A* ^              TPWrite “……”;
, Z6 x. V( g9 m9 e/ E            ENDIF7 U& G& j3 l, ?2 Z
            IF nCounter>30 THEN. o5 ^: W8 j: u! `7 c& g
              Stop;
+ h7 E- u5 \1 P            ENDIF# u* V2 H5 v/ j# M1 P
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
7 l. B- [" L; Q5 i. c6 L! |0 c            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。* M4 w& L, A$ f2 @! z" N) F
          ENDWHILE" c3 B2 s# X3 K( M" @# h0 U1 Y
          …
. s2 _0 H$ M4 L        ENDPROC
3 s) B  O/ e4 x9 @0 k/ ^& a  P) _
回复

使用道具 举报

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

GMT+8, 2025-5-1 21:13 , Processed in 0.065949 second(s), 21 queries .

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

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