机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程- k4 s* c2 @, Z8 @& f2 ?. L
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];' @4 J! j" ~% J9 T9 F) y5 S
[\InPos] :                提前量开关。        ( switch )       " G# U! u* D% X
Cond:                判断条件。        ( bool )
; Y: p& t: c4 f" ?. q5 A[\MaxTime]:        最长等待时间 s。( num ) ( L" ~0 ]1 x3 u  W' b
[\TimeFlag]:        超时逻辑量。        ( bool )
) Z, i( D/ N- S9 H
0 m6 {) p  T: b+ O: y
ABB机器人程序流程指令WaitUntil-应用:
0 B8 Q' K& R& ?        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。( @1 J9 r+ c! f3 J

. E9 N* b. R) [7 C; `" Y6 S; cABB机器人程序流程指令WaitUntil-限制:0 u4 Q  i9 J) [8 S, f
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。1 v) x( o0 L0 j6 O: Z
  O: r$ u) v0 m  B: {9 A
ABB机器人程序流程指令WaitUntil-实例:' R% j3 }. m1 p  ~) d4 z7 Q
        PROC PickPart()
: T2 e+ o0 Q+ J0 \, n/ E  W          MoveJ pPrePick,vFastEmpty,zBig,tool1;( s  n2 C# L6 `* O1 l
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
8 E2 e2 r! O8 y" X          (WaitDI di_Ready,1;)" ~4 G2 a6 }7 t. d- n; ]6 o- Z

: W7 W( f- u, D8 A        PROC PickPart()# Y/ E0 I% J$ M; U4 N6 f
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
4 F7 e* |* n. D  D) ?4 y8 l  h5 b          WaitUntil nCounter=4\MaxTime:=5;
2 U; ^* Y8 c# D- J8 {# o          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。- a+ Z3 j4 q8 u/ s5 U+ L) T, f
        ERROR
' c. _) o# l# E& O! \          IF ERRNO=ERR_WAIT_MAXTIME THEN
' ?2 s3 V% p& z            TPWrite “……”;# H. n" Z+ o9 t  i9 P* Y' O6 o
            RETRY;
/ m; }1 ]3 u0 K          ENDIF2 d- @+ ?/ W" {+ s
        ENDPROC
) o% s" ~( a9 n7 J- H" j
4 t. p) o2 g9 W7 X9 xABB机器人程序流程指令WaitUntil-实例:9 s. s) F0 h' j, D  ]3 W$ ?6 ?
        PROC PickPart()
! }" D  \; o# n0 Y          MoveJ pPrePick,vFastEmpty,zBig,tool1;# ?- w$ r" R+ r' S
          bTimeout:=TRUE;" p1 E/ Q+ m, b+ @: R
          nCounter:=0;) h9 F9 R; p, v& m' J% N3 f
          WHILE bTimeout DO
9 W2 ~$ _6 Z; H3 ?            IF nCounter>3 THEN/ i# o4 Y) |0 f: j! @4 K8 p
              TPWrite “……”;' P; @+ q. L3 g' X5 \( ?# t' A. ]
            ENDIF
- ^5 {% ]0 F, ^. _- R9 l            IF nCounter>30 THEN
) |4 B' ^& Q2 ^! O, @              Stop;: a! {! m) x% f2 v" @& Y4 x1 w
            ENDIF) h9 h  ]) y( q) @" l
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;" k- e5 n9 x5 y
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。, t" J0 r9 f3 h( Y8 @
          ENDWHILE4 R$ Y4 s' Z, `9 L
          …
- @$ z2 J3 ?0 o7 S3 s7 H; t4 u! ~        ENDPROC
! J/ y' L; v9 B, f
回复

使用道具 举报

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

GMT+8, 2026-8-31 05:45 , Processed in 0.064496 second(s), 21 queries .

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

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