机器人教程网

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

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

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

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

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

x
输入输出指令WaitDI-ABB机器人标准指令编程( z% m( ~/ H4 ^; C. C
WaitDI Signal, Value
) Z4 G: D$ V; I# N  i% p* K[\MaxTime][\TimeFlag];
5 w- F( R- X2 I. j, }! S' ISignal:                输入信号名称。   ( signaldi )
: L# N; B' l. W' W( k% AValue:                输入信号值。           ( dionum ) 8 ]) ^5 u. l' o% `
[\MaxTime]:        最长等待时间 s。( num ) " Y4 g3 R! T0 e9 o1 Q! u7 }; l' Q3 c
[\TimeFlag]:        超时逻辑量。           ( bool )  ?* I7 ]' A" d8 f

- S, H: r1 H. J$ f' y' L% Y* m
# K0 C; p' {& z  {- B0 W
应用:5 y' |$ X" W6 Y- z; A
        等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。+ A( _7 B- \- a$ t; V/ b
7 }* u& {, k- F% Z2 m0 a. W
实例:" s0 A" f+ I: U- P  Z" s4 Z
        PROC PickPart()* m/ ?& l( |4 [
          MoveJ pPrePick,vFastEmpty,zBig,tool1;6 y& f- u; t2 g& l2 N' u$ ~; n
          WaitDI di_Ready,1;  ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。* Q8 \; U. k7 M* e
          …, x7 r* v* w! `5 Q+ l( B
        ENDPROC4 x; U1 C* a( r) F

$ j" B, [  e7 F8 _6 r$ o- o! X" x* LPROC PickPart()
% i- Z3 S% i  g, c2 A          MoveJ pPrePick,vFastEmpty,zBig,tool1;) h+ {5 h. t# U5 s
          WaitDI di_Ready,1\MaxTime:=5; ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
& |8 C0 g- M' l+ M; u" L          …; O# G% ]) ^# m, F4 C4 n: b
        ERROR
; ?2 }  D( V. U          IF ERRNO=ERR_WAIT_MAXTIME THEN
8 x5 T. O% _8 s& M2 M% {% X/ e            TPWrite “……”;
' t: f6 p2 b, @( b            RETRY;
' n3 N+ l1 k+ J  ~1 L          ELSE: h& V- U- s/ b% K8 y! K, ]
            RAISE;1 ^# d3 ]% a$ Q, M; `
          ENDIF
( U7 z$ c+ q) r5 m4 w) F/ q: {8 l( }! N        ENDPROC
* \3 G+ w" M$ I' A9 n! [+ @: u  C0 z/ N, L4 {7 ~
实例:
: H$ R- F& d% s$ s        PROC PickPart(). q' \5 }% r. }
          MoveJ pPrePick,vFastEmpty,zBig,tool1;# [% R+ v, y- V! {9 b$ s9 i$ e
          bTimeout:=TRUE;" F0 e5 l$ }0 I, t$ a
          nCounter:=0;
7 e" B( U5 E; _6 ?2 G) F4 {6 r! m          WHILE bTimeout DO7 a3 o% f' B& h& L
            IF nCounter>3 THEN5 B" q  N& W, y: g. o8 o' u8 h8 f
              TPWrite “……”;
& P8 ]  K$ P1 U+ x            ENDIF) F* r! `  M+ q0 u. N9 z2 e
            IF nCounter>30 THEN( m! @. h7 Y2 F* k
              Stop;
' W& h6 A8 X- g. g6 U            ENDIF
+ W; n6 B$ v; e/ [            WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。
8 R5 s6 z+ z" o5 T* a% s            Incr nCounter;          ' d( S5 g9 t7 k: T4 y
          ENDWHILE
1 s; w* E% V/ g! [& C; K          …
9 D; \& w9 H3 i  r( R3 J4 p8 M! N        ENDPROC2 A' R3 I- l2 Q
回复

使用道具 举报

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

GMT+8, 2026-5-21 23:24 , Processed in 0.074879 second(s), 22 queries .

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

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