机器人教程网

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

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

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

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

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

x
输入输出指令WaitDI-ABB机器人标准指令编程
( Z# R# Z9 T, V% RWaitDI Signal, Value . z' v. D2 S3 ~- N3 g6 S
[\MaxTime][\TimeFlag];  |- q/ R/ Z$ f- b$ J. \! O$ k9 U1 _' o
Signal:                输入信号名称。   ( signaldi )   Z2 B1 c" m+ S/ Z
Value:                输入信号值。           ( dionum ) 6 N2 I$ w' Q% g: y/ l  |, ~
[\MaxTime]:        最长等待时间 s。( num )
7 B& g5 @/ n9 p* q2 O) @$ h[\TimeFlag]:        超时逻辑量。           ( bool ); T9 Y! T! ~: l, s! j

; ?  p" k: P# m! ^4 {; L0 z
( X+ ]+ n7 z& w. F0 n& a& ]
应用:
! d% J4 _3 ?* N7 X& f8 {1 {        等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。
7 T9 R& h6 @+ D3 J1 ^  V  W; S) V  ~, U
8 o$ t( R' |  X7 w- V4 [9 U实例:9 {& [# t5 b3 {
        PROC PickPart()" q5 i$ @8 {5 d8 @" O1 o
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
% g2 U3 T* t' V+ }' x' `7 p          WaitDI di_Ready,1;  ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
% r- s7 y0 n' F( j4 F) E          …. @8 y: l4 E1 X+ i  U0 W3 K/ B
        ENDPROC
1 i; s; K) h& q2 e7 z! }! |
* C2 X: E9 J; |' \PROC PickPart()
3 r" v9 L: q! A, w7 l  g6 P          MoveJ pPrePick,vFastEmpty,zBig,tool1;. [3 b& P. ~# N0 t' b. {! Q  [
          WaitDI di_Ready,1\MaxTime:=5; ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。5 ?/ F) o3 J; H) w: `: a
          …2 H) i8 D3 s& u. e
        ERROR
3 ?% h4 o. q: n5 y          IF ERRNO=ERR_WAIT_MAXTIME THEN1 |8 X) F1 `3 g4 P  R! ~1 g  q
            TPWrite “……”;+ g# d% t, C3 v4 B8 Z9 t
            RETRY;! h4 ]6 v( [6 g4 S
          ELSE
) g- I, y2 T: C) [9 X7 h            RAISE;5 p, `, i& l7 o; p: p
          ENDIF
# o# G( l5 y' \+ a- h2 E& L: i        ENDPROC1 N( A8 y4 C7 W+ m8 H

& _9 r2 M4 F* w% I% [( t( j实例:
* q3 T1 `. N" J  i+ Y/ M8 B        PROC PickPart()
6 x# v( C) P7 N" a0 R          MoveJ pPrePick,vFastEmpty,zBig,tool1;& R( v8 E' F7 g  A! v
          bTimeout:=TRUE;
+ c% v1 l' e, @$ w' A          nCounter:=0;
: R. t# k# L. ?* ?& J* ]          WHILE bTimeout DO: \) E  A$ D/ D0 _2 o  N9 u! ^' t
            IF nCounter>3 THEN
( F6 b7 \# J5 E5 P; W" W              TPWrite “……”;
9 L5 h, e2 p1 R9 u- W1 \            ENDIF1 |4 O; q. a8 b8 a( q8 ~
            IF nCounter>30 THEN
, \. X% A0 G( l' U% g              Stop;
  e* {' y3 R: k, a! i            ENDIF
+ C1 ]+ O4 r( r9 o  D% ~            WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。9 F. q, R/ m9 j& }" Z
            Incr nCounter;         
1 |& z  _3 _) e1 Q          ENDWHILE
0 c& a0 M; Z, n9 H# l+ v          …6 u" ?( B& w' O0 T% u- R* K
        ENDPROC
" Q) {. O" e9 o0 q, l* |# l$ N! {
回复

使用道具 举报

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

GMT+8, 2024-11-25 05:51 , Processed in 0.065365 second(s), 22 queries .

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

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