机器人教程网
标题:
输入输出指令WaitDI-ABB机器人标准指令编程
[打印本页]
作者:
我是机器人
时间:
2019-9-2 11:35
标题:
输入输出指令WaitDI-ABB机器人标准指令编程
输入输出指令WaitDI-ABB机器人标准指令编程
$ S! i% j1 x6 ^* {
WaitDI
Signal
,
Value
( N3 f$ O( B- T; ~1 t5 ]1 r' V
[\MaxTime][\TimeFlag]
;
. W1 C( R- f7 l( ?$ G+ O- p% B, G
Signal:
输入信号名称。
( signaldi )
. c5 E8 Q2 }1 o. J' ?! v6 ?
Value:
输入信号值。
( dionum )
; Q$ ?, Q" `0 h$ p3 |
[\MaxTime]:
最长等待时间 s。
( num )
0 a p/ ?0 K4 n1 }+ V @3 j
[\TimeFlag]:
超时逻辑量。
( bool )
% T/ f+ q, F2 o6 E; r1 q4 {
0 y1 a' S7 @, y
9 Z2 d* J' d" K% S( a
应用:
+ K& e2 u4 n2 ?5 O! n5 T
等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。
0 N; W/ z/ }7 ^. Z; X; H5 u
% T2 b% I# C6 v
实例:
# t# u. E6 I; J
PROC PickPart()
/ x9 A1 _. G m, G& x( p
MoveJ pPrePick,vFastEmpty,zBig,tool1;
, ~, ]* S; g5 [" G
WaitDI di_Ready,1;
→
ABB
机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
2 g* x# _! T) T! ~* b1 X+ K
…
) I. h5 ]5 Z1 m; S( v8 R
ENDPROC
) }8 h5 i. Z. e# `
* R" s* W& y) O! ?1 D4 J
PROC PickPart()
6 K! o3 G) R5 q" q4 E! _/ T. P
MoveJ pPrePick,vFastEmpty,zBig,tool1;
3 Y, y" F5 B) I4 M0 X) F# | ]
WaitDI di_Ready,1\MaxTime:=5;
→
ABB
机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
- k t. B& j) v
…
: A6 z: {( m% k$ s! r
ERROR
c: S# k; E E
IF ERRNO=ERR_WAIT_MAXTIME THEN
. ]; [, v3 d. I7 \2 t4 S! G
TPWrite “……”;
0 C4 O0 T# I1 d4 _; [ R; d4 ]% h/ F
RETRY;
) a# {2 Y- K8 q- ^
ELSE
6 G' n2 ]: s9 |8 {
RAISE;
/ }1 v2 @. J2 O1 q k& @1 k
ENDIF
! r8 z. e8 P. u4 W* w2 W3 Y
ENDPROC
, v! c6 t8 A1 m: v
$ S3 e( Q8 [9 e5 D2 E
实例:
* v ], b! J% N) `+ ], v
PROC PickPart()
( |8 ~2 H# |4 @- E* E
MoveJ pPrePick,vFastEmpty,zBig,tool1;
?) v3 Z0 r1 n( h
bTimeout:=TRUE;
* M1 J; W# I& }, f8 @
nCounter:=0;
/ g7 J, [+ u+ n1 m, v$ H4 t
WHILE bTimeout DO
! u, `7 Y$ v0 n. k* l' K
IF nCounter>3 THEN
/ _4 S- c. ]" }4 B' z& l; V0 u
TPWrite “……”;
7 F) ^9 B9 r( { h
ENDIF
, K' m6 t6 `. V3 Y: ~$ L" U
IF nCounter>30 THEN
: K- W( b: C6 N" v+ N! z* p. j
Stop;
2 B4 r, E c3 ]6 ~1 F
ENDIF
3 K! k& k- g) o2 r0 ?
WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;
→
ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。
. i$ G( `9 B) J" [4 U4 m
Incr nCounter;
- F7 d) I( Z; t: H* g g
ENDWHILE
9 Q+ ^, c* _; f4 t$ D
…
1 ^1 u) Y6 r9 H
ENDPROC
8 m( V) {! P3 S' }+ o
欢迎光临 机器人教程网 (http://robotjc.com/)
Powered by Discuz! X3.2