基于华中数控系统的宏程序在球面编程与加工中的应用
2023-04-14辜文娟
辜文娟
(江西省商务学校,江西 南昌 330013)
曲面零件被广泛应用于航空、航天、模具行业中,自CAD(Computer Aided Design)/CAM(Computer Aided Manufacturing)技术应用推广后,许多曲面都是采用自动编程加工完成,但也存在一定的弊端,如语句段落较多、占内存大,导致程序传输用时较长、加工效率不高等问题。宏程序具有简短易读、条理清晰、易修改等优点,能克服CAD/CAM 技术程序冗长、生产效率不高等缺点,在曲面编程中被广泛使用[1]。然而对于初学者来说宏程序编程具有一定的困难,本文将以华中数控系统为基础,研究宏程序数控铣的编程与应用,为数控人员学习数控铣宏程序编程思路,掌握编程方法打好基础。
1 曲面编程思路
根据球的性质可知,球的横截面为圆,当横截面圆半径为球的半径时横截圆最大。铣削是根据加工轮廓进行分层加工,从上至下加工或从下至上加工,铣刀在相应高度切削出相应横截圆轮廓,当加工深度达到球面的半径时,半球面就加工完成了[2]。
编制曲面程序的关键是要列出曲线表达式,球面的表达式可以采用直角坐标形式也可采用参数方程形式,选定变量后列出变量相应的数学表达式。采用直线段逼近非圆曲线,一般采用等间距法。间距设置越小,加工精度将会更高,但是加工时间较长;间距设置越大,则精度越低,但生产效率高。在实际加工中,粗加工采用较大的间距,尽可能最快地去除余量;在精加工时采用较小的间距,确保加工轮廓的精度。在加工中应根据具体情况选择合理的间距值。
下面将以凸半球面为例具体讲解使用宏程序编程的思路及方法。凸球面加工分为粗加工和精加工2 个步骤,粗加工采用立铣刀加工,精加工则采用球头刀加工,根据加工刀具绘制各自加工示意图。其中在粗加工中需要嵌套2 个循环,一个是每层加工圆轮廓且去除毛坯余量的循环,另一个是角度变化所产生的深度变化循环;而精加工程序则只需要进行角度变量循环即可。
2 曲面编程加工实例
2.1 球面粗加工
该零件的毛坯为直径50 mm,高度25 mm 的圆柱。凸半球面零件加工深度为25 mm,考虑其加工效率及刀具韧性,粗加工选用立铣刀自上而下的方式进行加工。
设定夹角为变量,每一个角度会产生相应的Z值和X值,其中X值为该Z高度的圆轮廓的半径值,即角度变化一次则需要在相应的高度中加工出相应的圆轮廓,这里必须注意加工轮廓的同时需要将该高度所有的毛坯余量去除。在粗加工中需要嵌套2 个宏程序,第一个是在角度变化加工对应高度所在平面的圆轮廓并去除毛坯余量;第二个循环则是角度变化对应产生加工深度的循环,粗加工完毕后凸半球面将呈现出一个立体的阶梯球面,阶梯的距离为角度变量产生的Z向差值。
2.1.1 深度循环
球面的参数方程是将球面曲线以角度表达式计算轮廓中的每个点,将角度分为若干个单位的步距角,通过球面参数方程计算步距角度变化后,球面曲线对应的X轴的变化,再运用圆弧插补形式加工球面的方法。步距角间距越小,加工出的球面曲线精度越高[3]。图1 为立铣刀加工球面示意图,B点为立铣刀刀刃与凸球面的接触点,其中a为立铣刀加工点位OB与OX的夹角,X1为当前加工所在圆轮廓的半径值,Z1为当前加工所在的高度值,OB为球的半径r1,根据圆的参数方程,可得X1=R×cosa,Z1=R×sina。
图1 立铣刀加工球面示意图
根据球面的参数方程可知,加工的X方向尺寸为球面半径乘以角度的余弦值,加工的Z方向尺寸为球面半径乘以角度的正弦值。由于加工方式选用自上而下,所以角度是从90°变为0°。轮廓中的坐标值随角度的变化而变化。设角度为变量#1,将对应的X值和Z值用数学表达式表示,角度由90°自减产生相应的值,从而形成加工循环。
这里必须注意在编程中一定要加入左补偿,将立铣刀的半径考虑其中,否则加工轮廓将会变小。在华中系统中角度需化成弧度进行编程,即#1 则变为#1*PI/180,具体程序如下。
#1=90 赋值起始角度为90 度
WHILE#1 GE 0 条件表达式
#2=25*COS[#1*PI/180] X 值表达式
#3=25*SIN[#1*PI/180] Z 值表达式
G01 Z[#3-25]F50 下刀
G41G01 X[#2]Y0 D01 F100 加工到起点
G02 I[-#2]J0 F100 加工圆
#1=#1-1 变量自减
ENDW 循环结束
2.1.2 轮廓循环
球面粗加工根据球面角度的变化将产生对应的圆轮廓半径值,立铣刀采用自上而下加工方式时在加工圆轮廓与毛坯之间还有大量余量需要去除,余量采用等距离方式切削,考虑到刀具的韧性及加工效率,轮廓之间的间距可为刀具直径的50%。在加工中程序首先根据角度的变化,刀具达到相应的高度值,快速到达该角度对应的圆轮廓的加工起点,运用左补偿进行顺时针整圆切削,随后进入第二次循环,设加工圆轮廓的半径为变量#4,此变量#4 的表达式为变量#2+5,即在原来的圆轮廓的半径上加上立铣刀的半径作为等距离偏移值,当#4 变量小于球的半径时则继续进行圆轮廓加工,#4 变量自动叠加,间距为5 mm,程序循环可形成间距为5 mm 的圆轮廓,从而去除多余的毛坯余量,具体程序如下。
#4=#2+5 赋值变量
WHILE[#4]LE25 条件表达式
G41 G01 X[#4]Y0 D01 F100 加工至刀具起点
G02 I[-#4]J0 F100 加工圆轮廓
#4=#4+5 变量自加
ENDW 循环结束
2.1.3 球面粗加工程序
将深度循环设为第一程序循环,将毛坯余量轮廓加工循环设个第二循环,将2 个程序进行循环嵌套。采用直径为10 mm 的立铣刀自上而下进行加工,刀具的起点为(60,0,25),轮廓间距为5 mm(刀具的50%),角度从90°递减至0°,角度的间距为1°,每改变角度一次则加工一层,而每层轮廓则为间距5 mm的圆轮廓循环切削,由里向外加工,直至加工到圆柱的边缘,达到去除毛坯余量的目的,具体程序如下。
O0001 程序名
G54G90 建立工件坐标系
M03S1000 主轴正转,设定转速
G00 X60 Y0 快速到点
Z5 接近工件表面
#1=90 设定起始角度
WHILE#1GE0 设定跳转条件
#2=25*COS[#1*PI/180] 设定圆轮廓半径
#3=25*SIN[#1*PI/180] 设定Z 值
G01Z[#3-25]F50 下刀
G41G01X[#2]Y0 D01 F100 圆轮廓起点
GO2 I[-#2]J0 加工圆轮廓
#4=#2+5 设置#4 变量
WHILE[#4]LE 25 设置跳转条件
G01 X[#4]Y0 F100 加工到轮廓起点
G02 I[-#4]J0 F100 加工圆轮廓(程序循环去除余量)
#4=#4+5 变量自加
ENDW 轮廓循环结束
#1=#1-1 #1 角度变量自减
ENDW 角度循环结束
G0X60 Y0 快速回到起点
G0Z100 抬刀
M05 主轴停转
M30 程序结束
2.2 球面精加工
球面精加工使用是半径为r2的球头刀,编程中将以球头刀的球心作为加工轨迹点,所以在X和Z的表达式中需要加入球头刀半径r2,a为OC与OX的夹角,根据球面的参数方程可知轮廓中X2、Z2的数学表达式为:X2=(r1+r2)×cosa,Z2=(r1+r2)×sina,如图2 所示。
图2 球面精加工
球面的精加工同样采用自上而下的加工方式,使用直径为10 mm 的球头铣刀铣削,逐层拟合球面轮廓。将角度设为变量,起始值为90°,终止值为0°,间距值为0.1°。随角度的变化将会产生相应的X值和Z值,在相应的Z值位置加工相应的圆轮廓,根据角度的递减铣削凸球面,其中精度由间距决定,间距越小则加工精度越高。在编程时将球头铣刀的半径考虑其中,根据球头铣刀的球心进行编程。加工中特别注意在机床对刀时一定要将ZO设在球头铣刀的球心,否则将出现加工错误。由于在粗加工时已经把余量大部分去除,所以精加工时只需要根据角度变化编制一个循环程序即可。具体程序如下。
O0002 程序名
G54G90 建立工作坐标系
M03S1500 主轴正转,设定转速
G0X60Y0 快速定位
G0Z5 接近工件
#1=90 设定变量起始值
WHILE#1GE0 循环条件
#2=30*COS[#1*PI/180] 轮廓X 值表达式
#3=30*SIN[#1*PI/180] 轮廓Z 值表达式
G01 Z[#3-30]F50 下刀
G01 X[#2]Y0 到轮廓起点
G02 I[-#2]J0 加工圆轮廓
#1=#1-0.1 角度变量自减
ENDW 循环结束
G0 X60 Y0 快速回到起点
G0Z100 抬刀
M05 主轴停转
M30 程序结束
3 结束语
本文通过凸半球面的宏程序编程阐述了数控铣床曲面宏程序的编程思路及方法。结果表明,宏程序可以用变量表示有变化的轮廓尺寸,通过对变量的修改来完成形状相似或相同零件的加工,编程可读性强、易修改、程序段简洁,节省了系统的存储空间,广泛地应用于生产实践中,在曲面加工中可灵活使用,有效提高了生产效率。