FANUC宏程序调用

 宏程序调用说明

可以用下列方式调用宏程序:

简单调用 G65模调用 G66、G67G码宏调用M码宏调用G码子程序调用M码子程序调用

宏调用和子程序调用之间的区别:

☆ 用G65,可以指定一个自变量(传递给宏的数据),而M98没有这个功能。

☆ 当M98段含有另一个NC语句时(如:G01 X100.0M98Pp),则执行命令之后调用子程序,而G65无条件调用一个宏。

☆ 当M98段含有另一个NC语句时(如:G01 X100.0M98Pp),在单段方式下机床停止,而使用G65时机床不停止。

☆ 用G65地方变量的级要改变,而M98不改变。

1、 简单调用(G65)

功能 G65被指定时,地址P所指定的用户宏被调用,数据(自变量)能传递到用户宏程序中。

格式 G65 Pp Ll <自变量表>;

其中:

p 要调用的程序号

l 重复的次数(缺省值为1,取值范围1~9999)

自变量 传递给宏的数。通过使用自变量表,值被分配给相应的地方变量。

如下列中#1=1.0,#2=2.0

FANUC宏程序调用

  自变量分为两类。第一类可以使用除G、L、O、N、P之外的字母并且只能使用一次。第二类可以使用A、B、C(一次),也何以使用I、J、K(最多十次)。自变量使用的类别根据使用的字母自动确定。见下表。

类别一:

地址变量号 地址变量号 地址变量号
A#1 I#4 T#20
B#2 J#5 U#21
C#3 K#6 V#22
D#7 M#13 W#23
E#8 Q#17 X#24
F#9 R#18 Y#25
H#11 S#19 Z#26

☆ 地址G、L、N、O、P不能当作自变量使用。

☆ 不需要的地址可以省略,与省略的地址相应的地方变量被置成空。

类别二:

地址变量号 地址变量号 地址变量号
A#1 K3#12 J7#23
B#2 I4#13 K7#24
C#3 J4#14 I8#25
I1#4 K4#15 J8#26
J1#5 I5#16 K8#27
K1#6 J5#17 I9#28
I2#7 K5#18 J9#29
J2#8 I6#19 K9#30
K2#9 J6#20 I10#31
I3#10 K6#21 J10#32
J3#11 I7#22 K10#33

☆ 在实际的程序中,I、J、K的下标不用写出来。

注意:

☆ 在自变量之前一定要指定G65。

☆ 如果将两类自变量混合使用, NC自己会辨别属于哪类,最后指定的那一类优先。

☆ 传递的不带小数点的自变量的单位与每个地址的最小输入增量一致,其值与机床的系统结构非常一致。为了程序的兼容性,建议使用带小数点的自变量。

☆ 最多可以嵌套含有简单调用(G65)和模调用(G66)的程序4级。不包括子程序调用(M98)。地方变量可以嵌套0~4级。主程序的级数是0。用G65和G66每调用一次宏,地方变量的级数增加一次。上一级地方变量的值保存在NC 中。宏程序执行到M99时,控制返回到调用的程序。这时地方变量的级数减1,恢复宏调用时存储的地方变量值。

2、模调用(G66、G67)

功能 一旦指定了G66,那么在以后的含有轴移动命令的段执行之后,地址P所指定的宏被调用,直到发出G67命令,该方式被取消。

格式 G66 Pp Ll <自变量表>;

其中:

p 要调用的程序号

l 重复的次数(缺省值为1,取值范围1~9999)

自变量 传递给宏的数。与G65调用一样,通过使用自变量表,值被分配给相应的地方变量。

FANUC宏程序调用

注意:

☆ 最多可以嵌套含有简单调用(G65)和模调用(G66)的程序4级。不包括子程序调用(M98)。模调用期间可重复嵌套G66。

☆ 在G66段,不能调用宏。

☆ 在自变量前一定要指定G66。

☆ 在含有象M码这样与轴移动无关的段中不能调用宏。

☆ 地方变量(自变量)只能在G66段设定,每次模调用执行时不能设定。

3、 G码调用宏

通过在下表所列出的参数中设定调用宏程序的G码号,就可以象用G65一样调用相应的宏程序。G码号设定范围是1~255。重复次数l和自变量使用方法与G65一样。

程序号参数号
O9010220
O9011221
O9012222
O9013223
O9014224
O9015225
O9016226
O9017227
O9018228
O9019229

注意:

在用G码调用的程序中,不能再用G码调用宏程序,在这样的程序中G码被看作是普通G码,在用M码和T码调用的子程序中也一样。

4、M码调用宏

通过在下表所列出的参数中设定调用宏程序的M码号,就可以象用G65一样调用相应的宏程序。M码号设定范围是1~255。重复次数l和自变量使用方法与G65一样。

程序号参数号
O9020230
O9021231
O9022232
O9023233
O9024234
O9025235
O9026236
O9027237
O9028238
O9029239

注意:

☆  调用宏程序的M码一定要在段首指定。

☆  在用G码调用的宏或用M码和T码调用的子程序中,不能再用M码调用宏程序,在这样的宏或程序中M码被看作是普通M码。

5、 M码调用子程序

通过在下表所列出的参数中设定调用宏程序的M码号,就可以象用M98调用子程序一样调用相应的宏程序。M码号设定范围是1~255。重复次数l使用方法与M98一样。不允许使用自变量。

程序号参数号
O9001240
O9002241
O9003242

注意:

宏程序中,已用来调用宏程序的 M码被看作是普通M码。在用G码调用的宏和用M码或T码调用的程序中,不能再用M码调用子程序,在这样的程序中M码被看作是普通M码。

6、 T码调用子程序

将参数040的第5位置1,当在加工程序中指定一个T码时,宏程序O9000就被调用。在加工程序中指定的T码存储在公共变量#149中。

在用G码调用的宏和用M码或T码调用的程序中,不能再用T码调用子程序,在这样的程序中T码被看作是普通T码。

原创文章,作者:智造研习社,如若转载,请注明出处:https://www.sfqosk.com/index.php/2024/11/30/152/

(0)
智造研习社的头像智造研习社超级会员
上一篇 2024年11月30日 下午8:40
下一篇 2024年11月30日 下午9:04

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注