机器人教程网

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

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

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

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

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

x
输入输出指令WaitDI-ABB机器人标准指令编程
* u" V5 V3 k0 rWaitDI Signal, Value
- Q' E. z/ C% S* |* b  L[\MaxTime][\TimeFlag];
. O  Q  y- a" z' jSignal:                输入信号名称。   ( signaldi )
/ r+ p5 m2 v3 S# e7 \$ LValue:                输入信号值。           ( dionum ) 9 d. w/ w9 D# C; U9 r
[\MaxTime]:        最长等待时间 s。( num ) 3 w9 n& q$ ?/ r% Z
[\TimeFlag]:        超时逻辑量。           ( bool )# W6 ^. M+ @  A9 S8 d. U) `

( J: ?" v. K7 a

8 {4 y; i- [% Z7 K0 B" Q3 {应用:0 R) S; O, e* V$ b4 r- j$ Z
        等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。$ V! ]2 q3 S6 n4 L
3 u2 }3 o3 }4 h1 I8 m  k$ p: D
实例:
: \6 z1 i, o4 S/ g        PROC PickPart()
# x  z. i' f. t          MoveJ pPrePick,vFastEmpty,zBig,tool1;
3 a. F6 E+ s. [& f: K/ v          WaitDI di_Ready,1;  ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。" y' e: c5 k/ g9 G
          …* u9 q6 `+ X4 n8 z  D$ ]6 w, q0 Z
        ENDPROC4 d1 `/ J9 N# r0 _% @0 L+ {

7 D' {4 x1 K1 w9 N# WPROC PickPart()+ [6 F* u# Z1 K! Z
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
; y( L8 w/ T, E6 f' }          WaitDI di_Ready,1\MaxTime:=5; ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
* S1 ?0 A2 b) K1 I* Q          …
( n" b0 s& Q# A& t" @        ERROR0 b6 G7 c/ a- E" d  ^9 I
          IF ERRNO=ERR_WAIT_MAXTIME THEN
  q' C: y7 C; Z% r$ t            TPWrite “……”;
& E( w! y3 [1 C* Y" J% i            RETRY;
9 g* T8 B5 i6 p0 G/ M  @/ D          ELSE* n/ {2 M6 y% R) X
            RAISE;
. u" s/ S: F9 O5 b( ~          ENDIF  c2 p$ p6 p# U1 }0 p. J  f
        ENDPROC9 k8 Z, }5 S: A+ V# S- M
  }- p! A/ l1 {% h. e5 Q& J
实例:" O" m- ]8 p3 H7 H; n
        PROC PickPart()
# P8 [& J) [9 F, n          MoveJ pPrePick,vFastEmpty,zBig,tool1;
( ~- _* R4 J5 u; Y+ \1 I          bTimeout:=TRUE;
( ~: l9 x6 ?. s! a  Q3 w/ v( d          nCounter:=0;& O+ `/ g. J/ p. d* G
          WHILE bTimeout DO4 J0 `& o% C7 E9 N0 E
            IF nCounter>3 THEN
6 G) L6 O8 k4 G1 m  c9 S              TPWrite “……”;2 G( Y3 q* z8 w4 v; R
            ENDIF
5 b: Y, T9 d, X. j: r" \7 W5 G5 c            IF nCounter>30 THEN0 ?7 V- b% X$ c! e/ d
              Stop;' h" Q$ ~( N+ y* E
            ENDIF
3 ^1 f1 D/ ~& x/ o7 r; |9 Q/ @. T            WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。
4 q9 N9 ^) }5 d# l9 G  t4 U$ k            Incr nCounter;         
2 i6 B1 U; p6 K  U          ENDWHILE
& |7 u4 w2 N' Q% r4 I- d          …
7 ~) A- a& D5 O2 K% I) i$ Z' V" c4 d; n        ENDPROC2 s. j! b' n" o* A: v2 y2 |
回复

使用道具 举报

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

GMT+8, 2026-8-14 14:56 , Processed in 0.075597 second(s), 22 queries .

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

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