注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令-IODisable-ABB机器人标准指令编程$ Z4 D' E( o! d& L' H: t
IODisable UnitName, MaxTime; UnitName: 输入输出板名称。( num ) ! X. V. \; T% S, ]! F- ?
MaxTime: 最长等待时间。 ( num ). U* z: C# B! {0 O+ l; r* v
8 z7 \ a, `+ e( }$ b( I/ i: k4 u, l
" V5 \- t, y8 N1 k2 z应用:
9 j( `- c5 h+ W w2 v6 s 通过指令可以使机器人输入输出板在程序运行时自动失效,系统将一块输入输出板失效需要 2-5 秒。如果失效时间超过最长等待时间,系统将进入 Error Handler 处理,错误代码为 ERR_IODISABLE,如果例行程序没有 Error Handler 机器人将停机报错。0 Q( \+ B) \) J7 w3 Y. f
2 n( E* s( P& ^4 A
实例:2 h6 {$ u' m8 w! a0 ]( a9 @
PROC go_home()
9 t/ D* ^; q- ]* m recover_flag:=1;
' F* Q9 `' S7 Q8 [! N IODisable “cell1”,0; 【输入输出板 cell1 开始失效,最长等待时间为 0,肯定进入 Error Handler 处理。】
- g" Z# T7 y5 E& ^1 T0 l- j MoveJ home,v1000,fine,tool1;
" a( J }' z+ j7 S7 {7 H recover_flag:=2; 【利用机器人移动至 home 的时间完成输入输出板失效。】
U3 ?% V% \2 @ E IODisable “cell1”,5; 【确认输入输出板 cell1 失效。】* w- N2 p# J/ L* {0 C
ERROR
5 h" [0 v: x c IF ERRNO=ERR_IODISABLE THEN
" P6 _& F3 I, e/ Y# z" e& f+ T: Z W IF recover_flag=1 THEN! V3 \: k( M1 n8 j
TRYNEXT;
* [6 ^. Q% M5 i$ V; O5 ^ ELSEIF recover_flag=2 THEN. K* J( X# h7 n6 s
RETRY;+ v; ]4 m% p; o% C5 s) |
ENDIF* c8 |/ }5 W- V/ C, q o+ D
ELSEIF ERRNO=ERR_EXCRTYMAX THEN 【连续 5 次 RETRY,仍无法完成输入输出板失效。】
5 c$ r, Y( c' ~& \ ErrWrite “IODisable error”,“Restart the program”;7 ?7 ?" {, \) Z4 O8 S* g8 Y
Stop;
& H9 v M# Z3 n* q9 Q3 _ p ENDIF. G$ J( `% r5 s3 w _0 V$ e
ENDPROC4 J; F: U% E- y0 h$ [! H/ T- Q2 e
9 T4 @0 ?+ g. iError Handling:( E# {: i4 G! D" C% w
- ERR_IODISABLE
* h; C1 G3 R9 [8 |2 } 超过最长等待时间,系统仍未完成输入输出板失效。
% \9 K0 F2 o9 F! h( Q- ERR_CALLIO_INTER/ \. M% [7 d: t" j) o
系统在执行输入输出板失效与激活时,当前输入输出板再次被失效或激活,形成冲突。
! \/ z1 z f* s' {" A/ G5 h- Y- ERR_NAME_INVALID( C6 U. p( _# I7 @% F6 l2 H2 F% c
输入输出板名称错误或无法进行失效与激活操作。7 j0 v7 Y5 P& ^- h: ?" z: x, l' [
6 w* I- }6 o6 t; _$ l# a
3 o/ a8 L7 ]8 C2 w |