|
|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
例行程序调用指令CallByVar-ABB机器人标准指令编程 O- b; X( J4 b7 Z6 K7 G
CallByVar Name, Number; Name: 例行程序名称第一部分。( string ) " C* }; p2 t3 V: x
Number: 例行程序名称第二部分。( num )
" h- E; l3 E, a4 \. I# P( M1 W# s
1 A- v" M/ D) F$ {6 q
: l' I" {3 b1 X" r; L' [CallByVar指令应用:
; I! U3 W( a L5 f/ q$ v3 H: x: | 通过指令中相应数据,ABB机器人调用相应例行程序,但无法调用带有参数的例行程序。5 S# {( v8 _: W) ^0 v ^1 M: X
2 ^- S! u+ F0 [) \ t+ B: `+ o
CallByVar指令实例:
" D' g( |) G4 c; @+ t6 j% A, y reg1:=Ginput(gi_Type);/ Y* Q. v8 q# |8 G( V, p
CallByVar “Proc”,reg1;
( J) G1 }' A' ]2 D I! i) R& t
; E) H3 ~) {: d4 v! S0 J8 t4 wCallByVar指令限制:
' `6 j0 ^- A: Q3 G7 o. I6 Y, t* W% z- 不能调用带参数的例行程序。
- 所有被调用的例行程序名称第一部分必须相同,例如:proc1、proc2、proc3。
- 使用 CallByVar 指令调用例行程序比直接采用 ProcCall 调用例行程序需要更长时间。: h9 |* o6 k3 r
" h# N. l; X. Y) ], O: R N, e
Error Handling:
|5 o. D k* ?: r' }9 \; l$ M- ERR_REFUNKPRC
# b- g! C; m) u& D6 ^5 |; ?: a 系统无法找到例行程序名称第一部分。) e' U9 m. K2 U# ^2 b& P$ w& v
- ERR_CALLPROC
: Y; q$ N v: @ 系统无法找到例行程序名称第二部分。7 r! p4 f* ^; T+ f$ b
; L$ M$ Q% \& l0 t3 BCallByVar指令实例比较:5 R, y5 e8 U/ a
TEST reg1 8 A/ L/ C: f' n, ]% W
CASE 1: ' z" [/ K3 s2 ~3 j. J1 J
lf_door door_loc; 7 k' `% p: l( {% i
CASE 2: 0 }/ v1 {- R+ v# c5 D0 N
rf_door door_loc;
% E+ I8 \* V* c$ X# v E( j CASE 3:
) t; h/ r: Z7 g% a8 R D) u lr_door door_loc;
: O, S6 m& A1 c! j CASE 4:
0 [' E9 Q) h& f rr_door door_loc; 9 D9 [9 K0 P" [( C. I0 q; |
DEFAULT: 6 U8 [* t) T; {5 n' W' A
EXIT; @* ]" D' f9 G
ENDTEST% Z; g" P1 }2 K# l7 o
CallByVar “proc”,reg1; → 指令 CallByVar 不能调用带有参数的例行程序。
% E3 J! M4 U( R% X* K4 u, | %”proc”+NumToStr(reg1,0)% door_loc; → 通过 RAPID 结构仍可以调用带有参数的例行程序。" U1 i9 k3 t8 \. c1 P
|
|