注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
输入输出指令-IODisable-ABB机器人标准指令编程2 t& {- I0 Q7 R" Y3 {5 d
IODisable UnitName, MaxTime; UnitName: 输入输出板名称。( num )
2 `/ D9 \! q% {6 [ CMaxTime: 最长等待时间。 ( num )( u7 ~9 B9 o4 m0 H" Y. `0 ]
, @; f( k% t2 a7 |- I" P" x
1 D+ [0 p& p' g2 c1 ^9 F应用:
1 I; {4 S/ M7 r% r0 _. ^* x 通过指令可以使机器人输入输出板在程序运行时自动失效,系统将一块输入输出板失效需要 2-5 秒。如果失效时间超过最长等待时间,系统将进入 Error Handler 处理,错误代码为 ERR_IODISABLE,如果例行程序没有 Error Handler 机器人将停机报错。9 z7 T W% |* B: K% h# \/ ~ o3 h
. Q D# K1 h6 n% a# _: `. a实例:
; ?/ h) O: i- j% n, @1 Z) b PROC go_home()
- `$ s2 y3 }- p) v$ X7 m7 j recover_flag:=1;
7 u$ |) q: S9 _ p IODisable “cell1”,0; 【输入输出板 cell1 开始失效,最长等待时间为 0,肯定进入 Error Handler 处理。】
# l6 R3 ?. b+ S5 C, Z MoveJ home,v1000,fine,tool1;
" C9 m% [/ A; _+ u; s recover_flag:=2; 【利用机器人移动至 home 的时间完成输入输出板失效。】$ E) {' M* D1 {3 Q- R
IODisable “cell1”,5; 【确认输入输出板 cell1 失效。】
$ Q5 k @% \. P% r ERROR
6 x$ F4 x# Q/ H% Q# _( a IF ERRNO=ERR_IODISABLE THEN, v' E: I6 w0 _8 q( W4 ^
IF recover_flag=1 THEN4 k6 Z2 B' z( r1 a
TRYNEXT;+ u7 p$ W" |$ ?
ELSEIF recover_flag=2 THEN
3 p( U" Z0 o- S! a, H* s) J6 W2 C RETRY;
7 @9 x4 B; h1 Z8 g% t: c ENDIF4 O- l6 a4 W. J+ `! F6 c, Z
ELSEIF ERRNO=ERR_EXCRTYMAX THEN 【连续 5 次 RETRY,仍无法完成输入输出板失效。】$ v4 f# V& L; I: J
ErrWrite “IODisable error”,“Restart the program”;
2 e; S2 @9 L. R4 D9 Z* {% e. | Stop;, b2 F9 E4 o* q I7 R# ?
ENDIF/ v( l0 C) P5 q% m- X
ENDPROC" E/ s* {0 ?% N' ^) o4 V8 P, c
4 I* Y4 ?: {# _- uError Handling:+ x2 f3 P; X! P; I" S: U
- ERR_IODISABLE
( [, N, }6 g! n 超过最长等待时间,系统仍未完成输入输出板失效。" k8 S6 O& D; V/ j$ O
- ERR_CALLIO_INTER
7 M8 d$ s; ~; b; S9 F+ X 系统在执行输入输出板失效与激活时,当前输入输出板再次被失效或激活,形成冲突。6 S% s0 C6 A' ^( N, z: O
- ERR_NAME_INVALID* j9 T: e. v( Q" |& b6 S' Z" [# _% A
输入输出板名称错误或无法进行失效与激活操作。: P$ _; S: o) A( v9 ^! H
& ~; h* p9 ^8 {. o3 @3 M
8 T9 g4 a+ Y, c: D+ S |