注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令-IODisable-ABB机器人标准指令编程+ @8 H1 f; H+ R4 `
IODisable UnitName, MaxTime; UnitName: 输入输出板名称。( num ) , q% {& Y+ `7 {. L. \9 M7 D
MaxTime: 最长等待时间。 ( num )
, {# h3 l W7 x8 O, H$ E
. A. H. V F* {7 w% c
8 T1 A" S+ S& A$ B8 n应用:
4 H O" Y; ]& q2 R* a 通过指令可以使机器人输入输出板在程序运行时自动失效,系统将一块输入输出板失效需要 2-5 秒。如果失效时间超过最长等待时间,系统将进入 Error Handler 处理,错误代码为 ERR_IODISABLE,如果例行程序没有 Error Handler 机器人将停机报错。
4 Q' Y6 x/ L: ~! B2 S' V, l3 y! V. a. T) V4 ?! |
实例:8 E( g5 b+ J7 v1 H
PROC go_home()
* A; D! \1 s$ m4 q+ u W N$ L recover_flag:=1;2 d! \1 U, V9 F
IODisable “cell1”,0; 【输入输出板 cell1 开始失效,最长等待时间为 0,肯定进入 Error Handler 处理。】. ]: U7 `4 d) n& Y
MoveJ home,v1000,fine,tool1;
5 P# |- Y6 d, f: g- ?- ]0 \: h" s recover_flag:=2; 【利用机器人移动至 home 的时间完成输入输出板失效。】! [* B: X% U/ C% v. I
IODisable “cell1”,5; 【确认输入输出板 cell1 失效。】+ V+ l4 ^2 ?# l, G, J2 `% P
ERROR
/ _' u: V( k- \( `3 ~9 L IF ERRNO=ERR_IODISABLE THEN+ x" M1 D. G/ M$ a
IF recover_flag=1 THEN
3 q8 e9 p8 h! ^& ^ TRYNEXT;
/ \4 x7 y: A3 K) a% w |6 h ELSEIF recover_flag=2 THEN+ u4 B" L! f7 E3 s# o
RETRY;& e5 @* o6 [- A% Q
ENDIF$ }: u& s6 |- o% v( Q; \: M
ELSEIF ERRNO=ERR_EXCRTYMAX THEN 【连续 5 次 RETRY,仍无法完成输入输出板失效。】
0 E# b. X* {8 Q* }4 y& c' N' { ErrWrite “IODisable error”,“Restart the program”;
, V/ z2 d& l8 f9 {0 I0 g4 |: b8 J Stop;9 z) m; e3 s: Q. A
ENDIF
# u, Q* S. D* u1 d- d ENDPROC& h' Z1 A; ~0 @2 D3 `7 z
2 a, b8 @/ W9 \9 [4 U' Q" HError Handling:7 a. x: a; r" a. ?- q
- ERR_IODISABLE
; r7 P6 w, M& m: D# U6 v 超过最长等待时间,系统仍未完成输入输出板失效。7 e/ P+ X2 }9 a; f- }
- ERR_CALLIO_INTER
3 x3 x. Y* M: p% P4 o) H$ f1 k, [ 系统在执行输入输出板失效与激活时,当前输入输出板再次被失效或激活,形成冲突。( d* h9 {* l5 e
- ERR_NAME_INVALID
. V3 D0 P( S/ x# |) L+ G: I4 n 输入输出板名称错误或无法进行失效与激活操作。
1 r! N$ g3 o. x: A$ I" a* E* q6 ?! g2 x3 j y; `9 s' O
$ X+ {' @( o/ q+ o |