机器人教程网

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

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

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

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

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

x
输入输出指令WaitDI-ABB机器人标准指令编程
5 T* {# w8 {9 w( m% y+ y3 B$ ZWaitDI Signal, Value $ U$ z# b1 W  v$ L, H% W
[\MaxTime][\TimeFlag];
$ h7 o$ w; C3 hSignal:                输入信号名称。   ( signaldi )
0 q% B$ ?- q: ?! H! f* B" ZValue:                输入信号值。           ( dionum ) ' Q' E( X+ b  \" ]5 L
[\MaxTime]:        最长等待时间 s。( num )
8 G3 _5 c" ^) A" b[\TimeFlag]:        超时逻辑量。           ( bool )
" y. O8 U# t- a8 P
$ y) A) {; H; D' }8 }
) H4 [9 W* d: a  u
应用:
) E# D* |! l) b+ i% n' |) D) o        等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。
& i- L: s4 W1 |/ z! l: }
, q( z3 ^; p$ @实例:
& R4 x1 K. n9 @- b2 T; D        PROC PickPart()
( \6 X$ |7 ]2 t& H6 N. [          MoveJ pPrePick,vFastEmpty,zBig,tool1;: J; M. m7 j4 V& O
          WaitDI di_Ready,1;  ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
' {2 l6 r# q: W          …$ I& P  D) F; A
        ENDPROC
. Y$ P4 R. r8 U/ F( t
8 @. i) K+ `+ q+ hPROC PickPart()
, z# W; M- c$ [" }2 H! p          MoveJ pPrePick,vFastEmpty,zBig,tool1;& T5 b% O  r% L$ {) l6 F
          WaitDI di_Ready,1\MaxTime:=5; ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
" K0 A" a/ `6 P: ]; Q4 V          …
. S" k1 w/ |1 x        ERROR
7 m, _3 H1 p8 T4 [+ m1 o& r) s          IF ERRNO=ERR_WAIT_MAXTIME THEN
* i, k7 X  Y4 |: u/ ~6 |2 O8 Q" `            TPWrite “……”;4 [0 k: L0 x6 {/ ~  {5 f& q
            RETRY;
& L( C6 x7 G& z9 I* I) ?          ELSE
- w- R& f3 s; U) Z! n! _$ q            RAISE;
! T" S4 e4 A- t2 J7 T  A- [          ENDIF8 ^9 ~3 q  F' @
        ENDPROC
) V' ~# |  z9 u+ g# Y& ~/ q, m9 s# h( M: n/ j
实例:
8 y; `! W  E, R2 d2 P5 n        PROC PickPart()* u* r$ J& P  W8 C1 o
          MoveJ pPrePick,vFastEmpty,zBig,tool1;8 E- V# l* c' D( `8 ~( i
          bTimeout:=TRUE;
" l0 @1 O' N' q$ U( Z) M' E$ x          nCounter:=0;3 `) Q( Y" \% K. f0 t
          WHILE bTimeout DO" G2 n8 {2 x% E/ N$ O: c
            IF nCounter>3 THEN) c6 P. H7 c: x8 B+ y# @
              TPWrite “……”;- v% U' C) J; R* _( S. G$ N! \
            ENDIF
1 z% T  i8 G1 h. F) c6 B9 ~3 F7 m            IF nCounter>30 THEN4 w5 x2 \5 |; b# O6 j- J
              Stop;$ [4 r1 T4 m% ~
            ENDIF
1 m6 `$ R- h) U" |  D2 _3 o& R            WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。" w4 T+ E8 P5 f* _  Q3 w
            Incr nCounter;          8 V2 M: L0 x" M3 m( ?
          ENDWHILE& r' H0 Y9 ^0 L( h0 A; H
          …
6 t5 Q% |( W% ^6 m        ENDPROC( O  p$ F/ t7 i7 Z$ s! i3 e8 m
回复

使用道具 举报

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

GMT+8, 2024-5-17 17:43 , Processed in 0.059824 second(s), 21 queries .

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

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