机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
" q# {5 B# f2 Y' a) [8 n4 G) aWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];7 c& t' ^4 p9 d6 \
[\InPos] :                提前量开关。        ( switch )       ' _4 N) m1 x  D5 R5 x
Cond:                判断条件。        ( bool )
3 ?' `; @( K; x' h& C# U[\MaxTime]:        最长等待时间 s。( num ) - }  l( k$ r7 b0 v: H7 y& r
[\TimeFlag]:        超时逻辑量。        ( bool )4 C1 E2 T. X, W, Z* n


! d- k' k- }; d9 s7 q8 VABB机器人程序流程指令WaitUntil-应用:  i' ^2 r2 w$ L  E4 f0 g; s
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
. \- A0 o+ E! s' Y* u9 m& Q  Z0 @. z6 j
ABB机器人程序流程指令WaitUntil-限制:
4 t: \! m0 U+ ^/ p6 b
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    ; L) L2 {/ M2 |/ k

  y1 u: i9 o8 ?/ ^% WABB机器人程序流程指令WaitUntil-实例:
- r, B, J- w! q- R# p* t% r        PROC PickPart()
4 \9 @  G# ~9 r# G9 n% x) n- m          MoveJ pPrePick,vFastEmpty,zBig,tool1;/ g' k0 @4 o- t; z* ~$ i0 q
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。3 y/ {1 A- C7 L3 E9 Z$ _: V- {  A' C
          (WaitDI di_Ready,1;)
9 f+ l4 K1 k( o8 q7 ?
% V% ]; Y0 `) c        PROC PickPart()& l9 d" j# H2 w5 R
          MoveJ pPrePick,vFastEmpty,zBig,tool1;2 p1 F, m4 N7 A! C* {
          WaitUntil nCounter=4\MaxTime:=5;3 ^5 h/ l  _2 i" y8 q
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。; Y: y4 X7 B! q8 b9 r5 ?
        ERROR
) j0 I+ A, {1 ^& W          IF ERRNO=ERR_WAIT_MAXTIME THEN1 g3 i( ?) c% d/ b) v& E
            TPWrite “……”;
' [; G; j7 z% i8 t            RETRY;
2 L' @" H1 `5 `% }$ l          ENDIF, K  k8 b: y4 R
        ENDPROC0 e2 }+ H5 K* e# [4 d& ~/ U7 {* R
- c2 F9 u, ~0 ]5 P
ABB机器人程序流程指令WaitUntil-实例:; j/ f& e+ {2 J/ e8 ~: k. Q1 ]
        PROC PickPart()
1 K5 M0 @2 g% \: ?          MoveJ pPrePick,vFastEmpty,zBig,tool1;
. s9 G0 ^6 e+ W5 Y( S          bTimeout:=TRUE;
: f  B' ]* T  _% |          nCounter:=0;
" B3 G- K" L4 W5 ^          WHILE bTimeout DO# ~, l- }# E1 D$ @4 n, {
            IF nCounter>3 THEN
2 F3 o$ \! W3 U' x              TPWrite “……”;9 ^3 Q8 ^* O, J: Z& [1 j& E& O
            ENDIF
, p4 _0 e! i6 C$ C8 e1 g  L$ s            IF nCounter>30 THEN
0 o; r6 E+ \; b5 W; j& ^              Stop;
( W, X1 H, r8 u  u$ p! O$ z: |            ENDIF  F) v/ f! w2 ~) K
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
! n1 r& P% t# T4 }            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。2 e  O1 o& V; k# f1 [
          ENDWHILE
# X9 f. T5 @  k! |$ @; u          …
( ?/ H+ b9 a! U7 W# q) I. e4 M% t        ENDPROC: \' {" x5 d  c0 A
回复

使用道具 举报

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

GMT+8, 2026-6-3 07:57 , Processed in 0.067072 second(s), 21 queries .

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

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