机器人教程网

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

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

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

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

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

x
输入输出指令WaitDI-ABB机器人标准指令编程
- {: C( s! o1 B3 \% KWaitDI Signal, Value
4 ~1 r. p0 M* Q[\MaxTime][\TimeFlag];
$ [: V: \5 y" }* o6 cSignal:                输入信号名称。   ( signaldi )
' @  a0 A+ C& K6 y9 P+ T: IValue:                输入信号值。           ( dionum ) . R3 a( l: }8 i
[\MaxTime]:        最长等待时间 s。( num ) 2 U7 y5 T5 p/ a) J
[\TimeFlag]:        超时逻辑量。           ( bool )
% C% _- ~9 k. f( W7 @. H" g5 w) W: e3 w9 G7 t3 X/ L


/ W$ d& z" X) D0 O; x应用:" C3 o. m* _$ A' u, u3 ]+ K
        等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。
/ k; v7 ?+ o5 a& P+ F5 j
: ~0 A0 Q+ l( G" U( L实例:
9 n) l; ^& d& h" i2 n% F8 N+ q4 E        PROC PickPart()" `/ K$ R' d# s+ k
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
! m/ B8 w1 d4 Z3 M/ n" ~" i          WaitDI di_Ready,1;  ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。( T* e2 t6 Z, v" i$ D( R
          …$ ~) X8 i( Y( z9 F
        ENDPROC
1 F" x8 V+ ^% _4 r' h+ z8 q% t0 i* y7 T, d+ \/ T! f9 s7 x
PROC PickPart()
- ?8 a  G7 P/ U5 Z0 C3 z9 W          MoveJ pPrePick,vFastEmpty,zBig,tool1;
4 e7 L( M$ I$ {' _0 G          WaitDI di_Ready,1\MaxTime:=5; ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。7 c( w: h+ Q+ |1 s/ l2 E8 e( g
          …7 F7 z7 M. b4 {* d/ ]
        ERROR  l# ?* y  E8 b7 C( [5 _
          IF ERRNO=ERR_WAIT_MAXTIME THEN
2 Y. l) `7 h1 k% V            TPWrite “……”;
  H' C# {$ d% @- k; H            RETRY;
1 h! H, Z$ v: ?          ELSE
3 K6 ?# l$ l+ u9 Q            RAISE;
# I4 r( \3 T6 x) ^          ENDIF3 r! Q9 K. R: z
        ENDPROC3 ]. y0 D% L- F6 h9 v2 z
8 F9 Y) Z( h. I1 G0 l9 |- m
实例:7 S# }% C+ y" T- q) t  V
        PROC PickPart()
& k" U3 a5 T7 i" l7 N; A& X          MoveJ pPrePick,vFastEmpty,zBig,tool1;
8 b' [1 x: x7 @' p1 \+ S  V8 D          bTimeout:=TRUE;
  Q& F9 r+ U& ^8 R; m. F! a          nCounter:=0;9 T) V0 n+ |: l& j: j6 b* T
          WHILE bTimeout DO% [7 u. h) d$ m) ]/ c  W
            IF nCounter>3 THEN. V3 H. k& M; [8 a2 v( [& ?$ j
              TPWrite “……”;" {/ |; X# Q8 t4 ~5 M* ]
            ENDIF: O) o" J4 h$ I
            IF nCounter>30 THEN
7 s6 ?/ h3 |5 q' H. L- V              Stop;
3 [# u% Y$ ?* a# v. H. a            ENDIF
, x' V! m" o8 I0 V$ Y( y            WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。
* U. T3 ~8 U1 S) }2 R  K3 l            Incr nCounter;         
* ^9 j: O/ K# F          ENDWHILE5 X5 e3 j2 S' X/ [$ z# p/ N/ W
          …
6 l, u3 Z% z* x7 r7 K7 P        ENDPROC/ e- q" m# k6 D8 |3 `
回复

使用道具 举报

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

GMT+8, 2025-4-20 11:23 , Processed in 0.063640 second(s), 22 queries .

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

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