|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令WaitDI-ABB机器人标准指令编程
% {* P$ D3 A! F9 G, S% J; [WaitDI Signal, Value
; |1 f2 E6 i, e1 A& |. J[\MaxTime][\TimeFlag];+ y; f: Y, h' i5 l
Signal: 输入信号名称。 ( signaldi ) ! b2 o C- t: x' m9 s; P* m+ i/ _
Value: 输入信号值。 ( dionum )
% [: E% W: R0 l! E7 o. w* { E[\MaxTime]: 最长等待时间 s。( num )
* G" n I& S& \' S" t3 E[\TimeFlag]: 超时逻辑量。 ( bool ): H! B& G; k; L/ F0 O/ G2 e
( L* I4 ?. H$ ], _ e& J% U$ r2 ]9 I
应用:
. |4 q) s" E7 H9 V3 {1 O 等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。& V H; J0 k. i6 \: o7 g" d
9 C, H, v3 V% r2 o9 P: Y' \1 N) a
实例:
) U* B( E1 n! R' K5 `% t) B* Y PROC PickPart()
1 ^( \2 h! `" N% n' s5 x MoveJ pPrePick,vFastEmpty,zBig,tool1;
; a& D \" o2 F6 S4 Q; I WaitDI di_Ready,1; →ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。: t+ k: W+ W9 p9 p7 e2 f
…
- n: C+ z; S% x) q) g X# O ENDPROC, R' r+ J# }( X) ~& S
1 q5 N+ O+ E) a- H& QPROC PickPart()
: `( ~0 \/ v# b; N MoveJ pPrePick,vFastEmpty,zBig,tool1;
t: D/ @, \' { WaitDI di_Ready,1\MaxTime:=5; →ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
3 P2 u" |( N# f% a …
6 `( r# w7 U% f+ B ERROR& n0 C# b0 {( a& w$ \/ B
IF ERRNO=ERR_WAIT_MAXTIME THEN% E1 r( p7 y& b' W- ?
TPWrite “……”;7 H5 n4 s# q+ d6 j- i: B
RETRY;6 k- s4 d5 d5 E2 y( D
ELSE
* E# l" G3 }. } o/ U. D H) C RAISE;% K" P) s& G- M" }' y2 s5 a
ENDIF
- v. y( w0 R& K0 A# O$ G ENDPROC0 [( n( b+ o1 s! W; y7 s9 K
! Q* j# _. C9 W. R7 {: D实例:6 @9 r1 Y0 {9 `( K: j% V5 B+ L
PROC PickPart()
+ t5 E5 o' z4 m% m MoveJ pPrePick,vFastEmpty,zBig,tool1;( N2 O6 b7 C) L. z( e V$ [ N
bTimeout:=TRUE;0 v2 B2 @% A3 z' R+ G Q
nCounter:=0;
/ B7 m2 ]3 w* O" W8 |2 i. g WHILE bTimeout DO
0 g8 n" e) H, P: ] IF nCounter>3 THEN0 b+ D1 ]0 y. B [6 ?
TPWrite “……”;6 P: r3 a8 ^. s. p: P: h
ENDIF! w+ b" W' I9 A- `. ~* V4 Q
IF nCounter>30 THEN( i1 f- Y0 a {" j; z0 _" G( C
Stop;
! Z8 M: ]6 M$ W! L& b0 S( l ENDIF
* e- S* a. u0 q4 a WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;→ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。
4 M; l/ A# w2 J& v* u Incr nCounter; ) @4 K$ U% Z0 T
ENDWHILE" ~6 i3 c8 `6 |1 Z, Q1 F
…' p; H( Y8 a6 c3 J
ENDPROC
! O- D. P# p1 F- x( I! g' s, T8 F! N |
|