1.铣削正多边形
铣削正多边形时通常会考虑采用自动编程,因为正多边形各顶点的坐标不便于计算。但考虑到三菱系统数控铣床上有一个宏指令G34,可以方便地用来铣正多边形。
机床说明书上介绍的G34的功能是圆周孔循环,即用来钻削圆周均布的孔。格式是G34X—Y—I—J—K一(X、Y:圆心,I:半径,J:初始角度,K:孔数)。由于G34功能是由宏程序来实现的,而在宏程序里只是定出了点的坐标,故可以用来加工正多边形。
例如:铣削如图1所示正九边形。此正九边形的外接圆直径是Φ40mm。工件原点设在工件上表面中心处。
G54 G90 GO X35 Y10 S1000 M3 Z一10 G1 G41 D1 X20 F300 G34 X0 Y0 120 JO K一9 L2 X20 Y0 Y-10 GO G40X35 Z100 M5 M30 %
程序中G34一行即实现了铣正多边形,而且是铣了两圈(第二圈用于精铣)。由于不是钻孔,所以可以用G41半径补偿功能。由于宏指令后可跟£值表示调用次数,故在G34后写上L2即实现了铣两圈(尽管说明书中未提及G34的三值)。K-9表示顺时针方向切削。再举一个铣削内形、已知内切圆直径的例子,如图2所示。
此正六边形的对边宽度是30ram,也就是内切圆的直径是Φ30mm。已知内切圆直径时,G34的,值是内切圆半径除以COS(180°/多边形边数)。铣削内形时,可以直接计算出刀具中心移动路径所形成的正多边形的对边距离,所以不需要使用半径补偿功能了。工件原点设在工件上表面中心。用Φ10mm的立铣刀加工, (30—10)/2=10(mm),故G34的,值是10/COS[30](需事先在中心钻好下刀孔)。
G54G90GOXOY0 S1000M3 Z-11 G1X10/COS E30]F300 G34XOY0110/COS[30]J60K6L2 X0 G0Z100M5 M30 %
用G34铣削正多边形,调整多边形的大小、修改多边形的边数都非常方便。
2 平面矩形挖槽
既然G34可以用来加工正多边形,那么G37.1就可以用来进行矩形挖槽。机床说明书上介绍的G37.1的功能是“棋盘孔循环”,即钻削若干行、若干列的点阵孔。格式是G37.1X_Y_I_P_J_K_(x、Y:初始位置,I:列间距,P:列数,J:行间距,K:行数)。
例如,要用j116mm的立铣刀加工图3所示60mm×60mm深10mm的正方形凹槽,工件坐标系原点设在工件上表面中心。事先在(-21,-21)处预钻好下刀孔。半径补偿量D1=8。
G54G90GOX-21Y-2l S1000M321 GlZ-10F100 G37.1 X-21 Y-21 142 J6 P2 K8 G41D1X-30 Y-30 X30 Y30 X-30 Y20 G40X-10 G0Z100M5 M30 %
使用G37.1挖槽时,x、y是左下角的刀具中心坐标。必须根据铣刀半径及预留的余量算好刀具中心位置,在G37.1中是不能使用半径补偿的。,值是x向挖槽长度(图示槽宽减去刀具直径和两侧余量),P值固定为2,而J值×(K值-1)则是y向挖槽长度。
3 铣削正弦曲线槽
铣削正弦曲线时通常会考虑把x设为变量,y作为变量的函数。但如果采用下述方法则编程非常简单。
以图4为例,该曲线槽的中心线是正弦曲线,周期为31.416,振幅为10,在工件上有1.5个周期。编程时,可把此正弦曲线看作轴线平行于X轴的空间螺旋线在XY平面上的投影;加工时,利用机床的“z轴锁住”功能使z轴参与运算而不运动。工件坐标系的原点设在左边中点以外的四分之一周期处(31.416/4=7.854)。程序如下:
G54 G90 G0 X0 Y0 S1000 M3 Z-7 M0(这一行不能省去) G19 G2 X62.832 J5 P2 F200 M30 %
程序运行到MO时,机床处在暂停状态。此时操作者按下“z轴锁住”键,再按“循环启动”键让程序继续执行。由于z轴不再运动,机床便在XY平面内插补出正弦曲线。程序执行完后,按灭“z轴锁住”键,手动将z轴升起直到离开工件上表面(实际加工时必须先用Φ5mm的铣刀粗铣,再用Φ6mm的铣刀精铣至少两遍,否则由于让刀现象会把槽铣宽而无法使用)。
4 逻辑型变量用作数据
逻辑型(也称作布尔型)变量表示“真”和“假”。计算机中用1表示“真”,0表示“假”。对两个数进行等于、大于、小于的比较后将得到布尔值。在数控编程中,布尔值同样可以作为数据参与运算,从而可以简化程序。
例如,铣削如图5所示内腔侧壁。毛坯采用铸件,单边有2mm左右余量(俯视图中以双点划线表示)。分层铣削,每次在z方向进5mm。工件原点在上表面左上角。
G0G54G90X65Y-30 S1000M3210F200D1 #l=5 WHILE[#1LE50]D01 G0Z-#l GlG41Y-8 X30 G[#1 LE 25]*2+1 Y-52 R22 X90 Y-8 X65 G40GOY-30 #1=#1+5 ENDl G0Z150M5 M30 %
程序中G[#1LE25]*2+1 Y一52 R22一句的意思是如果深度没有超过25mm,则走R22mm的圆弧,超过25mm则走直线。“#1LE25”表示判断#1是否小于等于25mm。#1是z方向的深度,当#1≤25时,[#1LE25]的值是1(“真”),G后面的表达式[#1LE25]*2+1的值是3,这一行程序相当于G3,即走圆弧;当#1>25时,[#1LE25]的值是o(“假”),G后面的表达式[}}1LE25]*2+1的值是1,这一行程序相当于G1,即走直线。
5 利用补偿量简化编程
在手工编程时,应尽量避免计算切点的坐标。因为切点坐标不仅计算量大,而且不利于在机床上调整程序。在遇到非直角的圆弧过渡时,尽可能地使用数控系统的倒圆角功能,并配合半径补偿功能,以简化程序。
例如,要铣削如图6所示的凸台,为了避免计算各切点坐标,可按中心线编制程序再进行偏移,编程就很方便了。工件原点在左上角。
G54 GO G90 X40 Y-6 S800 M3 ZO G1 G41 D1 X16 F150 Y[-48+12.5/TAN[30]],R13 G39 Y-48 G91 X12.5 X-12.5Y[12.5/TAN[30]],R13 G39 G90 Y-16 Y-17 G40 X40 GO Z100M5 M30 %
需注意,补偿量D1的值不是刀具的半径!而是铣刀半径与要铣出的形状的宽度的一半的和。例如,用Φ10mm的立铣刀,则D1的值是5+8=13(mm)。如果用jΦ8mm的立铣刀,则D1的值是4+8=12(mm)。程序中G39的作用是拐角处补偿成圆弧。
以上各程序所举的例子均是生产中的零件(或零件的一部分)。程序虽然是在三菱系统数控铣床上运行的,但这种编程思路对于其他数控系统也有一定的借鉴意义。
(审核编辑: 智汇胡妮)