|
|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
例行程序调用指令CallByVar-ABB机器人标准指令编程
. z8 O& N! n' m: nCallByVar Name, Number; Name: 例行程序名称第一部分。( string )
: J$ W# N2 {. z |% uNumber: 例行程序名称第二部分。( num )% X* h8 i1 K' _6 a" \3 t
% S) c G$ c2 X' y5 V. n, O" x$ c 2 |) \/ }$ P- i- `) _7 s" i
CallByVar指令应用:
8 x' z0 C: [$ w8 I 通过指令中相应数据,ABB机器人调用相应例行程序,但无法调用带有参数的例行程序。
. L) A7 M4 P0 ]; @! r( S; D/ c) z4 i" d9 W, M
CallByVar指令实例:* K7 v" R* L* ]* {& u
reg1:=Ginput(gi_Type);
5 |1 W* A+ z! R CallByVar “Proc”,reg1; & x% m: L% \, p8 @
% S) E, ?" z* F0 y0 VCallByVar指令限制:4 [9 o0 w; ^% ?6 n j
- 不能调用带参数的例行程序。
- 所有被调用的例行程序名称第一部分必须相同,例如:proc1、proc2、proc3。
- 使用 CallByVar 指令调用例行程序比直接采用 ProcCall 调用例行程序需要更长时间。
3 U9 T7 D: e3 U; M- f" ?
+ M" J& _& E1 }Error Handling:6 p% X X* G) s
- ERR_REFUNKPRC
r6 _7 d6 I* m: J 系统无法找到例行程序名称第一部分。
* \3 C" E: p& m: A' u" C- ERR_CALLPROC
; @2 S" t+ n) T; K; f e- X p 系统无法找到例行程序名称第二部分。
+ ^4 j4 }8 M" n+ Y A
3 D) @& U9 X- {) @5 p6 LCallByVar指令实例比较:
3 Y( Y# ~9 R" e$ l) n! P TEST reg1 / [" Y6 n. S, n \0 |
CASE 1:
0 s3 }# N* r0 i$ N" N lf_door door_loc; " V- z* q7 v9 ` x# g! {
CASE 2: 9 `: G6 R- r" D5 s1 j! h
rf_door door_loc; 5 O/ s7 j) M: M4 {/ u: T
CASE 3:
3 X6 B* ?+ }+ ^ lr_door door_loc; : t4 Z a) E% K5 q. j# T. v
CASE 4:
5 q! I- c' b" i- b( C" H rr_door door_loc; 3 \1 v. z( i3 }& K# P2 C
DEFAULT: 6 F# C3 y+ W+ {
EXIT;
9 i( p! a" Z' t% S2 f% b( `; y ENDTEST' [, U7 Z9 z$ Z. d- m
CallByVar “proc”,reg1; → 指令 CallByVar 不能调用带有参数的例行程序。
1 g5 r& E8 `; ^) C2 ` %”proc”+NumToStr(reg1,0)% door_loc; → 通过 RAPID 结构仍可以调用带有参数的例行程序。2 l# S$ z Z U, ]/ Y& X! l. a
|
|