数控宏程序教程车床篇1经典.docx
《数控宏程序教程车床篇1经典.docx》由会员分享,可在线阅读,更多相关《数控宏程序教程车床篇1经典.docx(14页珍藏版)》请在冰点文库上搜索。
![数控宏程序教程车床篇1经典.docx](https://file1.bingdoc.com/fileroot1/2023-5/16/146cde11-6bac-44b3-9b37-a35a55b34030/146cde11-6bac-44b3-9b37-a35a55b340301.gif)
数控宏程序教程车床篇1经典
由浅入深宏程序1-宏程序入门根底之销轴加工
对于没有接触过宏程序人,觉得它很神秘,其实很简单,只要掌握了各类系统宏程序的根本格式,应用指令代码,以及宏程序编程的根本思路即可。
对于初学者,尤其是要精读几个有代表性的宏程序,在此根底上进展模仿,从而能够以此类推,到达独立编制宏程序的目的。
本教程将分步由浅入深的将宏程序讲解给大家,作者水平有限,也希望各位提供更好的思路。
下面大家先看一个简单的车床的程序,图纸如下:
要求用外圆刀切削一个短轴,这里只列举程序的前几步:
O0001
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;赋初始值,即第一次切削直径
N10G0X[*1];将变量赋给X,那么X方向进刀的直径那么为*1变量中实际存储值。
N10是程序
G1Z-40F0.2;段的编号,用来标识本段,为后面循环跳转所用。
X82;
G0Z5;
*1=*1-4;每行切深为2mm,直径方向递减4mm
IF[*1GE40]GOTO10如果*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;考虑了精加工余量的第一次切削直径
N10G0X[*1];将变量赋给X,那么X方向进刀的直径那么为*1变量中实际存储值。
N10是程序
G1Z[-40+*2]F0.2;段的编号,用来标识本段,为后面循环跳转所用。
X[*1+*4];每次切削只回退*4的值
G0Z5;
*1=*1-4;单边切深为2mm,直径方向每次递减4mm
IF[*1GE40]GOGO10;如果*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切削圆弧
G1U2.直线插补切削至外圆
G0Z5退至端面外侧
*1=*1-4直径方向递减4mm
IF[*1GE0]GOTO10如果*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]GOTO10条件判断是否到达终点。
G1X42直线切出外圆
如果要再加上分层的粗加工,设偏移量为*5,那么程序改为
T0101
M3S800
G0X42Z5
*5=36
N5G0X[*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[*1GE0]GOTO10条件判断是否到达终点。
G1X42直线插补切出外圆
G0Z5
*5=*5-4
IF[*5GE0]GOTO5
G0X150Z150
M5
M30
以上程序分外二层循环,外层循环为分层加工,层循环为小段直线插补一条圆弧。
由浅入深宏程序5-圆的参数方程编制宏程序车半球面
圆的标准方程为:
X=R*COSθ
Y=R*SINθ
可改写为:
*1=20*cos[*3]*3为参数方程对应图纸中角度
*2=20*sin[*3]
使用参数方程比圆的标准方程具有一个优点,从以下图中可以看出,使用标准方程式,在工件最右端,划分直线坡度较大,从右至左划分线段不均匀,而使用圆的参数方程所划分的直线段是按照圆周方向划分的,因此分布均匀,从而使用零件外表加工质量好。
相应程序修改如下:
T0101
M3S800
G0X42Z5
*6=36
N5G0X[*6]
G1Z0F0.1
*3=0
N10*1=20*COS[*3]
*2=20*SIN[*3]
*4=2**2+*6圆的方程计算出的为半径值,需转化为直径值才能与直径编程对应。
*5=*1-20
G1X[*4]Z[*5]F0.1沿小段直线插补加工
*1=*1+3递减3度,此值越小,圆弧越光滑。
IF[*1LE90]GOTO10条件判断是否到达终点。
G1X42直线插补切到工件外圆之外
G0Z5
*6=*6-4
IF[*6GE0]GOTO5
G0X150Z150
M5
M30
由浅入深宏程序6-利用椭圆标准方程编制数控车宏程序
如果看了前几篇,那么接下来这两篇加工椭圆的宏程序应该很容易理解。
椭圆标准方程X*X/a*a+Y*Y/b*b=1,其中a为长半轴,b为短半轴,假设将X和Y用参数变量代替可改写为*1**1/a*a+*2**2/b*b=1
椭圆可沿长半轴*1方向划分成无数小段直线,然后求出其相应端点坐标,再求出相对的数控车床中的坐标,再按直线进展编程加工。
如以下图所示:
假设椭圆a=30,b=20,只加工半个椭圆,那么此段椭圆精加工轨迹为:
G0X0
G1Z0F0.1
*1=30
N10*2=20*SQRT[1-30*30/*1**1]SQRT表示开平方
*3=*1-30椭圆的原点在工件坐标左侧30,所以椭圆上所有点坐标Z要减20
*4=2**2方程计算出的为半径值,需转化为直径值才能按直径编程。
G1X[*4]Z[*3]F0.1沿小段直线插补加工
*1=*1-1递减一小段距离,此值越小,椭圆越光滑。
IF[*1GE0]GOTO10条件判断是否到达终点。
G1X42直线切出外圆
如果要再加上分层的粗加工,设偏移量为*5,那么程序改为
T0101
M3S800
G0X42Z5
*5=36
N5G0X[*5]
G1Z0F0.1
*1=30
N10*2=20*SQRT[1-30*30/*1**1]+*5SQRT表示开平方
*3=*1-30椭圆的原点在工件坐标左侧30,所以椭圆上所有点坐标Z要减20
*4=2**2方程计算出的为半径值,需转化为直径值才能按直径编程。
G1X[*4]Z[*3]F0.1沿小段直线插补加工
*1=*1-1递减一小段距离,此值越小,椭圆越光滑。
IF[*1GE0]GOTO10条件判断是否到达终点。
G1U5直线插补切出外圆
G0Z5
*5=*5-4
IF[*5GE0]GOTO5
G0X150Z150
M5
M30
以上程序分外二层循环,外层循环为分层加工,层循环为小段直线插补一条四分之一椭圆弧。
由浅入深宏程序7-椭圆的参数方程编制宏程序车椭球面
椭圆的参数方程为:
X=a*COSθ
Y=b*SINθ
可改写为:
*1=30*cos[*3]*3为参数方程对应的中角度
*2=20*sin[*3]
相应程序修改如下:
T0101
M3S800
G0X42Z5
*6=36
N5G0X[*6]
G1Z0F0.1
*3=0
N10*1=30*COS[*3]
*2=20*SIN[*3]
*4=2**2+*6计算出的为半径值,需转化为直径值才能与直径编程对应。
*5=*1-30
G1X[*4]Z[*5]F0.1沿小段直线插补加工
*1=*1+3递减3度,此值越小,工件外表越光滑。
IF[*1LE90]GOTO10条件判断是否到达终点。
G1X42直线插补切到工件外圆之外
G0Z5
*6=*6-4
IF[*6GE0]GOTO5
G0X150Z150
M5
M30
由浅入深宏程序8-车床任意位置椭圆宏程序的编制
不在轴线上的椭圆宏程序编制也没有什么特殊的,只是改下偏置的数值罢了。
椭圆的参数方程为:
X=a*COSθ
Y=b*SINθ
可改写为:
*1=30*cos[*3]*3为参数方程对应的中角度
*2=20*sin[*3]
图中椭圆长半轴30mm,短半轴20mm,椭圆中心位置如以下图,不在轴线上,因此在计算编程所用的坐标值时,X方向要再加上40,Z方向要减去30+10=40
相应程序如下:
T0101
M3S800
G0X82Z5
*6=36
N5G0X[*6+40]
G1Z-10F0.1
*3=0
N10*1=30*COS[*3]
*2=20*SIN[*3]
*4=2**2+*6+40计算出的为半径值,需转化为直径值才能与直径编程对应。
*5=*1-30-10
G1X[*4]Z[*5]F0.1沿小段直线插补加工
*1=*1+3递减3度,此值越小,工件外表越光滑。
IF[*1LE90]GOTO10条件判断是否到达终点。
G1X82直线插补切到工件外圆之外
G0Z5
*6=*6-4
IF[*6GE0]GOTO5
G0X150Z150
M5
M30
由浅入深宏程序9-车床旋转椭圆宏程序的编制
要对斜椭圆进展编程,首先要知道单个坐标点旋转所用的公式。
如以下图所示,单个点逆时针旋转一定角度,公式推导如下:
s=rcos(a+b)=rcos(a)cos(b)–rsin(a)sin(b) (1.1)
t=rsin(a+b)=rsin(a)cos(b)+rcos(a)sin(b) (1.2)其中x=rcos(a) ,y=rsin(a)
代入(1.1),(1.2),s=xcos(b)–ysin(b) (1.3)
t=xsin(b)+ycos(b) (1.4)
根据以下图,原来的点〔*1,*2〕,旋转后的点〔*4,*5〕,那么公式:
*4=*1*COS[30]-*2*SIN[30]
*5=*1*SIN[30]+*2*COS[30]
以下图中椭圆旋转了30度,即*1=30旋转前后的点坐标的坐标原点都是椭圆中心。
程序如下:
T0101
M3S800
G0X82Z5
*6=16工件毛坯假设为90mm,*6为每层切削时椭圆弧向+X的偏移量。
N5G0X[*6+30+40]斜椭圆与端面的交点直径为70
G1Z0F0.1
*3=0
N10*1=30*COS[*3]对应角度*3的椭圆上的一个点的坐标,此为未旋转的椭圆的点
*2=20*SIN[*3]
*4=*1*COS[30]-*2*SIN[30]旋转30度之后对应的坐标值
*5=*1*SIN[30]+*2*COS[30]
*7=2**4+*6+40坐标平移后的坐标。
*8=*1-26
G1X[*7]Z[*8]F0.1沿小段直线插补加工
*1=*1+3递减3度,此值越小,工件外表越光滑。
IF[*1LE90]GOTO10条件判断是否到达终点。
G1X92直线插补切到工件外圆之外
G0Z5
*6=*6-4
IF[*6GE0]GOTO5
G0X150Z150
M05
M30