1、宏程序(车床篇)由浅入深宏程序 1-宏程序入门基础之销轴加工对于没有接触过宏程序人,觉得它很神秘,其实很简单,只要掌握了各类系统宏程序的基本格式,应用指令代码,以及宏程序编程的基本思路即可。对于初学者,尤其是要精读几个有代表性的宏程序,在此基础上进行模仿,从而能够以此类推,达到独立编制宏程序的目的。本教程将分步由浅入深的将宏程序讲解给大家,作者水平有限,也希望各位同仁提供更好的思路。下面大家先看一个简单的车床的程序,图纸如下:要求用外圆刀切削一个短轴,这里只列举程序的前几步:T0101M3S800G0X82Z5G0X76G1Z-40F0.2X82G0Z5G0X72G1Z-40F0.2X82G0
2、Z5G0X68宏程序(车床篇)G1Z-40F0.2X82G0Z5G0X68G1Z-40F0.2X82G0Z5.G0X40G1Z-40F0.2X82G0Z5G0X150Z150M5M30从上面程序可以看出,每次切削所用程序都只是切削直径 X 有变化,其他程序代码未变。因此可以将一个变量赋给 X,而在每次切削完之后,将其改变为下次切削所用直径即可。T0101M3S800G0X82Z5#1=76 赋初始值,即第一次切削直径N10 G0X#1 将变量赋给 X,则 X 方向进刀的直径则为#1 变量中实际存储值。N10 是程序G1Z-40F0.2 段的编号,用来标识本段,为后面循环跳转所用。X82G0Z5
3、#1=#1-4 每行切深为 2mm,直径方向递减 4mmIF #1GE40 GOGO 10 如果#1 = 40,即此表达式满足条件,则程序跳转到 N10 继续执行。G0X150Z150 当不满足#1 = 40,即#1= 40,即此表达式满足条件,则程序跳转到 N10 继续执行。M03S1200 当不满足#1 = 40,即#1= 0,即此表达式满足条件,则程序跳转到 N10 继续执行。G0X150Z150 当不满足#1 =0,即#10,则最后一条圆弧已经切完,跳出循环。M5M30由浅入深宏程序 4-圆的标准方程编制宏程序车半球面我们知道无论什么样的曲线,数控系统都是 CAD/CAM 软件在处理时
4、都会将其按照内部的算法划分成小段的直线进行加工,接下来我们利用圆的方程来将直线划分成小段直线在利用宏程序对其加工。下图为圆的标准方程X*X+Y*Y=R*R, 若将 X 和 Y 用参数变量代替可改写为 #1*#1+#2*#2=R*R圆弧可沿#1 方向划分成无数小段直线,然后求出其相应端点坐标,再求出相对的数控车床中的坐标,再按直线进行编程加工。如下图所示:宏程序(车床篇)则此段圆弧精加工轨迹为:G0X0G1Z0F0.1#1=0N10 #2=SQRT20*20-#1*#1 SQRT 表示开平方#3=#1-20 圆的原点在工件坐标左侧 20,所以圆弧上所有点坐标 Z 要减 20#4=2*#2 圆的方
5、程计算出的为半径值,需转化为直径值才能与直径编程对应。G1X#4Z#3F0.1 沿小段直线插补加工#1=#1-0.5 递减一小段距离,此值越小,圆弧越光滑。IF #1GE0 GOTO 10 条件判断是否到达终点。G1X42 直线切出外圆如果要再加上分层的粗加工,设偏移量为#5,则程序改为T0101M3S800G0X42Z5#5=36N5 G0X#5G1Z0F0.1#1=20N10 #2=SQRT20*20-#1*#1 SQRT 表示开平方#3=#1-20 圆的原点在工件坐标左侧 20,所以圆弧上所有点坐标 Z 要减 20#4=2*#2+#5 圆的方程计算出的为半径值,需转化为直径值才能与直径编
6、程对应。G1X#4Z#3F0.1 沿小段直线插补加工#1=#1-0.5 递减一小段距离,此值越小,圆弧越光滑。IF #1 GE 0 GOTO 10 条件判断是否到达终点 。宏程序(车床篇)G1X42 直线插补切出外圆G0Z5#5=#5-4IF #5 GE 0 GOTO 5G0X150Z150M5M30以上程序分内外二层循环,外层循环为分层加工,内层循环为小段直线插补一条圆弧。由浅入深宏程序 5-圆的参数方程编制宏程序车半球面圆的标准方程为:X=R*COS Y=R*SIN可改写为: #1=20*cos#3 #3 为参数方程对应图纸中角度#2=20*sin#3使用参数方程比圆的标准方程具有一个优点
7、,从下图中可以看出,使用标准方程式,宏程序(车床篇)在工件最右端,划分直线坡度较大,从右至左划分线段不均匀,而使用圆的参数方程所划分的直线段是按照圆周方向划分的,因此分布均匀,从而使用零件表面加工质量好。相应程序修改如下:T0101M3S800G0X42Z5#6=36N5 G0X#6G1Z0F0.1#3=0N10 #1=20*COS#3 #2=20*SIN#3 #4=2*#2+#6 圆的方程计算出的为半径值,需转化为直径值才能与直径编程对应。#5=#1-20G1X#4Z#5F0.1 沿小段直线插补加工#1=#1+3 递减 3 度,此值越小,圆弧越光滑。IF #1 LE 90 GOTO 10 条
8、件判断是否到达终点 。G1X42 直线插补切到工件外圆之外G0Z5#6=#6-4IF #6 GE 0 GOTO 5G0X150Z150M5M30宏程序(车床篇)由浅入深宏程序 6-利用椭圆标准方程编制数控车宏程序如果看了前几篇,那么接下来这两篇加工椭圆的宏程序应该很容易理解。椭圆标准方程 X*X/a*a+Y*Y/b*b=1,其中 a 为长半轴,b 为短半轴,若将 X 和 Y 用参数变量代替可改写为#1*#1/a*a+#2*#2/b*b=1椭圆可沿长半轴#1 方向划分成无数小段直线,然后求出其相应端点坐标,再求出相对的数控车床中的坐标,再按直线进行编程加工。如下图所示:宏程序(车床篇)假设椭圆
9、a=30,b=20,只加工半个椭圆,则此段椭圆精加工轨迹为:G0X0G1Z0F0.1#1=30N10 #2=20*SQRT1-30*30/#1*#1 SQRT 表示开平方#3=#1-30 椭圆的原点在工件坐标左侧 30,所以椭圆上所有点坐标 Z 要减 20#4=2*#2 方程计算出的为半径值,需转化为直径值才能按直径编程。G1X#4Z#3F0.1 沿小段直线插补加工#1=#1-1 递减一小段距离,此值越小,椭圆越光滑。IF #1GE0 GOTO 10 条件判断是否到达终点。G1X42 直线切出外圆如果要再加上分层的粗加工,设偏移量为#5,则程序改为T0101M3S800G0X42Z5#5=36
10、N5 G0X#5G1Z0F0.1#1=30N10 #2=20*SQRT1-30*30/#1*#1 SQRT 表示开平方#3=#1-30 椭圆的原点在工件坐标左侧 30,所以椭圆上所有点坐标 Z 要减 20#4=2*#2 方程计算出的为半径值,需转化为直径值才能按直径编程。G1X#4Z#3F0.1 沿小段直线插补加工#1=#1-1 递减一小段距离,此值越小,椭圆越光滑。IF #1GE0 GOTO 10 条件判断是否到达终点。G1X42 直线插补切出外圆G0Z5#5=#5-4IF #5 GE 0 GOTO 5G0X150Z150M5M30以上程序分内外二层循环,外层循环为分层加工,内层循环为小段直线插补一条四分之一椭圆弧。