| 
输入输出指令-IODisable-ABB机器人标准指令编程4 ~& o+ j0 n" P/ x. P, W. T/ t& ^
x
注册用户,获取RB币,享更多免费资源下载和阅读权限。您需要 登录 才可以下载或查看,没有帐号?立即注册  
 IODisable UnitName, MaxTime;UnitName:        输入输出板名称。( num )   Y% U6 }' K3 `& W1 b MaxTime:        最长等待时间。         ( num )
 ; g# z! m2 l; X! H. d; x+ E0 l0 G5 p
 & p$ @5 C2 @9 M- t4 P
 # L9 |8 [# c8 o% @2 d2 K$ R2 m- `
 应用:5 e* j5 B" g7 E" e- N" T4 ^( D7 t
 通过指令可以使机器人输入输出板在程序运行时自动失效,系统将一块输入输出板失效需要 2-5 秒。如果失效时间超过最长等待时间,系统将进入 Error Handler 处理,错误代码为 ERR_IODISABLE,如果例行程序没有 Error Handler 机器人将停机报错。
 , O6 f9 M  t2 b: a3 {4 U+ ^& s
 / ?8 N4 K1 J2 O1 P7 Z* R$ R  y实例:) @2 V; a6 H/ d8 G5 M$ w- k
 PROC go_home()3 p" o7 k1 x: G, Q; w8 U' \
 recover_flag:=1;
 % k: R1 t8 I& C0 D8 c          IODisable “cell1”,0;    【输入输出板 cell1 开始失效,最长等待时间为 0,肯定进入 Error Handler 处理。】8 p4 b/ e# M! h
 MoveJ home,v1000,fine,tool1;
 ' s' F% c7 _) A2 u- h          recover_flag:=2;       【利用机器人移动至 home 的时间完成输入输出板失效。】
 * G& F5 i% p  u4 H. J1 T          IODisable “cell1”,5;    【确认输入输出板 cell1 失效。】) n! p8 o: k" B$ |
 ERROR) o# P8 [" |# A# L
 IF ERRNO=ERR_IODISABLE THEN* {, N: m/ C# v
 IF recover_flag=1 THEN: B' u) M- w3 L; k  f8 i
 TRYNEXT;
 . n+ u! V9 A. a: H4 Q0 d            ELSEIF recover_flag=2 THEN0 T) V( E, j( }( Y
 RETRY;
 7 o* q* M5 y) y. r( l9 ?7 Z  a            ENDIF- |) J! d7 }+ M# E
 ELSEIF ERRNO=ERR_EXCRTYMAX THEN     【连续 5 次 RETRY,仍无法完成输入输出板失效。】
 + b6 q0 {, V: h* {9 u5 Z            ErrWrite “IODisable error”,“Restart the program”;
 7 O. s$ e5 K+ p0 d* \; j  y            Stop;
 0 x. p+ V. V$ I$ _/ P* u  k( m0 |9 f          ENDIF
 ; K3 s- C* J1 I* ^% W- K- Q# T, v        ENDPROC
 7 b4 G, Q7 O$ Q6 W6 [( P% z* w2 }& V) {& N, E
 Error Handling:7 G9 k. P6 i8 i2 |, L; ?+ i
 
 超过最长等待时间,系统仍未完成输入输出板失效。ERR_IODISABLE6 }: r* m3 G3 N* |" b
 7 d$ [4 w7 _9 |- a, b
 系统在执行输入输出板失效与激活时,当前输入输出板再次被失效或激活,形成冲突。ERR_CALLIO_INTER0 d9 Y1 q/ m- i' I( h! {/ H" d
 # `3 X3 ~2 r0 B, D) }
 输入输出板名称错误或无法进行失效与激活操作。5 x) Z* r; D9 |1 F) ]. K) NERR_NAME_INVALID, P7 n! ^! N: l5 c; z7 p
 : V( c+ O2 o' l4 C
 / A6 D( d" P/ S7 e$ N2 V3 Z& [
 
 |