机器人教程网

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

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

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

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

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

x
输入输出指令WaitDI-ABB机器人标准指令编程
9 h1 y: v: p6 X5 Z4 V1 P6 tWaitDI Signal, Value
! x, M! e/ u/ n! ~1 u" f[\MaxTime][\TimeFlag];
* m, M1 I8 t  GSignal:                输入信号名称。   ( signaldi ) 5 m/ R9 _4 @" T" O1 [' m  R
Value:                输入信号值。           ( dionum ) 5 l  {9 V. G, w
[\MaxTime]:        最长等待时间 s。( num )
* I3 F- g; E6 s* N" W$ K6 l8 X[\TimeFlag]:        超时逻辑量。           ( bool )) c. E4 _' w! y1 W0 R$ g, x- ~$ V
. B6 @  O0 O# G& e* R% F0 g9 b3 w( N


8 L7 R6 p% g- p4 L$ v应用:4 E, A8 \3 _+ I  D
        等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。
" V. g# Q& z0 g/ y3 @7 ^1 l$ e" m9 _' k; }# Q
实例:
8 T  Z) j1 F! G6 l        PROC PickPart()
! M: O" j7 d8 ^& ^0 z  |' ]          MoveJ pPrePick,vFastEmpty,zBig,tool1;6 ]% a, v4 U  e' k
          WaitDI di_Ready,1;  ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
' v/ l( f! M9 t          …8 f6 n  U6 K5 s& e" E/ u
        ENDPROC
* f2 c- W; J# Z. G$ b) G# l/ d. [4 S& o" ^4 E1 o" I7 B
PROC PickPart()
: {! [2 W+ ?3 @7 I7 q, L  B          MoveJ pPrePick,vFastEmpty,zBig,tool1;
  O; i# ?, h; G4 f! k" p          WaitDI di_Ready,1\MaxTime:=5; ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
) i% A6 L. N' f7 c          …
" s7 c( B* D/ P/ q  m        ERROR
' |6 k) ~2 ~7 a+ U5 t0 E- Z2 {2 D          IF ERRNO=ERR_WAIT_MAXTIME THEN, D2 w2 |0 n) Z% l; l
            TPWrite “……”;
! j7 ~- c" V% @( A            RETRY;# G" b$ H6 `9 V: e! C8 [, O- j$ n
          ELSE
% _& B: O) c" I: A$ y  ^% ]            RAISE;
6 \. ]* U8 L/ k" Z5 _8 z% E; I          ENDIF
4 ~" \  c, P+ |' h        ENDPROC* l4 p% t4 Q, r9 V: g
0 D0 L' d* |+ Q* [' g# k8 z
实例:
3 w- p9 r% ?7 E8 v  n. A        PROC PickPart()0 F8 {" x) |# q8 z
          MoveJ pPrePick,vFastEmpty,zBig,tool1;3 r' J1 t8 d" b* x3 V9 `, m* E
          bTimeout:=TRUE;; [4 S" H. F  J( t7 I
          nCounter:=0;0 e$ c. i# ~0 p$ `6 k6 s$ I
          WHILE bTimeout DO
6 e: k, \! p9 W/ L6 P            IF nCounter>3 THEN9 e6 w( A# m- k
              TPWrite “……”;
" u3 ]) g" d- T: ]            ENDIF* V( E6 r, q' o1 d" {% n. {0 G
            IF nCounter>30 THEN
) {6 R0 X2 m3 O              Stop;
* I: R/ k, Z! W  n6 s9 C3 E& s            ENDIF
( Z  x0 K4 G' `  b; T            WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。# k$ n9 T) @8 L' q9 I$ b7 h
            Incr nCounter;         
2 V! S$ e' u7 g+ M- m          ENDWHILE
; n4 s; y- g8 _- y( L* K6 I          …2 a  b0 I' z2 L: ^
        ENDPROC$ D! s/ |( T& l
回复

使用道具 举报

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

GMT+8, 2025-10-14 05:26 , Processed in 0.066793 second(s), 21 queries .

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

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