|
|
注册用户,获取RB币,享更多免费资源下载和阅读权限。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
例行程序调用指令CallByVar-ABB机器人标准指令编程
# L, A2 e8 |. k NCallByVar Name, Number; Name: 例行程序名称第一部分。( string )
# Q& K( b) i+ z# X0 p' {Number: 例行程序名称第二部分。( num )5 w5 j4 w0 W: w$ |" O
: ~. F3 g7 @/ V4 e; |; e$ M7 I5 } 2 h* y/ E4 g8 o$ d
CallByVar指令应用:) a4 P+ B( C+ E8 F& N2 n
通过指令中相应数据,ABB机器人调用相应例行程序,但无法调用带有参数的例行程序。7 F$ S. f: u' I- t8 y8 I+ D
) o( u: {$ p# a, r* o7 S' o8 S
CallByVar指令实例:. y9 J- Z2 r* V( N: k8 p
reg1:=Ginput(gi_Type);
4 |* p. ?: l5 g! P, Q0 r8 c. Z CallByVar “Proc”,reg1;
& }% I! i, S; O) A S$ h& \, o# W8 @* V$ K5 t% ^& N
CallByVar指令限制:
5 s! ?) b: `/ ?9 L. J- 不能调用带参数的例行程序。
- 所有被调用的例行程序名称第一部分必须相同,例如:proc1、proc2、proc3。
- 使用 CallByVar 指令调用例行程序比直接采用 ProcCall 调用例行程序需要更长时间。% N" D @/ ]) [, w3 E" k
9 x8 u- S& x0 G2 \" Y3 b0 D6 R! TError Handling:) l! S, {" G' U! g
- ERR_REFUNKPRC
% ?2 Q' e/ D; d: c6 r 系统无法找到例行程序名称第一部分。* ?( [' |4 \# ?
- ERR_CALLPROC3 ~( ^. `/ L3 D; X; ~1 [
系统无法找到例行程序名称第二部分。
8 i. f5 e' r1 ~; U" E2 f4 A
* V5 V2 u/ {6 i( U8 C$ ACallByVar指令实例比较:' u7 z# c( t0 g0 C' o* q4 m. \5 |
TEST reg1 + u' u4 i+ G0 @! y7 @- n
CASE 1: ' Q3 p- X. A- @* P2 p) O
lf_door door_loc;
+ V( k, z+ z# L* a' i7 R. b Q! {0 K9 g CASE 2:
% l2 P; M6 j$ P& ~1 b9 E1 p& B rf_door door_loc;
2 [; B! B* Z, @7 L5 ^ CASE 3:
: e7 E8 }8 N, d& n# Q4 [* b2 q lr_door door_loc; / A1 U7 j4 i I: V( j; p/ p M
CASE 4:
* a9 Q4 [( C' }8 e( Q; { rr_door door_loc;
2 `- y+ R! f9 k DEFAULT:
" }( ]8 @& l" Y& I) b$ b1 u; k EXIT; - X l: P) n( d" {: V4 _& ]
ENDTEST
5 M1 E* d6 A! w) P' s CallByVar “proc”,reg1; → 指令 CallByVar 不能调用带有参数的例行程序。
: Z: ]5 G0 c* X- F. Z %”proc”+NumToStr(reg1,0)% door_loc; → 通过 RAPID 结构仍可以调用带有参数的例行程序。
7 P0 @- M2 `3 ?" P2 m# p% \ |
|