|
|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
例行程序调用指令CallByVar-ABB机器人标准指令编程- D' E" t3 X, D7 ]& D" b- b, ]; g
CallByVar Name, Number; Name: 例行程序名称第一部分。( string ) . l5 O$ T9 m4 z- J5 W
Number: 例行程序名称第二部分。( num )
f0 J, N& D: u0 l* S0 _) l% |& o: D/ S1 ?# Z
; q! w$ P$ x; E. X* c7 B! i
CallByVar指令应用:
: x! `- u. J% K4 q- c# {, s 通过指令中相应数据,ABB机器人调用相应例行程序,但无法调用带有参数的例行程序。5 c! T$ T1 @+ m3 L& B0 X# G
9 @( F$ ~! W# B( y5 B4 b1 NCallByVar指令实例:9 b9 l8 Z% |+ a3 l; }
reg1:=Ginput(gi_Type);
' ~) d! R @ R# d: g CallByVar “Proc”,reg1; # k% u5 \0 O4 T& c
' Y5 N& [+ T2 i' m% u( cCallByVar指令限制:
2 ?1 B8 O$ J3 b" D! ^9 F: w- 不能调用带参数的例行程序。
- 所有被调用的例行程序名称第一部分必须相同,例如:proc1、proc2、proc3。
- 使用 CallByVar 指令调用例行程序比直接采用 ProcCall 调用例行程序需要更长时间。' r7 a2 F h) L
+ n7 G* E2 ^; y- Y0 o" s
Error Handling:
. `( S" [1 n, O* h. H {- ERR_REFUNKPRC& T5 `& f, t6 `3 r
系统无法找到例行程序名称第一部分。( B ^( }: ~* z7 i; ^
- ERR_CALLPROC- x, }, k5 b3 Z6 a6 I
系统无法找到例行程序名称第二部分。- r+ G( S, ?( `3 B$ d
0 v. P' q) A9 N7 X
CallByVar指令实例比较:1 j1 r* b/ r! _* s5 u
TEST reg1 , y W+ `( n! l" V3 J b2 |
CASE 1:
p; L5 }2 G0 p3 k0 \, S lf_door door_loc; ( M; l9 W* M1 k) w
CASE 2:
5 H/ [ Z7 A' D3 f8 Q rf_door door_loc;
4 k1 \9 N7 ?1 h/ j* p) A: ~$ t CASE 3:
* u; u! [! E8 [9 Q, e5 K6 f lr_door door_loc; q0 m3 r v* x3 l6 q0 H! B! P# d6 G% Q
CASE 4: 8 d) l- H `+ p
rr_door door_loc;
; J4 S. U4 G, Z: C7 K3 |5 q# W. D DEFAULT:
0 H! ]0 ^0 H! S: Y: ? EXIT; $ m5 E3 b: Z7 z6 z
ENDTEST
! p9 |$ D9 z3 u! l CallByVar “proc”,reg1; → 指令 CallByVar 不能调用带有参数的例行程序。
. I% a+ c! D6 Z, H, O1 A' N4 H %”proc”+NumToStr(reg1,0)% door_loc; → 通过 RAPID 结构仍可以调用带有参数的例行程序。
* i. i/ C1 G( h2 R, o( S; l$ e |
|