注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令-IODisable-ABB机器人标准指令编程
# J& B4 v! U* X* E% U$ l3 uIODisable UnitName, MaxTime; UnitName: 输入输出板名称。( num )
8 y, n) A$ ]% |* s* ~2 z4 SMaxTime: 最长等待时间。 ( num ): V* u5 m% ~4 }# Z; c
. o1 E2 R0 |2 X3 c
) W5 C& I4 P1 g) n6 G8 P应用:
! X' C/ z. Q, B* n0 T% ]' J) e @ 通过指令可以使机器人输入输出板在程序运行时自动失效,系统将一块输入输出板失效需要 2-5 秒。如果失效时间超过最长等待时间,系统将进入 Error Handler 处理,错误代码为 ERR_IODISABLE,如果例行程序没有 Error Handler 机器人将停机报错。
! o7 F! G- D3 P9 A8 z# K; x% z2 {- B' T B: d( r2 {. M" b5 K) y
实例:% ]- R i5 v0 d1 }2 A* z2 H
PROC go_home()
# P1 z) R, Q$ f/ N recover_flag:=1;0 w- M4 z/ f# E! M3 b
IODisable “cell1”,0; 【输入输出板 cell1 开始失效,最长等待时间为 0,肯定进入 Error Handler 处理。】
8 V9 w& c6 n! S( x/ o: U MoveJ home,v1000,fine,tool1;
$ {; n7 @& P4 Q- P9 o# { recover_flag:=2; 【利用机器人移动至 home 的时间完成输入输出板失效。】
9 d1 u5 B. f9 S0 |8 K IODisable “cell1”,5; 【确认输入输出板 cell1 失效。】
9 s$ o) u% [ ^; I \+ V6 \ ERROR
7 \; \$ ]: T5 w0 n( ] IF ERRNO=ERR_IODISABLE THEN
& T3 B; ]# d, O9 c IF recover_flag=1 THEN: }5 j2 L. W6 R
TRYNEXT;
$ L1 ^ C$ Y" `; o* P3 a" r- M ELSEIF recover_flag=2 THEN5 z; _: I3 v& l* Y2 L; a) O
RETRY;$ O8 e3 G7 `! }
ENDIF
* G9 d7 g. t! P u ELSEIF ERRNO=ERR_EXCRTYMAX THEN 【连续 5 次 RETRY,仍无法完成输入输出板失效。】
0 D+ Z9 A* V' f, S ErrWrite “IODisable error”,“Restart the program”;
3 r( p3 U$ i7 w- h% V# j0 m4 W Stop;
( A4 D" M" f& ~# V' i/ v6 F ENDIF
; M( ~ W& b7 o$ V* c ENDPROC
( O U+ r6 ^, \; `8 _' K" b! \
& Q6 \) `4 i$ ^+ x( B& z7 }0 M2 `7 M+ oError Handling:
( X$ \% V1 M, w S( \/ S2 b5 e& g. ^- ERR_IODISABLE
6 M5 W3 z, K, U% c" } 超过最长等待时间,系统仍未完成输入输出板失效。
) y8 v! h& @) o8 v( E3 w. S! m- ERR_CALLIO_INTER% ^" y; L+ Q$ t& i
系统在执行输入输出板失效与激活时,当前输入输出板再次被失效或激活,形成冲突。, i5 p) S2 }4 t
- ERR_NAME_INVALID# L. g P( _! u* B
输入输出板名称错误或无法进行失效与激活操作。$ }( c7 @' n ~4 [
8 H' M( Y7 K% u& \7 k: c8 j- }) a9 C
" Q3 B6 \. ~4 W |