注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令-IODisable-ABB机器人标准指令编程7 Z+ x3 B, ]/ A
IODisable UnitName, MaxTime; UnitName: 输入输出板名称。( num ) - \1 R1 S ^& s$ b
MaxTime: 最长等待时间。 ( num )2 g3 v/ X) h% a. O7 q" _% |
1 ?, K$ `% O4 a& g8 n+ A3 y
2 y' X: @6 {: Z9 @/ p6 Q( C
应用:
+ C8 a0 j# {# w5 ]6 b 通过指令可以使机器人输入输出板在程序运行时自动失效,系统将一块输入输出板失效需要 2-5 秒。如果失效时间超过最长等待时间,系统将进入 Error Handler 处理,错误代码为 ERR_IODISABLE,如果例行程序没有 Error Handler 机器人将停机报错。" T. u, A& _3 x% O
' e$ z5 U2 p8 B8 x( h: S
实例:8 g5 W, O$ C4 n* O0 |: ^
PROC go_home()
: e7 e4 K. f5 O" x( ] }/ ` recover_flag:=1;2 f, l( W& \9 A& V
IODisable “cell1”,0; 【输入输出板 cell1 开始失效,最长等待时间为 0,肯定进入 Error Handler 处理。】
4 Y/ r1 d$ P5 \% d2 P1 V. A MoveJ home,v1000,fine,tool1;
/ Y+ O4 l7 J. L% }7 D# K" y recover_flag:=2; 【利用机器人移动至 home 的时间完成输入输出板失效。】- A) ~# H" x. y* |
IODisable “cell1”,5; 【确认输入输出板 cell1 失效。】, o/ {: I! u. \
ERROR
7 V9 d% Y/ {- X( Q7 j1 O' W% m IF ERRNO=ERR_IODISABLE THEN1 V/ a/ b' N7 E f! x7 }" ]5 h
IF recover_flag=1 THEN
: E' F+ d5 K8 ~: M1 J0 z* g TRYNEXT;
W3 d% k- I0 N" Q ELSEIF recover_flag=2 THEN8 E) u6 f' }. Z; j# \
RETRY;
# ]$ ~+ ], x7 d ENDIF
1 R$ B" F4 p' o5 I. a: G# h ELSEIF ERRNO=ERR_EXCRTYMAX THEN 【连续 5 次 RETRY,仍无法完成输入输出板失效。】
0 V% @& z# s) |7 T. Z1 Q: C ErrWrite “IODisable error”,“Restart the program”;% O6 Y2 {6 S( c* K
Stop;
/ }* d: I) d$ {* `. }2 P( h7 [1 g% B f ENDIF
% |) W# w" ^& N9 e; q3 U ENDPROC7 X0 w& Q2 o( m+ c$ V
. S& p. S8 [ c/ w4 L/ E' TError Handling:
7 h2 `( z, t* y; \- ERR_IODISABLE8 V- N; v0 ^, H& P/ d
超过最长等待时间,系统仍未完成输入输出板失效。; t; c( I, i* U: {) S& A/ k& M
- ERR_CALLIO_INTER
, q& l9 \- e+ r; a8 W 系统在执行输入输出板失效与激活时,当前输入输出板再次被失效或激活,形成冲突。
: F [) o' o3 e$ F3 g u- ERR_NAME_INVALID
' k5 w: N$ V4 o& w5 e6 O 输入输出板名称错误或无法进行失效与激活操作。
8 x, U+ N8 w1 \9 x# D4 f5 ?7 B" E6 N' C7 K" o; \7 u2 v
( b i! ], g( d% }3 v$ P/ o' E& w |