|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
例行程序调用指令CallByVar-ABB机器人标准指令编程
) L2 z' s% p. }3 OCallByVar Name, Number; Name: 例行程序名称第一部分。( string )
4 P) E7 U; i! [; bNumber: 例行程序名称第二部分。( num )9 y! ^* K" k# [# s; S& `! x
3 c X6 X8 W/ v6 x# a! J
7 P7 G T) c2 ]8 W x/ J8 a; nCallByVar指令应用:
* p5 ]/ h' q1 H 通过指令中相应数据,ABB机器人调用相应例行程序,但无法调用带有参数的例行程序。
7 E# t6 X% M2 w6 j
1 Q3 u, f6 L, [6 O: q- e; x; C! RCallByVar指令实例:$ t0 P' i/ [0 t% z2 J, u" Q: ?
reg1:=Ginput(gi_Type);
) G. q/ [, o. Z& o0 u4 F8 g CallByVar “Proc”,reg1;
; y, v k% m( J0 G. J1 G9 Z* S# i; Z
CallByVar指令限制:
% |0 F- I" {7 B* Q' P- 不能调用带参数的例行程序。
- 所有被调用的例行程序名称第一部分必须相同,例如:proc1、proc2、proc3。
- 使用 CallByVar 指令调用例行程序比直接采用 ProcCall 调用例行程序需要更长时间。
& O: ~$ { y. `: K! i2 o 8 V' i H' o) m+ [# P6 ^
Error Handling:
, r& g: d4 |' Y7 ^- ERR_REFUNKPRC. `; N, q: f" v! b$ H6 U$ i
系统无法找到例行程序名称第一部分。
: a g$ Q7 I3 B) u, `- ERR_CALLPROC
0 W1 K/ B' l. f0 }2 ~4 v 系统无法找到例行程序名称第二部分。
, t0 F+ `( e; e. h' W* s' {7 G0 C% [9 b% L# l
CallByVar指令实例比较:$ h2 x: R9 C/ i# x- Q1 @& t3 M
TEST reg1 % A9 } x) F9 X* L, P- f ]
CASE 1: 2 E3 Y7 R* `; k6 I
lf_door door_loc; 7 ]) p, S: \3 r
CASE 2:
" x5 o% ], I7 i/ K: X rf_door door_loc; 8 J# s$ S! t B& H& y8 Y ?
CASE 3:
6 u* y' p( u9 ]' M& |, {- k4 I+ F L lr_door door_loc;
" B. M# O$ x( y& g( Y6 v CASE 4:
1 \2 ^5 Q$ Q7 b. m4 C) p, ?) ?0 n rr_door door_loc;
7 {& d$ T7 j$ l* o DEFAULT: : {" K4 E- K* g5 q8 @
EXIT;
1 v, a( ]. T$ t: ~9 D# Z+ d2 L% m ENDTEST& v t* t& C- U+ n' ]
CallByVar “proc”,reg1; → 指令 CallByVar 不能调用带有参数的例行程序。
- `; X; n0 [- `( G6 c5 u' T %”proc”+NumToStr(reg1,0)% door_loc; → 通过 RAPID 结构仍可以调用带有参数的例行程序。
4 n4 i3 `% ]$ S( w, U3 A |
|