(江苏省常州刘国钧高等职业技术学校,江苏 常州 213025)
在数控车螺纹编程加工中,圆弧牙型螺纹一直是加工难点,使用宏程序编程虽然可以进行加工,但缺点是编程人员要有较好的数学基础知识和逻辑思维,而且程序的可移植性差,换一个机床系统可能就要修改格式,这些问题使得编程效率大大降低。本文探讨如何使用mastercam软件进行编程生成通用加工程序。圆弧牙型螺纹如图1所示。
图1 圆弧牙型螺纹
图1中圆弧半径为2 mm,可以用半径为 1 mm 的圆弧车刀进行仿形车削,由于牙型较深,首先要将螺纹牙型整体向外偏移4个距离,使用宏变量,改变起刀点的位置进行车削,所有起刀点的轨迹就是圆弧螺纹。圆弧牙型螺纹的加工原理如图2 所示。
图2 圆弧牙型螺纹加工原理
编程前需要把圆弧的坐标参数方程转化成与数控车相同的坐标方程,根据图1,圆的参数方程转换成数控车的坐标方程为:
FANUC 数控车系统圆弧牙型螺纹的加工,主要利用螺纹加工指令G32并通过宏程序来改变。程序编制如下[1]:
T0505 //R1球刀,中心对刀
S300M3
G0X42Z15
#1=34 //将牙型偏移后的中心距为34
#10=3 //粗加工的角度递增值
WHILE[#1GE26]DO1 //牙型中心距不小于26时,执行程序,26为现在的中心距
#2=0 //凹圆弧的起始角度为0
WHILE[#2GE-180]DO2 //顺时针车半圆,所以为-180
#3=#1+2*SIN[#2]*1 //凹圆弧的X值,1=R2-刀具半径1
IF[#3GT34]GOTO1 //当这个#3大于这个32,跳过循环,判断有无空刀的作用
#4=15+COS[#2]*1 //凹圆弧的Z值
G0 X#3 Z#4 //定位
G32Z-50F8
G32X42
G0Z#4
N1 #2=#2-#10 //粗工的角度递增量为3
IF[#3EQ26]THEN#10=1 //当#3=26时,强制赋值#10=2,进行半精加工
END2
#2=0 //重新赋值,开始粗车凸圆弧
#10=3
WHILE[#2LE180]DO3
#5=#1+2*SIN[#2]*3 //凸圆弧的X值,3=R2+刀具半径1
IF[#5GT34]GOTO2 //判断是否有空刀
#6=15+3*COS[#2]-4 //这里要注意,因为是车凸圆弧,所以是要向负方向偏移4=1+3
G0X#5Z#6
G32Z-50F8
G32X42
G0Z#6
N2 #2=#2+#10
IF[#3EQ26]THEN#10=1
END3
#1=#1-0.2
END1
(1)圆弧的起刀点需要进行计算,其属于有规律曲线,如果是无规律的曲线更难;
(2)本文采用了仿形车削,空刀很多,程序在修改判断空刀的语句上面浪费了很多时间;
(3)程序的可移植性差,换个机床系统就要修改程序格式;
(4)宏程序难度高,学习周期长;
(5)编制过程繁琐,容易出错,编程效率低。
打开mastercam所在的文件位置,按顺序点击lathe-posts-MPLFAN.pst,用记事本打开,修改里面的代码,具体修改方法如下[2-3]:
(1)在第一行代码(mastercam自带)下方插入一个副程序。
[POST_VERSION] #DO NOT MOVE OR ALTER THIS LINE# V19.00 P4 E1 W19.00 T1447190147 M19.00 I0 O0
plw
“G32 Z-40.F8.”,e$
“X34.”,e$
“G0 Z18.”,e$
因为mastercam本身没有异形螺纹的车削功能,所以它生成的程序都是G0、G1的通用程序,需要插入G32代码。这个副程序并不是一成不变,需要根据不同的螺纹尺寸修改。最后一行,在之前的宏程序当中给的Z向定位点是15,在mastercam绘制的牙型和余弦曲线很相似,螺纹的牙顶宽为8,取一半为4,加上刀具半径1,所以这里取刀具在牙型的中间值18。plw相当于给这个副程序写了个标题,必须顶格写,而且必须是plw不能是其他的字母。下面三行代码开头必须要有空格。e$相当于C语言当中的换行符/n。
(2)在后处理代码中,查找字符‘plinout’,并且修改如下(为了方便说明将原处理也给出):
plinout #Output to NC,linear movement - feed
pcan1,pbld,n$,psgplane,sgfeed,pexct,psgcode,psccomp,pwcs,pxout,
pyout,pzout,pcout,pfr,pscool,strcantext,e$
if rpd_typ$ = 7,ptool_insp #Tool inspection point
pcirout #Output to NC,circular interpolation
pcan1,pbld,n$,psgplane,sgfeed,pexct,psgcode,psccomp,pxout,
pyout,pzout,pcout,parc,pfr,pscool,strcantext,e$
Mastercam原处理
plinout #Output to NC,linear movement - feed
sg01 = sg00
sxg02 = sg00
sxg03 = sg00
pcanl,pbld,n$,psgplane,sgfeed,pexct,*sgcode,psccomp,pwcs,*pxout,
pyout,*pzout,pcout,pscool,strcantext,e$
plw
if rpd_typ$ = 7,ptool_insp #Tool inspection point
pcirout #Output to NC,circular interpolation
pcanl,pbld,n$,psgplane,sgfeed,pexct,psgcode,psccomp,pxout,
pyout,pzout,pcout,| pscool,strcantext,e$
Mastercam螺纹后处理
对比原处理和修改后的后处理可知:sg01、sxg02、sxg03为强制将G1/G2/G3变成G0;*sgcode为每一行坐标强制输出G0;*pxout为强制输出X;*pzout为强制输出Z;pfr为删除进给速度F;parc为删除半径R。此次修改只能用作生成螺纹程序,建议另存为。
打开mastercam,绘制圆弧牙型螺纹,使用沟槽功能,生成刀路轨迹并输出程序。绘制牙型后,需要将其打断成若干段曲线以便进行精加工。螺纹牙型绘制如图3所示。
图3 螺纹牙型绘制
程序如下:
O0000
G0 T0505
G18
G97 S300 M03
G0 G54 X34.Z18.
G99 G0 X29.8
G32 Z-40.F8.
X34.
G0 Z18.
……
……
G0 X25.477 Z16.908
G32 Z-40.F8.
X34.
G0 Z18.
G0 X25.416 Z16.915
G32 Z-40.F8.
X34.
G0 Z18.
G0 X25.385 Z16.919
……
……
G32 Z-40.F8.
X34.
G0 Z18.
G0 X22.Z18.
G32 Z-40.F8.
X34.
G0 Z18.
G0 X30.
M05
T0500
M30
打开仿真软件vericut,设置R1球刀如图4所示,螺纹仿真如图5所示[4-5]。
图4 R1球刀
图5 螺纹仿真
阐述了圆弧螺纹的宏编制和软件编制,软件编制通过修改后处理生成程序,不仅可以车削圆弧螺纹,还可以车削其他任意牙型螺纹,解决了宏编制编程困难的问题,提高了编程效率,而且在mastercam中可以修改切削方向、重叠量等参数,这不仅能够提高刀具寿命,还可以改善螺纹表面质量,甚至可以进行精加工,这些都是宏编制难以做到的。