机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程( ?! x- a! D+ W
WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
* l2 E$ H" q6 {# n0 G5 }. d( D/ }[\InPos] :                提前量开关。        ( switch )      
+ D3 x" l* n/ n4 o4 w  ?( {Cond:                判断条件。        ( bool ) 2 a) C( b/ Q- G5 \% u: B
[\MaxTime]:        最长等待时间 s。( num ) . `7 T% S9 x, h5 c0 b+ ^
[\TimeFlag]:        超时逻辑量。        ( bool ); \/ a$ ?3 B4 K# B- x* G" r$ Y

& G& p, Z$ \  z7 A; o5 q
ABB机器人程序流程指令WaitUntil-应用:
- d0 k  g# R% w+ I8 x8 X        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。) ?/ O3 ]4 N( P8 Z( \( \/ r

5 @$ }3 v( A( ?6 z, u6 A/ W, vABB机器人程序流程指令WaitUntil-限制:
4 H5 r1 X% y- B. ?; C
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
      a( a# _" V) r  V" N1 L

0 m1 ^2 ]# i( m( ?5 Z$ BABB机器人程序流程指令WaitUntil-实例:: b  X2 n! Q* ?2 {# n7 P5 Z; u
        PROC PickPart()
) i+ y4 W6 W4 }( f: q; D- \          MoveJ pPrePick,vFastEmpty,zBig,tool1;$ |7 i2 t6 _: a) V. `
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
" J# I9 w6 A; ]* u8 n# D          (WaitDI di_Ready,1;)
1 C# X; ~: j0 g2 t8 F9 b! H& d6 g$ m9 W
        PROC PickPart()' X( J, v0 o' g) k* C* A2 \" B
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
7 i, l: G% V, z3 F          WaitUntil nCounter=4\MaxTime:=5;
8 P* B, @$ j( l' y          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
6 F  d* Z: j" r9 y' u# S        ERROR
$ b$ m3 P; s- I9 Q          IF ERRNO=ERR_WAIT_MAXTIME THEN5 m& J& B" s7 c4 Q
            TPWrite “……”;
3 _4 G+ t9 H( q5 A* r0 v4 @            RETRY;
$ `: X" w; k4 E          ENDIF6 `/ B: l" m9 S1 A3 e5 k4 \  {2 \7 A
        ENDPROC
( T/ V9 x) w3 R
6 h5 r6 ^. U# O6 I! s4 Z8 zABB机器人程序流程指令WaitUntil-实例:4 N% v; a- D( e* T! d% ~
        PROC PickPart()
: y( T3 P* m: C( |" S- H* s          MoveJ pPrePick,vFastEmpty,zBig,tool1;: [$ m8 Y) A% t! v2 w
          bTimeout:=TRUE;
7 ~6 C: ?! d& [$ o- M          nCounter:=0;
% u2 j- m) x+ o          WHILE bTimeout DO$ h( e) Z% h5 {. `" Y/ B
            IF nCounter>3 THEN& Q9 P- |$ ^; Z& e
              TPWrite “……”;
2 k& m3 ~- K# ?8 n; U5 Y) Z            ENDIF
+ b2 I8 l* c7 K( x8 I$ y+ p            IF nCounter>30 THEN
# {6 w; I( F$ u$ f! [" n              Stop;& L+ a0 w- d  E9 V# A; U" U
            ENDIF4 F* Y7 h; E% B( X1 C$ f
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
$ N+ v; H) ^% K            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。9 \. X  J/ v* A( O3 X0 Y
          ENDWHILE; X. E* u# ]* W, R' F) \
          …5 g: r+ n6 @$ l$ n3 B( F& C6 _4 _" u
        ENDPROC
9 ^5 A& y% k- x  k
回复

使用道具 举报

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

GMT+8, 2024-12-28 01:09 , Processed in 0.065262 second(s), 21 queries .

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

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