G54数控宏程序教程(车床篇)讲解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
由浅入深宏程序1-宏程序入门基础之销轴加工
对于没有接触过宏程序人,觉得它很神秘,其实很简单,只要掌握了各类系统宏程序的基本格式,应用指令代码,以及宏程序编程的基本思路即可。
对于初学者,尤其是要精读几个有代表性的宏程序,在此基础上进行模仿,从而能够以此类推,达到独立编制宏程序的目的。本教程将分步由浅入深的将宏程序讲解给大家,作者水平有限,也希望各位同仁提供更好的思路。
下面大家先看一个简单的车床的程序,图纸如下:
要求用外圆刀切削一个短轴,这里只列举程序的前几步:
T0101
M3S800
G0X82Z5
G0X76
G1Z-40F0.2
X82
G0Z5
G0X72
G1Z-40F0.2
X82
G0Z5
G0X68
G1Z-40F0.2
X82
G0Z5
G0X68
G1Z-40F0.2
X82
G0Z5
........
G0X40
G1Z-40F0.2
X82
G0Z5
G0X150Z150
M5
M30
从上面程序可以看出,每次切削所用程序都只是切削直径X有变化,其他程序代码未变。因此可以将一个变量赋给X,而在每次切削完之后,将其改变为下次切削所用直径即可。
T0101
M3S800
G0X82Z5
#1=76赋初始值,即第一次切削直径
N10 G0X[#1] 将变量赋给X,则X方向进刀的直径则为#1变量中实际存储值。N10是程序G1Z-40F0.2 段的编号,用来标识本段,为后面循环跳转所用。
X82
G0Z5
#1=#1-4每行切深为2mm,直径方向递减4mm
IF [#1GE40] GOGO 10如果#1 >= 40,即此表达式满足条件,则程序跳转到N10继续执行。G0X150Z150 当不满足#1 >= 40,即#1<40,则跳过循环判断语句,由此句继续向后执行。M5
M30
由浅入深宏程序2-宏程序之销轴粗精加工
本篇文章利用宏程序简单模仿数控系统的外圆车削循环功能。在此用前一篇的图纸与程序
原程序:
T0101
M3S800
G0X82Z5 粗加工开始
#2=0.05 Z向的加工余量
#3=0.5 外圆方向的加工余量
#4=0.3 每层切削后的回退量
#1=76+2*#3考虑了精加工余量的第一次切削直径
N10 G0X[#1] 将变量赋给X,则X方向进刀的直径则为#1变量中实际存储值。N10是程序G1Z[-40+#2]F0.2 段的编号,用来标识本段,为后面循环跳转所用。
X[#1+#4] 每次切削只回退#4的值
G0Z5
#1=#1-4单边切深为2mm,直径方向每次递减4mm
IF [#1GE40] GOGO 10如果#1 >= 40,即此表达式满足条件,则程序跳转到N10继续执行。M03S1200 当不满足#1 >= 40,即#1<40,则跳过循环判断语句,由此句继续向后执行。G0X40 由此开始精加工
G1Z-40F0.1
X82
G0X150Z150
M5
M30
由浅入深宏程序3-宏程序车半球面
在不使用循环切削加工圆弧时,可以有几种不同的方式来安排走刀轨迹,本篇文章采用将圆弧段沿X方向偏移,由外籍内的加工方式进行。如图所示R20圆弧,假设刀具每次单边切深2mm,直径每刀吃4mm,则由端面切入的位置可以计算出需要切削:40/4=10 刀
每条圆弧起点和终点的Z坐标不变,但X坐标都同时向+X方向偏移一个相同的值,因此可设偏移量为#1,初始值为#1=36
圆弧起点X坐标为#2=0+#1
圆弧终点X坐标为#3=40+#1
宏程序编制如下:
T0101
M3S800
G0X42Z5
#1=36赋初始值,即第一个圆弧直径偏移量
N10 #2=0+#1 计算圆弧起点的X坐标
#3=40+#1 计算圆弧终点的X坐标
G0X[#2] 快速到达切削直径
G1Z0F0.1 直线切至圆弧起点
G3X[#3]Z-20R20F0.1 切削圆弧
G1X42 直线插补切削至外圆
G0Z5 退至端面外侧
#1=#1-4直径方向递减4mm
IF [#1 GE 0] GOGO 10如果#1 >= 0,即此表达式满足条件,则程序跳转到N10继续执行。G0X150Z150 当不满足#1 >=0,即#1<0,则最后一条圆弧已经切完,跳出循环。
M5
M30
由浅入深宏程序4-圆的标准方程编制宏程序车半球面
我们知道无论什么样的曲线,数控系统都是CAD/CAM软件在处理时都会将其按照内部的算法划分成小段的直线进行加工,接下来我们利用圆的方程来将直线划分成小段直线在利用宏程序对其加工。下图为圆的标准方程
X*X+Y*Y=R*R,若将X和Y用参数变量代替可改写为#1*#1+#2*#2=R*R
圆弧可沿#1方向划分成无数小段直线,然后求出其相应端点坐标,再求出相对的数控车床中的坐标,再按直线进行编程加工。如下图所示:
则此段圆弧精加工轨迹为:
G0X0
G1Z0F0.1
#1=0
N10 #2=SQRT[20*20-#1*#1] SQRT表示开平方
#3=#1-20 圆的原点在工件坐标左侧20,所以圆弧上所有点坐标Z要减20
#4=2*#2 圆的方程计算出的为半径值,需转化为直径值才能与直径编程对应。
G1X[#4]Z[#3]F0.1 沿小段直线插补加工
#1=#1-0.5 递减一小段距离,此值越小,圆弧越光滑。
IF [#1GE0] GOTO 10 条件判断是否到达终点。
G1X42 直线切出外圆
如果要再加上分层的粗加工,设偏移量为#5,则程序改为
T0101
M3S800
G0X42Z5
#5=36
N5 G0X[#5]
G1Z0F0.1
#1=20
N10 #2=SQRT[20*20-#1*#1] SQRT表示开平方
#3=#1-20 圆的原点在工件坐标左侧20,所以圆弧上所有点坐标Z要减20
#4=2*#2+#5 圆的方程计算出的为半径值,需转化为直径值才能与直径编程对应。G1X[#4]Z[#3]F0.1 沿小段直线插补加工
#1=#1-0.5 递减一小段距离,此值越小,圆弧越光滑。
IF [#1 GE 0] GOTO 10 条件判断是否到达终点。
G1X42 直线插补切出外圆
G0Z5
#5=#5-4
IF [#5 GE 0] GOTO 5
G0X150Z150
M5
M30
以上程序分内外二层循环,外层循环为分层加工,内层循环为小段直线插补一条圆弧。