注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令-IODisable-ABB机器人标准指令编程
* Q/ M+ x1 t7 x& s3 OIODisable UnitName, MaxTime; UnitName: 输入输出板名称。( num )
( {3 M7 W: f& SMaxTime: 最长等待时间。 ( num )
" {2 i# B1 p/ n) V( j' M% i& g5 ~) h+ \
7 C' _' g+ ^, k
应用:& w( t/ l. C4 O6 @% a
通过指令可以使机器人输入输出板在程序运行时自动失效,系统将一块输入输出板失效需要 2-5 秒。如果失效时间超过最长等待时间,系统将进入 Error Handler 处理,错误代码为 ERR_IODISABLE,如果例行程序没有 Error Handler 机器人将停机报错。( @/ M$ R# z7 Q9 A+ k7 `; w
' g7 t8 X6 q+ O6 D {0 E) a
实例:
3 T6 M U" c1 t# {/ S$ S8 G1 @- b4 P PROC go_home()7 D5 W% G; j- h2 |8 [$ ]: O3 w
recover_flag:=1;$ i( y& f& P" l$ g, K) }5 R
IODisable “cell1”,0; 【输入输出板 cell1 开始失效,最长等待时间为 0,肯定进入 Error Handler 处理。】
( K' `, M$ ~- j$ q, P MoveJ home,v1000,fine,tool1;: }5 Q* D5 A" `
recover_flag:=2; 【利用机器人移动至 home 的时间完成输入输出板失效。】! S/ v5 \, u4 W2 W4 \
IODisable “cell1”,5; 【确认输入输出板 cell1 失效。】
( w4 l. y0 r* t ERROR7 E9 ]: I7 o- M V
IF ERRNO=ERR_IODISABLE THEN& k+ T% d# U* j. _! v- Z6 T& t
IF recover_flag=1 THEN
) }( a' @# @1 D( a1 d TRYNEXT;
$ n( R. W% ^: t x8 `7 J3 T0 s, _ ELSEIF recover_flag=2 THEN
6 H! o5 r4 H! s* l! x5 c; U M RETRY;
3 v' A6 k4 `: H" H/ @5 e+ h ENDIF
$ r& {6 e( f' C6 E+ X; V ELSEIF ERRNO=ERR_EXCRTYMAX THEN 【连续 5 次 RETRY,仍无法完成输入输出板失效。】3 z' I; a; u9 k: X3 l: `
ErrWrite “IODisable error”,“Restart the program”;
7 ^. [4 F! `9 D7 h' } Stop;0 r1 A! q& P2 i+ e: o4 ?# @) _1 ~1 P
ENDIF* W* I( j& z7 }5 v- t$ F
ENDPROC0 F3 r" C3 ~6 ^3 @, @8 ?0 p
' l. Z' G/ T+ j. f f- z5 n
Error Handling:5 j* G; A* s) A. N3 ?
- ERR_IODISABLE
9 w! r% @+ |" r. i$ H3 M# ~4 \ 超过最长等待时间,系统仍未完成输入输出板失效。
4 d3 u* h8 W9 c: F# A. T- ERR_CALLIO_INTER
) o( m! Y9 ]9 @# b. k6 B 系统在执行输入输出板失效与激活时,当前输入输出板再次被失效或激活,形成冲突。
4 i" n! Z% B8 O4 @, y% G6 q* ^: k- ERR_NAME_INVALID$ g& D7 R( h5 q8 y4 I( p
输入输出板名称错误或无法进行失效与激活操作。
# e6 \: p/ _! D* G: @; Q! |6 Q' l+ z; q$ ]
4 R4 K/ C- x* \) s
|