问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

数控宏程序的调用:G65子程序调用详解

创作时间:
作者:
@小白创作中心

数控宏程序的调用:G65子程序调用详解

引用
1
来源
1.
http://www.360doc.com/content/24/0523/14/29968938_1124099993.shtml

数控宏程序的调用是数控编程中的重要技术,它能够提高编程效率和代码复用性。本文将详细介绍G65调用子程序的格式和使用方法,并通过具体实例帮助读者理解其应用场景。

数控宏程序的调用主要有以下4种类型:

  1. M98调用
  2. G65调用
  3. G66调用
  4. 定义G指令调用
  5. 定义M指令调用

今天主要分享G65调用子程序的使用方法。G65调用子程序的格式为:

G65P 子程序名 地址名

其中,P后面跟着子程序的名字。例如,如果有一个子程序O1234,那么在主程序中使用G65调用时可以写成:

G65 P1234

(注意:子程序名前的大写字母O不需要写)

接下来重点介绍地址名。在宏程序中,变量分为三大类:局部变量、公共变量和系统变量。其中,#1~#26为局部变量,它们与地址名A~Z的对应关系如下表:

地址名
变量
A
#1
B
#2
...
...
Z
#26

地址名的作用是给其对应的变量传递数据。例如:

  • A10 相当于把10这个数据传递给了变量#1,此时#1=10;
  • B20 相当于把20这个数据传递给了变量#2,此时#2=20;
  • Z-26 相当于把-26这个数据传递给了变量#26,此时#26=-26。

下面通过一个具体的零件加工实例来说明G65调用子程序的应用。

铣M20x1.5外螺纹

假设我们有一个铣螺纹的子程序O2222,其中:

  • #1(A)代表毛坯尺寸;
  • #26 (Z) 代表螺纹深度;
  • #7 (D) 代表螺纹铣刀直径;
  • #17 (Q) 代表下刀点的初始Z值;
  • #11 (H)代表螺距。

当我们使用G65调用O2222号程序时,字母 A、D、Z、Q、H后面的数据就会传递给对应的变量。例如:

G65 P2222 A10 D8 Z5 Q0 H1.5

此时:

  • #1(A)=10,代表毛坯尺寸;
  • #26 (Z) =5,代表螺纹深度;
  • #7 (D) =8,代表螺纹铣刀直径;
  • #17 (Q) =0,代表下刀点的初始Z值;
  • #11 (H)=1.5,代表螺距。

如果需要加工一个类似的零件,比如M33x2.0外螺纹(分两刀铣),我们只需要编写一个主程序调用子程序即可。

数车深孔循环程序

另一个实用的例子是数车深孔循环程序。其调用格式为:

G65 P_K_B_ W_ C_ F_

参数说明:

  • P:代表子程序号
  • K:深度
  • B:回退量
  • W:每次进给深度
  • C:第一次进给深度
  • F:进给量

例如:

G65 P1 K-20. B0.3 W1.2 C0.8 F0.05

其中:

  • 1为子程序号
  • 加工孔深为20
  • 每次回退0.3
  • 每次进给深度为1.2
  • 第一次进给深度为0.8
  • 每转进给0.05

子程序的具体内容如下:

O0001(DEEP DRILL)
IF [#5002LT0]GOTO 100
IF[#6GE0] GOTO 70
G00W0.0
#4=#5002
#3=ABS[#3]
#2=ABS[#2]
IF[#19EQ98]GOTO 1
#19=99
N1 G#19 F#9
#27=ABS[#23]
#28=ABS[#6]-ABS[#26]
#29=ABS[#26]
DO 1
IF[#27LE#3]GOTO 2
GOTO 3
N2 #27=#3
N3 IF[#27GE#28]GOTO 4
G00 Z[#2-#29]
G1 Z-[#29+#27]
G00 Z#4
G4 U#1
#28=#28-#27
#29=#29+#27
#27=#27*0.5
END 1
N4 G00 Z[#2-#29]
G1Z#6 F#9
G00Z#4
M99
N70 #3000=1(K MUST BE NEGATIVE)
N100
IF[#6LE#0] G0T0 170
G00W0.0
#4=#5002
#3=ABS[#3]
#2=-[#2]
IF[#19EQ98] GOTO 1
#19=99
N1G#19 F#9
#27=ABS[#23]
#28=ABS[#6]-ABS[#26]
#29=ABS[#26]
DO 1
IF[#27LE#3]GOTO 2
GOTO 3
N2 #27=#3
N3 IF[#27GE#28]GOTO 4
G00 Z[#2#29]
G1 Z[#29+#27]
G00 Z#4
G4 U#1
#28=#28-#27
#29=#29+#27
#27=#27*0.5
END 1
N4 G00 Z[#2+#29]
G1Z#6 F#9
G00Z#4
M99
N170 #3000=1(K MUST BE POSITIVE)

使用此程序时,只需将子程序(如O0001)保存在机床储存器中。例如,要钻一个100深的孔,程序如下:

%
O0003
T0101
S1000M03
G0X0.Z2.
G65 P1 K-100. B0.3 W5. C1. F0.05
M30
%

通过以上实例可以看出,G65调用子程序能够显著简化编程工作,提高工作效率。希望本文能帮助读者更好地掌握数控宏程序的调用技巧。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号