|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令WaitDI-ABB机器人标准指令编程
1 x% h2 G+ ]5 A( G3 R- X: s. E* aWaitDI Signal, Value K. W$ v4 v2 ~. Z1 ]7 Z
[\MaxTime][\TimeFlag];
, ?" g+ p- C- c4 i/ aSignal: 输入信号名称。 ( signaldi )
/ z, p* t- F( D3 y1 pValue: 输入信号值。 ( dionum )
! t8 o! H7 y" X[\MaxTime]: 最长等待时间 s。( num )
5 }- e. W6 ^, K[\TimeFlag]: 超时逻辑量。 ( bool )
" k: H. s) L' O S; L
4 ]/ E* b0 V+ W w! ~2 Y 1 f9 u/ n; J% w, ~% ]1 i
应用:
8 h* D/ H8 v' v/ v3 C' z6 i5 | 等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:ABB机器人等待工件到位信号。( @% v3 o" h7 O' O" I& s; o9 z6 O
; G9 ~8 e+ ~& `, l( n' s& N" p
实例:( k# G; X2 W S% V) q5 q: \( [
PROC PickPart(): r& W6 M4 l, m$ K, s* S
MoveJ pPrePick,vFastEmpty,zBig,tool1;9 v! W- a7 h( h3 E8 A" ]/ ]
WaitDI di_Ready,1; →ABB机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
! r, ^- q: E0 D8 x …0 b4 k( L4 y6 B( `) l# S. {
ENDPROC9 P K% H% ?; E6 r8 N
, y" c/ l% ?9 H& m! wPROC PickPart()$ B6 n/ {7 S4 l9 m( y
MoveJ pPrePick,vFastEmpty,zBig,tool1;
. e2 }/ V& h3 I. K WaitDI di_Ready,1\MaxTime:=5; →ABB机器人等待相应输入信号,如果 5 秒内仍没有等到信号 di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
1 f8 S* i8 w4 h+ H4 T! C! F …& G6 d* b2 i+ S! L
ERROR
. g# p6 y! W) d+ @# w( Y5 B IF ERRNO=ERR_WAIT_MAXTIME THEN
; W( r+ z7 R# W6 ^0 J$ m* H TPWrite “……”;( W: p, f+ l1 B4 a1 _6 F( R
RETRY;+ t" E" d: @2 w: N m' n2 U
ELSE0 o+ Z9 F4 ~3 y1 m1 O$ W
RAISE;# E$ A$ W- p+ k+ P6 I
ENDIF' P$ s# |. `% M$ ~3 D6 L; S
ENDPROC
) J; t0 l y' Z) O( l7 N0 n& J- A; \- L6 t( p+ r* W, K$ q( y
实例:
/ Q1 l6 q7 `; `6 E PROC PickPart()
8 B c3 M7 w' c$ v" ]2 ^, p* } MoveJ pPrePick,vFastEmpty,zBig,tool1;. R+ o9 t* _; p# c* |
bTimeout:=TRUE;
& l& ^/ R# i& i3 m4 q o nCounter:=0;
& i3 l, [, V% X ?2 ~" { WHILE bTimeout DO
' ~ w, K' b, T4 ?% m0 |& T IF nCounter>3 THEN
- L; O4 y' `9 f; N0 e7 d TPWrite “……”;
* z8 X [0 x# Z0 H0 Q5 F1 j2 K' \ ENDIF3 L* {* q8 q5 J( l$ o$ F* |! t" d0 D* }
IF nCounter>30 THEN
1 q; [3 x7 V; J0 K2 P- Y Stop;
8 t, K1 C$ a4 J2 u ENDIF
/ i. m0 \- M& k9 V WaitDI di_Ready,1\MaxTime:=1\TimeFlag:=bTimeout;→ABB机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。
5 _4 a6 W2 W8 h( |/ A Incr nCounter; ( M% E$ t2 l4 D9 e
ENDWHILE M9 _* ~2 ?! b& U3 u3 G8 y8 [2 Y0 H0 ~
…# f: j/ n# K2 t
ENDPROC" g* a' L+ F! a+ Z I8 T
|
|