机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程' v/ c3 {5 k. n. i5 \4 H, f
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
2 V/ l* T# [* r& y[\InPos] :                提前量开关。        ( switch )      
- P7 M2 s# }/ D( TCond:                判断条件。        ( bool )
6 B4 |- \1 }9 u2 J$ F. m. k8 A- c[\MaxTime]:        最长等待时间 s。( num ) 4 a* T5 h+ e  _
[\TimeFlag]:        超时逻辑量。        ( bool )
& g; k1 E8 G% s  W+ @
/ E) k* j& n& F' b. M- ], \
ABB机器人程序流程指令WaitUntil-应用:
0 P# z% k/ E" s# q) N        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。8 h9 c& N4 Y% r' Q  s' b- ?

' R4 Y2 v4 i# K* u! g. |1 t* DABB机器人程序流程指令WaitUntil-限制:' n# j; J1 z8 r* w; y- c0 [
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。: N/ R5 M- M1 T0 ^% g- q

0 [" D2 C2 N" i2 u& X" i0 I/ ?; nABB机器人程序流程指令WaitUntil-实例:: E" l# {. R" l) m- \5 k; P
        PROC PickPart(). X' d1 E' F3 D' a
          MoveJ pPrePick,vFastEmpty,zBig,tool1;! i5 i1 W" P" G) Y% y! O3 N# j
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。( g& D/ }& v9 K% |) a
          (WaitDI di_Ready,1;)
) E, a$ O. `7 d0 r' b# c) X# a9 \# a6 [3 B5 D7 l
        PROC PickPart()
2 |7 h9 `3 [' f9 i          MoveJ pPrePick,vFastEmpty,zBig,tool1;
; r- N# P  O& u! `; i& t          WaitUntil nCounter=4\MaxTime:=5;
* h8 c: {3 a1 `, \! M; |& M6 `$ U          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。4 y$ j9 }5 P# Q/ D5 f  t
        ERROR
  A  V5 j( F3 D! `$ f+ ~9 B          IF ERRNO=ERR_WAIT_MAXTIME THEN6 P; t' e2 ~2 v* V" Y
            TPWrite “……”;
6 z# n3 }* E+ l3 w  e) h            RETRY;3 z! d0 l2 J% R3 ?
          ENDIF
( F# m' P: G2 _+ v% _        ENDPROC. x8 R0 o! s! Q3 K2 K) j" O
+ `5 C; V: z+ M9 M5 z
ABB机器人程序流程指令WaitUntil-实例:
, k5 L2 x$ F: @! b$ k        PROC PickPart()
! Q( v1 F2 W* ]- E          MoveJ pPrePick,vFastEmpty,zBig,tool1;
4 K/ ^" N4 f- m. x& Y5 ^& R# s9 i% f          bTimeout:=TRUE;( j3 N8 _( r( t' h4 K9 z, b
          nCounter:=0;5 [. j; s! ], z$ ^' s& E% u
          WHILE bTimeout DO
" _% j! K, m" M4 \: j0 v+ F) c            IF nCounter>3 THEN
* E% z+ p" i1 e$ Z( H! |. g, H$ c( w& ]              TPWrite “……”;5 I. A4 s# p" ?, U- k# o% u& C
            ENDIF3 D" h! T# b$ ~/ [( M
            IF nCounter>30 THEN* T3 a( q- K8 m$ h; t
              Stop;/ a; y' ]. Z" K" G
            ENDIF8 p1 a& z* o4 Q) E
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
8 Q2 R6 W: l. ^            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
6 k* S6 ^+ f# J! l          ENDWHILE2 I8 K7 u) @  h% N$ d
          …
5 R  b% a  `0 G8 {/ {9 f        ENDPROC5 g2 o' o* J8 B& O0 k0 v
回复

使用道具 举报

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

GMT+8, 2024-9-29 05:48 , Processed in 0.063471 second(s), 22 queries .

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

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