注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令-IODisable-ABB机器人标准指令编程
9 r# J2 A* [. Z: M5 _IODisable UnitName, MaxTime; UnitName: 输入输出板名称。( num )
4 I- u7 p s! \8 j8 C& \MaxTime: 最长等待时间。 ( num )
- k2 D1 i9 H* p4 H9 U. I2 M4 a" r8 h2 P& a3 c9 v
, U. ~& @6 A1 U' x, b应用:1 a7 l: E. p9 Q3 q8 Y4 K; B
通过指令可以使机器人输入输出板在程序运行时自动失效,系统将一块输入输出板失效需要 2-5 秒。如果失效时间超过最长等待时间,系统将进入 Error Handler 处理,错误代码为 ERR_IODISABLE,如果例行程序没有 Error Handler 机器人将停机报错。
( j( R0 K6 F4 q, E# P; |
M! n+ w( h, ~# L$ U3 a! G* b# h& y实例:
j& J+ f4 W) G7 J6 _* N7 J/ ^& v PROC go_home(). J* |3 Z E0 z7 O- n( `" ~
recover_flag:=1;% p; x! g2 {# H
IODisable “cell1”,0; 【输入输出板 cell1 开始失效,最长等待时间为 0,肯定进入 Error Handler 处理。】
$ s! b1 ^6 [8 ^% o MoveJ home,v1000,fine,tool1; A5 G8 z6 _. Z8 ^/ i& T w; R
recover_flag:=2; 【利用机器人移动至 home 的时间完成输入输出板失效。】
' T5 _4 T D; {- f: P7 |: L IODisable “cell1”,5; 【确认输入输出板 cell1 失效。】
! G3 g0 j! \( A1 S- @, E ERROR; l [ K! x! q: L# U
IF ERRNO=ERR_IODISABLE THEN: k4 B5 V! d- w
IF recover_flag=1 THEN
, u5 r2 Q4 C% I) ?% g) x6 y. j" g TRYNEXT;
$ c F/ m2 q5 i* n2 ` ELSEIF recover_flag=2 THEN5 I9 s" n4 h5 V: c- I
RETRY;0 f) v- @0 R" G e
ENDIF: I- G {) ^* r+ l( l
ELSEIF ERRNO=ERR_EXCRTYMAX THEN 【连续 5 次 RETRY,仍无法完成输入输出板失效。】
1 n* u; R7 m% m( P4 D) T ErrWrite “IODisable error”,“Restart the program”;( G, j% U1 J& y
Stop;
/ l& [! E1 q; @, W0 E# y& [: s ENDIF
# X8 c& U, Q" s. | ENDPROC
0 @: N3 e, F6 r' l: y4 v' d+ i. F
& e0 x4 o3 \5 K2 h" Z% zError Handling:
% D2 @5 G8 E1 p- f* H" T/ ~! Z# J/ V2 \- ERR_IODISABLE
: G8 ]5 k% n9 G7 ? 超过最长等待时间,系统仍未完成输入输出板失效。4 D) w! m) q% f; l4 i
- ERR_CALLIO_INTER
* Z, a4 P& F3 y; P6 ~: Z 系统在执行输入输出板失效与激活时,当前输入输出板再次被失效或激活,形成冲突。
2 y1 V w8 v: e, n- ERR_NAME_INVALID
! m/ \! t/ K/ f+ a [ 输入输出板名称错误或无法进行失效与激活操作。0 R8 p/ ?' i' ~9 {7 _, V; t3 I
6 z0 D& x+ O8 J" k `; F: @
* N% i: _1 b& n% C |