机器人教程网

标题: 输入输出指令WaitDI-ABB机器人标准指令编程 [打印本页]

作者: 我是机器人    时间: 2019-9-2 11:35
标题: 输入输出指令WaitDI-ABB机器人标准指令编程
输入输出指令WaitDI-ABB机器人标准指令编程
/ C# ?( D7 N, T/ p4 n* `! \, ZWaitDI Signal, Value 3 s9 ^+ }3 N; I4 S: W% L& D1 x, M
[\MaxTime][\TimeFlag];
2 V3 n" m: B2 n% jSignal:                输入信号名称。   ( signaldi ) ; L& r8 E5 b2 L1 O2 u7 a8 G
Value:                输入信号值。           ( dionum ) 8 x3 D8 Z0 z1 \" b& z
[\MaxTime]:        最长等待时间 s。( num ) & N9 J0 }, }1 S! N+ o  f  I
[\TimeFlag]:        超时逻辑量。           ( bool )6 r; t/ S7 w( t8 H1 J4 ~

, o" h6 K5 d- P0 U
' a4 s  S7 C( t) {
应用:9 t1 H, [- b0 a! a2 R1 t
        等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。
; N$ P- L+ z. i- I* z8 ^- w, W3 ], Q5 J" d. F8 Z, H/ z
实例:
1 B6 ~" m* l% |7 u        PROC PickPart()
: h3 |' x) \9 Q          MoveJ pPrePick,vFastEmpty,zBig,tool1;
! w/ {; ]5 n& y' @          WaitDI di_Ready,1;  ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。% R) x6 x5 T: B+ h- w+ R. O. F
          …7 _$ ~  I6 l8 h* i
        ENDPROC- u& \* ~" y/ T2 h/ F8 y
+ i% F# {0 ~5 C+ D$ [) ~% A
PROC PickPart()
" V9 _+ D+ W# z/ k+ F$ x          MoveJ pPrePick,vFastEmpty,zBig,tool1;0 e8 w1 j7 g$ S, |1 `- u
          WaitDI di_Ready,1\MaxTime:=5; ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
. n7 \" v7 z  u          …
5 G- h2 X  p% n; w. |# B        ERROR
: h0 ^/ f# d" _& @1 h          IF ERRNO=ERR_WAIT_MAXTIME THEN
6 |' ]) }8 R9 `            TPWrite “……”;2 i, ?$ G% x. Z- {
            RETRY;) c; F4 i( c# [0 p, f
          ELSE2 {/ X/ F7 [: ~' B. G) M1 \+ D
            RAISE;
. V+ [0 N; N4 a9 J          ENDIF2 M8 b, R+ ~( J1 K# q: a1 F
        ENDPROC9 Y$ a5 g) R$ q3 h' V# q

% C+ k  J9 {% z, [实例:
' i& q- d! `2 z6 V        PROC PickPart(): f, v1 B3 A) I8 h8 s. f- Q
          MoveJ pPrePick,vFastEmpty,zBig,tool1;
# ]" D/ r& ^; c% ]9 A4 N6 G          bTimeout:=TRUE;
1 ~% h  r8 W5 o5 O7 u          nCounter:=0;
; |" ?# I5 j( F" e/ Z, b& G          WHILE bTimeout DO/ j+ n: e5 V. _, x+ d8 e9 S
            IF nCounter>3 THEN) j7 I+ J& O! f! x- K$ x
              TPWrite “……”;
3 o' c# m/ K) C            ENDIF3 c  h' u5 E4 J! p$ E8 H4 N: ]
            IF nCounter>30 THEN2 M& O4 x- T) A0 L1 B. Z" f
              Stop;
; f# f0 s9 Q  D/ G8 e+ B8 q            ENDIF/ S6 M% ?2 ^, }4 v# @* ^
            WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。
# l/ S6 c. Q. K: y            Incr nCounter;          % Y% ?9 {6 G+ ^7 W6 S& H
          ENDWHILE% Z7 L, e* ]* a- Q
          …* D# }4 v/ l+ Q& m; H, K
        ENDPROC
3 |. B) ^! S# t/ h& F( }  c& A' x




欢迎光临 机器人教程网 (http://www.robotjc.com/) Powered by Discuz! X3.2