机器人教程网

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

[ABB示教] 输入输出指令WaitDI-ABB机器人标准指令编程

[复制链接]
跳转到指定楼层
楼主
发表于 2019-9-2 11:35:55 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
输入输出指令WaitDI-ABB机器人标准指令编程
2 [+ w/ [9 e3 M. n; y3 h  Y1 ]WaitDI Signal, Value
2 J  E$ D; l! v& u& O! h[\MaxTime][\TimeFlag];9 H! q. u8 h3 T) I3 m# g: G" ~8 U
Signal:                输入信号名称。   ( signaldi )
7 p) G1 M" U  t$ i3 e* o/ Y# QValue:                输入信号值。           ( dionum )
; d7 p  O0 E$ ?6 i( s[\MaxTime]:        最长等待时间 s。( num )
6 A* \6 {4 b' Z! ~+ Z  H" h# b[\TimeFlag]:        超时逻辑量。           ( bool )
. u# ]( m+ k) i* r# `+ e9 W( l, }8 _- N; n- i! p, _1 F


* ~. C/ x0 y' B. t应用:
  E5 h  ~! f7 ]* t2 _9 \        等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。
* r- j* B' ?& e. S/ C4 d
! U! _" l7 A; B5 @8 E! W3 l. |实例:1 Y% M6 ?( b* X: p7 R( s& A# m
        PROC PickPart(), B+ c- v( C# T  M, r0 a, }# b
          MoveJ pPrePick,vFastEmpty,zBig,tool1;: R2 P4 ?9 D$ R' a
          WaitDI di_Ready,1;  ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
! Q! I- r% i& [          …
2 r4 N6 R0 L  x0 x% Q0 q4 o; X        ENDPROC: r- c  O* n: `) S# \* H2 h
3 ~7 D& d5 |4 Q9 Y& w
PROC PickPart()
4 q2 s* e# ^5 _$ X. H" `9 }          MoveJ pPrePick,vFastEmpty,zBig,tool1;. K  ]5 @( E. h2 ^. q
          WaitDI di_Ready,1\MaxTime:=5; ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
9 a8 i& H. x9 d: I8 c          …% B) K9 V% ], Y# B* t* d0 l
        ERROR
2 H- t3 A! s2 H% z- D          IF ERRNO=ERR_WAIT_MAXTIME THEN
+ I) q7 H* e% `6 V            TPWrite “……”;4 s1 o9 b+ C- S4 m7 E3 U* e& l
            RETRY;
2 s1 O# ^* ^9 \1 f1 j  t: p+ k          ELSE) T' v  g- O: [7 i( i# H8 b' K2 a
            RAISE;
/ l) p. ~" J7 n. l          ENDIF9 V  N* o. u% J9 j0 B' Z1 ]+ P
        ENDPROC. C' b/ [" W% ~+ }* a' U: ^4 |
- ^5 S/ Z3 K& L( E" r: A
实例:9 u! S1 J- e* A" t; |
        PROC PickPart()
0 E% w( S0 o7 z& v          MoveJ pPrePick,vFastEmpty,zBig,tool1;
/ @" F( c, o( F6 w          bTimeout:=TRUE;8 r: m$ v2 o7 x. l' @  D% y1 F
          nCounter:=0;
+ \$ N/ X$ R' c% `0 Z; F% d          WHILE bTimeout DO* ^4 _) J$ M" m3 Z( B2 Y; H
            IF nCounter>3 THEN
, M7 `, h. B2 B$ s+ [4 F! E              TPWrite “……”;  L0 }. H) W# _/ a
            ENDIF( n0 q: \8 o3 t4 m) ^
            IF nCounter>30 THEN
: ~* X( F5 a. a              Stop;9 ^# O3 y) B" e# t
            ENDIF$ D4 _2 Q7 a& }! a' r
            WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。
% C6 I& `2 S: Q, V* x. C6 ?            Incr nCounter;          , O- D$ k1 i4 `' h( I( S( y9 _7 `8 W
          ENDWHILE5 T# o3 s3 d+ C3 l$ v5 c$ x
          …. b( h% B& p, G1 `
        ENDPROC
$ Z/ i& V+ e" y- a5 u* T
回复

使用道具 举报

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

GMT+8, 2024-9-28 00:18 , Processed in 0.070270 second(s), 22 queries .

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

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