机器人教程网

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

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

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

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

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

x
输入输出指令WaitDI-ABB机器人标准指令编程
1 Z) Y' h7 r, y5 D( KWaitDI Signal, Value 0 }6 w* A% D0 Z7 E
[\MaxTime][\TimeFlag];
$ E" {9 V3 c# kSignal:                输入信号名称。   ( signaldi )
8 }. T: {- z7 W* _& ]3 w! ~; _Value:                输入信号值。           ( dionum )
. B- q7 t7 U# N0 G  [$ @* W[\MaxTime]:        最长等待时间 s。( num ) 1 F6 n: {& ~7 _* d
[\TimeFlag]:        超时逻辑量。           ( bool )
, V  p( u$ ^2 F3 i: a4 M% `' @4 B. B1 F9 n6 l8 r( U5 [7 z' |3 Y


5 K4 D' R% M4 U8 u应用:- B4 e* P7 H. `0 f" w, |% K4 S, \
        等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。
' W% R* \& P( z
' W0 g8 c7 o& S/ B' t实例:+ z! ~+ s5 [! m! |' ^
        PROC PickPart()
- `# E5 `& F  f- M  f          MoveJ pPrePick,vFastEmpty,zBig,tool1;
- [+ Z& L, j! X- P( S. h* h          WaitDI di_Ready,1;  ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。# z: A. B+ s& G
          …7 U" W1 ^5 ^2 K, m
        ENDPROC: H, S# F% C# \; _8 @4 ?1 E) \
/ ~. j: ]' @% e, ?
PROC PickPart()
  u5 b! [3 D" {          MoveJ pPrePick,vFastEmpty,zBig,tool1;
, z, |, D) \% @, E" @* V5 h          WaitDI di_Ready,1\MaxTime:=5; ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
! B: j3 x; Z; i6 w5 X- k          …" j2 q- n+ I7 v8 n% t; n
        ERROR: l& r; H/ `! T  U' j
          IF ERRNO=ERR_WAIT_MAXTIME THEN
9 F* y3 c, L0 C7 W9 G$ [            TPWrite “……”;8 v* h" w" X( g* y! m& Z5 a* F
            RETRY;
# u& n: o2 g& f- ]% k; e) O          ELSE
0 W1 A6 x1 {4 o5 s+ `3 D+ _) C            RAISE;
* L8 ~0 x2 L/ V% y* ]& F          ENDIF
* n3 f9 t8 ?$ n, e# y7 R+ A        ENDPROC
' ~: `$ e9 C9 }4 [; c
+ T4 P* ^/ Y1 n. m实例:
5 d; d3 N9 E- W        PROC PickPart()
1 Q* k5 V. x1 R) T          MoveJ pPrePick,vFastEmpty,zBig,tool1;
* ^0 X; l$ e! z5 ^, u1 ~          bTimeout:=TRUE;
7 f, z& m+ C1 r+ A; B          nCounter:=0;
& c6 _; G- q! k" n1 ]          WHILE bTimeout DO" C# B+ B5 p& r" G; z. K
            IF nCounter>3 THEN
5 f# Q' f1 U4 t" k) O              TPWrite “……”;4 V- L2 V! e7 W5 f
            ENDIF
3 \5 }9 C" M  F* v( g3 l, c            IF nCounter>30 THEN. l: p% L2 g1 T+ l( R
              Stop;8 Y7 X, E  y9 g1 H. ~5 ?
            ENDIF
5 g3 {6 U* a5 {" D* Y- G* y            WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。
) H, f. r3 ~2 I0 P5 X            Incr nCounter;          4 _- f  A+ W9 p9 g9 `
          ENDWHILE
1 L6 F% A2 P+ Y' Z5 O' `4 F          …4 l" A% @6 l5 M, @, `
        ENDPROC$ N$ c( _) E) ?, W' ?
回复

使用道具 举报

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

GMT+8, 2025-6-26 22:54 , Processed in 0.065251 second(s), 22 queries .

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

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