| 
输入输出指令-IODisable-ABB机器人标准指令编程
x
注册用户,获取RB币,享更多免费资源下载和阅读权限。您需要 登录 才可以下载或查看,没有帐号?立即注册  , m) e7 Z2 P* S. b  Y
 IODisable UnitName, MaxTime;UnitName:        输入输出板名称。( num ) 7 `- d& q& q' ^5 h, \; b0 U MaxTime:        最长等待时间。         ( num )3 Q' K' G& P& Z; D5 u1 ]6 p
 , J: X8 C8 O+ I& s: f& q/ k
 
 * |7 P" s: ^% k. L9 a
 应用:4 v# [  u0 S& G  n: P0 a
 通过指令可以使机器人输入输出板在程序运行时自动失效,系统将一块输入输出板失效需要 2-5 秒。如果失效时间超过最长等待时间,系统将进入 Error Handler 处理,错误代码为 ERR_IODISABLE,如果例行程序没有 Error Handler 机器人将停机报错。
 ! p9 P, M* B( A) u
 ! b; }, Z+ Z2 b实例:4 o* K8 U, b) [0 ^
 PROC go_home()
 " a4 H1 f* H1 F2 V- I          recover_flag:=1;
 . j. [! b, M6 a$ M3 ?. }" f7 X. T          IODisable “cell1”,0;    【输入输出板 cell1 开始失效,最长等待时间为 0,肯定进入 Error Handler 处理。】0 S0 E" |9 z) j
 MoveJ home,v1000,fine,tool1;  `$ C3 u) Z1 w$ n4 T2 H! X& T
 recover_flag:=2;       【利用机器人移动至 home 的时间完成输入输出板失效。】) K4 T( `, p+ ^: u5 X; u1 s. b
 IODisable “cell1”,5;    【确认输入输出板 cell1 失效。】
 ! y$ }! |! `8 N& ]        ERROR- ?) s$ R" V# W5 b
 IF ERRNO=ERR_IODISABLE THEN
 # \* d1 ]9 w+ ~8 Z) \            IF recover_flag=1 THEN
 : T' Z% ^' m6 ], w+ h              TRYNEXT;
 , Q2 U0 N/ b/ V( }3 Z            ELSEIF recover_flag=2 THEN
 / e7 d& m0 }! c) r              RETRY;
 5 h1 G- k! v' s* i% R+ F2 u* G            ENDIF: V. ^6 F4 _1 q7 ^7 [+ `' ?
 ELSEIF ERRNO=ERR_EXCRTYMAX THEN     【连续 5 次 RETRY,仍无法完成输入输出板失效。】
 0 g: [$ J! {+ X            ErrWrite “IODisable error”,“Restart the program”;
 * o6 K8 V% p- B1 N1 K/ `% W            Stop;2 a% @2 B4 Y% A: o! T
 ENDIF
 + U( U$ O! |) R2 Q( y6 t6 o/ |        ENDPROC% m& P* A7 P, F/ g. i
 : T! t0 S3 E: S7 L* y6 ?! U
 Error Handling:
 6 u* P2 n+ v+ p! w* U$ i( o& ^5 a
 超过最长等待时间,系统仍未完成输入输出板失效。4 a- x: g6 n$ e5 N$ }8 `6 y4 G4 x% nERR_IODISABLE# _3 R# h$ n. P: N+ e* \, N6 X
 
 系统在执行输入输出板失效与激活时,当前输入输出板再次被失效或激活,形成冲突。, m9 r# q' F: u0 A$ mERR_CALLIO_INTER; L. N; ]7 X! C3 @: ]1 A3 B+ o7 |
 
 输入输出板名称错误或无法进行失效与激活操作。ERR_NAME_INVALID- p' V3 e0 k( ?8 ^8 n
 1 K$ \2 l! O8 s5 \2 @# b7 V. g* U" J$ E& B
 
 - ^. [- T  H3 q' L+ E! C4 P
 |