机器人教程网

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

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

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

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

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

x
输入输出指令WaitDI-ABB机器人标准指令编程5 ^$ ?4 K8 x) [6 r$ ^
WaitDI Signal, Value / {2 `3 l. v! M
[\MaxTime][\TimeFlag];7 `. o% T% \4 x! d4 Y: G
Signal:                输入信号名称。   ( signaldi )
' Z; m6 e' w# I/ v2 D4 f* dValue:                输入信号值。           ( dionum )
( M- V9 n# a$ X" g+ B[\MaxTime]:        最长等待时间 s。( num ) + t% b9 I1 j* {5 g% z% W2 `
[\TimeFlag]:        超时逻辑量。           ( bool )
  x4 y  q' a" z2 {5 J7 o
# I$ s7 ~* _+ Y% ~
# @* ~" Q& H- `, n. M6 {! a
应用:, K: i/ {2 c8 Q$ ], l& J
        等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。
6 z: N6 K9 G8 g) K- L/ l/ }5 i. s1 z3 h, x. n& L! ]/ m& Q+ L
实例:3 ~8 p, v7 C0 @  W9 h  f, j  i" C+ ~
        PROC PickPart()
6 ]- \3 [! e# y; i  q          MoveJ pPrePick,vFastEmpty,zBig,tool1;# o8 f1 B( x& F# P0 \
          WaitDI di_Ready,1;  ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。, ^0 a: X6 V% v( K- ^* L
          …: g4 P+ b- _7 B0 A
        ENDPROC
. K" g/ r3 {, N  Z( m" X4 X# ?
5 s0 I/ K' n* ]& _$ R! M" Q6 F0 jPROC PickPart()
( T2 C% [7 Z' j: C) g6 ?8 v          MoveJ pPrePick,vFastEmpty,zBig,tool1;) v9 |9 Y( z- @' V8 ]! N% L. N3 d
          WaitDI di_Ready,1\MaxTime:=5; ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
4 a5 F; W1 U( M! g4 Y          …2 g3 G; [% Z/ g9 y
        ERROR; E# d2 G; z* `; X  N2 l' g6 x
          IF ERRNO=ERR_WAIT_MAXTIME THEN9 R2 n# v9 u# U# F# e' x9 [! m
            TPWrite “……”;  T* |: G. j0 u
            RETRY;
3 m5 i7 d9 A% ]2 H* n( i3 v$ Q0 h, q          ELSE
. D+ k6 h# `7 `* Z- O- V/ ?/ J0 a            RAISE;
% [2 N+ `7 Z) Z0 M, G) ~' ?  e5 i          ENDIF1 _% }. v  N* G
        ENDPROC& ~% w0 n' ^4 _: `

; F. @4 u; r1 {" I) R  N5 d: K0 G5 r实例:
$ \/ a# A! N6 e% s        PROC PickPart()
! F) p( l' ^. B4 c" S# r! F          MoveJ pPrePick,vFastEmpty,zBig,tool1;0 Z6 [2 L1 Z- D3 e+ M5 O7 l
          bTimeout:=TRUE;$ z" f* u& l' B% a2 B/ w
          nCounter:=0;
, t! D8 @* p$ O3 ~          WHILE bTimeout DO3 B! o% ]$ K2 B, ~
            IF nCounter>3 THEN
" O; m3 c& T, r- C4 ~8 a" \% B' y              TPWrite “……”;
1 C& o. R! X! v2 H            ENDIF
# a! K/ g: v  Z5 J            IF nCounter>30 THEN: |. @" \  [, }2 o
              Stop;
3 i6 h6 ?3 h) O2 ^0 t7 `5 r* A            ENDIF
" m, ]: t" s% X& C6 ~9 V+ z            WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。7 s, t+ ]  ^$ d; x) N
            Incr nCounter;         
9 I/ j/ c2 J" A1 q$ K+ k1 X7 @          ENDWHILE% I( @2 P+ F; x6 q0 U# ^- L6 _
          …; A) w- E2 \  L! o8 ^2 `9 s5 p
        ENDPROC% a9 o, i( F+ J' U6 S
回复

使用道具 举报

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

GMT+8, 2024-11-25 08:17 , Processed in 0.065146 second(s), 21 queries .

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

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