机器人教程网
标题:
输入输出指令WaitDI-ABB机器人标准指令编程
[打印本页]
作者:
我是机器人
时间:
2019-9-2 11:35
标题:
输入输出指令WaitDI-ABB机器人标准指令编程
输入输出指令WaitDI-ABB机器人标准指令编程
/ C# ?( D7 N, T/ p4 n* `! \, Z
WaitDI
Signal
,
Value
3 s9 ^+ }3 N; I4 S: W% L& D1 x, M
[\MaxTime][\TimeFlag]
;
2 V3 n" m: B2 n% j
Signal:
输入信号名称。
( 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* z
8 ^- 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
ELSE
2 {/ X/ F7 [: ~' B. G) M1 \+ D
RAISE;
. V+ [0 N; N4 a9 J
ENDIF
2 M8 b, R+ ~( J1 K# q: a1 F
ENDPROC
9 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
ENDIF
3 c h' u5 E4 J! p$ E8 H4 N: ]
IF nCounter>30 THEN
2 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