注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令-IODisable-ABB机器人标准指令编程
7 g1 e6 ~0 r* t' p; dIODisable UnitName, MaxTime; UnitName: 输入输出板名称。( num )
8 a& q( k# f* ?3 l. j2 u7 u m! JMaxTime: 最长等待时间。 ( num )2 H7 b( X" J4 a" A( C9 K# B$ @
$ y! I8 B, M6 i0 x" z; Y( d
8 u/ s a3 j. f/ c5 z8 K' W应用:
& |: L! W' b7 I: @& n* Q& v- K 通过指令可以使机器人输入输出板在程序运行时自动失效,系统将一块输入输出板失效需要 2-5 秒。如果失效时间超过最长等待时间,系统将进入 Error Handler 处理,错误代码为 ERR_IODISABLE,如果例行程序没有 Error Handler 机器人将停机报错。
, R: B2 n! v1 _ l5 [" u; W# }/ @0 s7 N1 s2 [
实例:
; w: l" q" F3 e: s8 r" I PROC go_home()$ P2 P2 R; N; n/ I& C! l h( F" L$ N* d
recover_flag:=1;0 G1 p4 t8 F1 V/ B: ~2 l
IODisable “cell1”,0; 【输入输出板 cell1 开始失效,最长等待时间为 0,肯定进入 Error Handler 处理。】
6 t- t6 n9 ~) ~5 } MoveJ home,v1000,fine,tool1;
& u+ Q6 \( ?: X/ l, u, Y2 I5 |, Z ] recover_flag:=2; 【利用机器人移动至 home 的时间完成输入输出板失效。】
# `% H. i, I! t( {: r6 C IODisable “cell1”,5; 【确认输入输出板 cell1 失效。】
) n0 f" M& \2 F a1 S1 d) Q: o. b7 \ ERROR" J+ Q# W% h$ o) \' f
IF ERRNO=ERR_IODISABLE THEN% \: p% E/ L2 ?7 C) U* \! w- L
IF recover_flag=1 THEN
9 X: K1 S5 i* u9 _1 Y' J& j @ TRYNEXT;
) ?+ L# W* e9 @. X1 h* _! H, D ELSEIF recover_flag=2 THEN
& z$ m7 |" e9 i! n+ h" s RETRY;
) i. S5 z. C \! y ENDIF( K6 k) R" J+ ?8 _. m4 I( J; l* _
ELSEIF ERRNO=ERR_EXCRTYMAX THEN 【连续 5 次 RETRY,仍无法完成输入输出板失效。】
/ c8 ?5 L# P! Y- q ErrWrite “IODisable error”,“Restart the program”;0 V" ?& \; o5 ~7 M/ X9 M7 v+ S( Z( o
Stop;
3 ~+ o, ~& p" y9 u. d6 k" ~ ENDIF
( l$ W: {0 a; b& Y ENDPROC( R' p0 n/ W5 x3 L
|# l# X4 l) X' jError Handling:
1 w s r& U; C' m- ERR_IODISABLE9 ^+ A. b* H4 I. h" q
超过最长等待时间,系统仍未完成输入输出板失效。
: I2 P3 n, C. u4 k9 Y- ERR_CALLIO_INTER
+ C8 D% C. Z9 ^% F7 d 系统在执行输入输出板失效与激活时,当前输入输出板再次被失效或激活,形成冲突。* H: o! [5 G* r" H u
- ERR_NAME_INVALID
0 K, ?5 y7 e) d% U$ ~/ a, E8 B 输入输出板名称错误或无法进行失效与激活操作。3 M/ C2 ?& A; w
: U8 `7 H! }/ W# l3 e1 d/ R
6 F) ?% P8 R( \# @8 X. b
|