数控宏程序太复杂怎么办?没有时间详细学怎么办?没有师傅带怎么办?
不急,关注邹军爱数控,一步一个脚印让你学到绝活!
目前数控程序编制基本上采用软件编写(CAM),手工编写两种方式。
对于形状规则,简单,节点交少的零件采用手工编程可以很方便的解决。
对于一些复杂的零件往往采用软件编写。
但是零件都是由一些面,孔或者曲面等组成,不管是手工编制还是软件编制,无外乎是对这些特征来编制。
然而零件的尺寸更改或者刀具等更改,我们还得重新编制程序,也就是说“一个萝卜一个坑”的程序。
而很多形状相同而尺寸不相同的零件,或者说零件加工有一定规律(下面我会举例说明)。我们可以采用参数化编程来实现此类零件的编写,这样不仅可以简化我们的编程量,而且程序非常简洁!
之前我加工了几批零件,如下毛坏图:
这几批零件孔种类特别多。孔的大小,深度等都不一样。也许大家会想到很多加工方法,比如用钻头扩孔,用镗刀镗孔等方法。
确实钻削和镗削依旧是孔加工的好方法,但是,需要考虑刀具上的投资成本。零件种类多,可能会因为不同尺寸的孔,采取不同种类的钻头,镗刀加工。“一个萝卜一个坑”,每个规格的孔或许需要一种刀具甚至更多刀具。
针对这个特点,我采用了螺旋插补铣孔。由于螺旋插补铣孔覆盖各种尺寸的孔,因而就能够显著降低投资和减少刀具的调整。同时零件孔底还不平整,个别孔的余量还比较大,因此螺旋插补铣削孔具有显著的优势。
螺旋插补铣 (如何铣孔,还是来个图直观,见下图)
刀具同时在圆弧路径(X和Y)和轴向(Z)上移动。也就是说通过G02/G03 X_Y_Z_......三轴联动实现插补铣。
那么如何参数化编程呢?
在编写加工程序时,把一组命令构成的某种特定功能,象子程序那样记录在储存器中,(子程序如下:)
%
O0001
G0X0. Y0.
#5=[#1-#3]/2
G0X#5
Z[-#4+1]
G1 Z-#4F[#18*0.5]
WHILE[#4LT#2]DO1
#4=#4+#17
G3 I-#6 Z-#4F#9
END1
G3I-#5
G1X[#5-1]
G0Z50.
M99
%
这些特定的功能用参数来代表,比如 A表示孔的直径、B表示深度、C表示刀具直径、I表示Z坐标设为自变量、F表示进给速度、Q表示每圈距。
这样使用者只需明白这些参数的含义,根据图纸具体加工尺寸,只需给这些参数赋予具体值即可。
上图零件孔尺寸分别为:
1. D60+0.2(底孔48)深16.5
2. D62+0.1(底孔58) 深25.5.
3. D52+0.3(底孔46) 深50.
4. D62.5+0.2(底孔58) 深25.5
那么参数化程序如何编写呢?
加工上面4组孔程序如下:
%
O1000
G0G17G40G49G80G90
T1M06
G54G00X0.Y0.
G43Z50.H1
S1000M03
G65P1 A60.1 B16.5. C32. I0. Q0.3 F50. (D60+0.2 )
G52X-120.Y10.(LOCAL)
G65P1 A62.5 B25.5 C32. I0. Q0.8 F100. (D62+0.1 )
G52X-30.Y-108. (LOCAL)
G65P1 A52.15 B50. C32. I0. Q0.8 F100. (D52+0.3 )
G52X130.Y-28. (LOCAL)
G65P1 A62.6 B25.5 C32. I0. Q0.8 F100. (D62.5+0.2 )
G52X0.Y0.
G91G28Z0.
M30
%
以上几段程序便完成了所有螺旋插补铣孔的加工,大家可以把上面子程序储存在机床中,只需明白A ,B,C等含义,插补铣孔时,根据图纸尺寸,只需给A, B,C等参数赋予具体数值。比如你加工D20孔,深10,刀具D10合金铣刀,程序便是:
G65P1A20.B10.C10.I0.Q0.5F100.
也就是说我改变几个直观的参数便很快编写出加工的程序。
关注邹军爱数控,获取更多原创的干货!
閱讀更多 鄒軍愛數控 的文章