注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令-IODisable-ABB机器人标准指令编程7 {/ N9 s2 f: l2 r$ l
IODisable UnitName, MaxTime; UnitName: 输入输出板名称。( num ) " q/ U! d- i; X
MaxTime: 最长等待时间。 ( num )7 [: }! q, }) I1 J! c& @
! T t6 p l" O2 B/ P6 A* ^& q
/ F! \ c! d/ Y应用:# J* P2 ]& q0 _. s6 q; O
通过指令可以使机器人输入输出板在程序运行时自动失效,系统将一块输入输出板失效需要 2-5 秒。如果失效时间超过最长等待时间,系统将进入 Error Handler 处理,错误代码为 ERR_IODISABLE,如果例行程序没有 Error Handler 机器人将停机报错。; ^8 H7 H$ N) y- T/ q
" X- T- z4 q `, }+ _5 N- f* g
实例:
a4 y) o2 g% L8 A, i- `& X PROC go_home()/ t6 B) B; c# K a Z! F% y/ W
recover_flag:=1;
$ [) @; e7 w1 f9 ]8 f, F3 O IODisable “cell1”,0; 【输入输出板 cell1 开始失效,最长等待时间为 0,肯定进入 Error Handler 处理。】3 [) E7 M, l9 E
MoveJ home,v1000,fine,tool1;
+ D2 R8 W. C& s& D" V# i2 I recover_flag:=2; 【利用机器人移动至 home 的时间完成输入输出板失效。】
. x% x( K$ f8 L: y IODisable “cell1”,5; 【确认输入输出板 cell1 失效。】
5 ~- {( C, P# L, f9 w: b) K8 b ERROR
- Q+ M" [. Y( d7 N4 X+ h8 L IF ERRNO=ERR_IODISABLE THEN* ~0 @* f# c. l3 ?+ k8 y/ `
IF recover_flag=1 THEN
' h$ U# m! P$ _ TRYNEXT;
: r2 c2 r$ `* e4 p* I. h ELSEIF recover_flag=2 THEN3 @: f5 M0 t E5 A' @
RETRY;
0 A8 K4 ^ z/ n ENDIF
- d6 i$ @5 ]; t# H ELSEIF ERRNO=ERR_EXCRTYMAX THEN 【连续 5 次 RETRY,仍无法完成输入输出板失效。】% Z: n8 N1 M3 `" ]/ W# k
ErrWrite “IODisable error”,“Restart the program”;
) X' E9 W4 J0 H; a2 z/ q Stop;! V. P: [! V5 e e: q
ENDIF
/ c. n! Z9 X2 l* m4 ]9 p2 T) G ENDPROC+ j( P4 J' ~* d8 G" N7 J) h' v
7 c" F$ l2 B2 r, a
Error Handling:6 C1 B$ w% X6 T5 C) ~7 R& D( l5 c5 J3 I8 C
- ERR_IODISABLE
2 v" P% Y5 V0 g/ }1 v* N0 J' \/ J+ o 超过最长等待时间,系统仍未完成输入输出板失效。/ d; P; N! e+ E
- ERR_CALLIO_INTER
/ @2 }- g2 u7 _8 _6 w 系统在执行输入输出板失效与激活时,当前输入输出板再次被失效或激活,形成冲突。# D( i4 F8 n! ?
- ERR_NAME_INVALID
) W$ ^2 b% ^: s3 Q& F: H. G+ p( Y 输入输出板名称错误或无法进行失效与激活操作。
3 ^& Y( q9 e! p+ V; j# ]: D
& u9 ~0 p5 U5 o: ~2 ?
, J0 T) T7 g7 P. t |