机器人教程网

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

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

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

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

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

x
程序流程指令WaitUntil-ABB机器人标准指令编程
4 y( p; J9 C& XWaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
* V) w$ L! D' P[\InPos] :                提前量开关。        ( switch )      
0 G: q/ I% R. f( I* }Cond:                判断条件。        ( bool )
. s( q/ P9 a9 n% t# u; q[\MaxTime]:        最长等待时间 s。( num )
5 a  ^) G& t1 L4 A) ^8 A[\TimeFlag]:        超时逻辑量。        ( bool )$ `% f. Y7 _4 E' o


5 D3 ?0 B* ]" }* Q; i, yABB机器人程序流程指令WaitUntil-应用:* ^5 V! \& U, Q4 C4 X' p/ j
        当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
. N! q+ {1 c8 f  {
, s0 f# ^# ?" O# F* y0 |+ o; n7 kABB机器人程序流程指令WaitUntil-限制:" [! r) I/ N+ `
  • 当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
    " Y4 s4 q7 G  X' A9 d" N% d$ ?
4 P& ^" G. {" e; U- }  [7 O
ABB机器人程序流程指令WaitUntil-实例:
9 u: ?3 g: m, Z  y* C        PROC PickPart()& X% q% A" Z% |4 q. O
          MoveJ pPrePick,vFastEmpty,zBig,tool1;2 I9 G$ P( @" h1 h1 x  x
          WaitUntil di_Ready=1;  →机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。& o# f' L! i6 C
          (WaitDI di_Ready,1;), w2 F1 S; Y; r/ Y

) o$ D  U& c; I% r/ F2 m        PROC PickPart()( G" F, u4 Y) G  J
          MoveJ pPrePick,vFastEmpty,zBig,tool1;+ O' G/ J' _# z: ?3 r: }5 m
          WaitUntil nCounter=4\MaxTime:=5;7 i  P) B$ W+ t  \3 D( O
          …  →机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
& H! Y% n& E, ~! @, s& {+ Z3 L2 o4 q% z        ERROR
' t# m% {3 g1 I2 Y2 {  l          IF ERRNO=ERR_WAIT_MAXTIME THEN
# W/ ?' [# J2 Z7 [+ L+ M1 P: U            TPWrite “……”;
" t- K* `/ C/ }3 \1 s" g+ w            RETRY;7 N, ?+ n" B$ T2 ^" v& p# Z
          ENDIF
! z# v+ \: P2 N) w# @        ENDPROC
4 [, @4 o' z6 w" y* R. K) D- v  f2 T+ @- J3 ?5 f0 k- Q/ e
ABB机器人程序流程指令WaitUntil-实例:
% h% \  X8 w* w, ~/ P3 Z* B        PROC PickPart()* L! D# S" H" W. H- C3 K4 v; D4 o3 [
          MoveJ pPrePick,vFastEmpty,zBig,tool1;# d7 K6 g3 Y6 |: H. _! d
          bTimeout:=TRUE;
) v. u+ O; x$ R6 ^# o2 W          nCounter:=0;6 Y4 V0 E# M+ `
          WHILE bTimeout DO
$ o  e- a6 w) ~: @2 @* X7 y( M# W            IF nCounter>3 THEN
7 Q6 J* n* F' k3 B# j              TPWrite “……”;
$ b, J5 f9 I) ]) [            ENDIF0 l# d$ I+ u% l9 r* g
            IF nCounter>30 THEN
/ v+ U, G  ?9 Y4 T4 O. G4 @              Stop;
0 v: a5 n* D! f( I, P4 D2 u. ^, V( r- m( |            ENDIF& S! I0 D" r) P: F1 c6 n
            WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;: ~; V3 Y! D  K9 _2 D
            Incr nCounter;   →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
- j- @1 A1 m* R; H, R+ r. R          ENDWHILE2 q# x: u6 \8 b
          …7 Q/ |( P5 Y% i6 D
        ENDPROC$ T, d& g2 p! d& x7 c
回复

使用道具 举报

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

GMT+8, 2024-6-2 14:42 , Processed in 0.060362 second(s), 21 queries .

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

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