机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
3 m7 x. Z6 M7 ?WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
6 q  K0 s5 x2 A8 Y, u[\InPos] :                提前量开关。        ( switch )       " i" O6 F4 ~0 E8 P" m5 `
Cond:                判断条件。        ( bool ) ( n( Q4 E* |4 F5 Y, I
[\MaxTime]:        最长等待时间 s。( num ) 1 p5 x/ f& m2 S+ A8 a! ^4 g
[\TimeFlag]:        超时逻辑量。        ( bool )9 l1 q; N& l0 N2 Z' U$ R

, I- Y9 W: M& h$ ^/ \1 P
ABB机器人程序流程指令WaitUntil-应用:3 W+ J* L' j0 Y; ~. M) C- B
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
) ^6 @. Y1 d: |, e
8 t7 C" I) T# r7 Z- }ABB机器人程序流程指令WaitUntil-限制:  Z3 X9 ~3 u; H! B! D; U* P
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。; k, z1 `7 g+ [- t0 H/ O4 p
8 w% y' ?; v" r: ?
ABB机器人程序流程指令WaitUntil-实例:7 I2 o/ t. Y: ]1 ^+ [
        PROC PickPart()
! D, u% z& o/ Q+ n  G8 W          MoveJ pPrePick,vFastEmpty,zBig,tool1;
, W6 @  C# y" ~) r$ t2 I7 t/ j          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。6 L/ Q, P2 ?9 S7 b- V# q) c
          (WaitDI di_Ready,1;)
! a8 a1 k% c1 Y$ t5 C0 e, x
% a3 L6 m; u, N+ ^: d2 k        PROC PickPart()
: K! z8 K# r2 u0 X          MoveJ pPrePick,vFastEmpty,zBig,tool1;
2 M) r2 [4 h2 n: @* b5 E          WaitUntil nCounter=4\MaxTime:=5;
) s  G( B; T7 i! v1 u5 N, e          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
2 {. }+ d' e* |  `8 z% S        ERROR
7 x# o' s) @- d          IF ERRNO=ERR_WAIT_MAXTIME THEN8 @7 B+ b/ ^/ V. s: `& N
            TPWrite “……”;, C6 j. k6 Y; H; c0 F; Y) w8 _2 c
            RETRY;3 G0 T/ a) y, \; J' Z* w
          ENDIF
+ `! @8 G* s+ H/ s        ENDPROC% k- P$ H; C4 G0 _5 o' E
+ g5 W4 O0 ^6 W3 n- }4 G. b: F
ABB机器人程序流程指令WaitUntil-实例:
* Y5 E* g$ Q: b) a5 v5 I        PROC PickPart()" t! X' h; {- ]( t/ ~' K; R
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
, u/ n/ p2 p1 H6 q# q8 E          bTimeout:=TRUE;
6 F: Q8 {6 L9 o$ t8 q5 |5 |. j          nCounter:=0;
6 y, A$ {/ ?6 Q, y; j. K6 C          WHILE bTimeout DO
* H; m# T" H0 l, |& q/ I) |' K            IF nCounter>3 THEN. o; x$ o/ f- Y# u
              TPWrite “……”;
# {7 ^1 o' }* u: J8 x            ENDIF' ^& J$ s6 I( j6 r+ }( J  x6 V
            IF nCounter>30 THEN
9 S+ X7 z! {9 r9 N& S              Stop;
  a. K- L+ h9 _; |. K% `; l+ E8 L            ENDIF
9 h3 W% j+ C+ x, p; f            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;' X6 X, I8 j+ ]: ^& n" Y
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
& d' f+ b) I" X- u3 w" {5 x8 n0 E3 {          ENDWHILE
, m4 r8 b1 H7 J& E/ t          …2 [: f( q* n# }
        ENDPROC6 b8 _9 M: a& ]) P' g
回复

使用道具 举报

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

GMT+8, 2024-6-17 16:08 , Processed in 0.059719 second(s), 21 queries .

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

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