数控车工宏程序.docx
《数控车工宏程序.docx》由会员分享,可在线阅读,更多相关《数控车工宏程序.docx(15页珍藏版)》请在冰豆网上搜索。
数控车工宏程序
T0101;
G0X55Z5;(循环起点)
#1=8;(椭圆短半轴长度)
#2=15;(椭圆长半轴长度)
#3=1;(车削起始点,与到椭圆中心的距离有关)
N10#3=#3-0.2;(-0.2车削步进距,Z方向上每步进给0.2mm)
#4=SQRT[64-64*#3*#3/225];(椭圆公式64为#1*#1,225为#2*#2)
G01X[52-2*#4]Z#3F0.2;(52为椭圆中心到Z轴距离2*(18+8))
IF[#3GE-14.8]GOTO10;(如果#3大于等于-14.8,就回到N10行继续加工)
G0X55;
M30;
T0101;
G0X55Z5;
#1=8;(椭圆短半轴长度)
#2=15;(椭圆长半轴长度)
#3=1;
N10#3=#3-0.2;
#4=SQRT[64-64*#3*#3/225];(64为#1*#1,225为#2*#2)
G01X[30+2*#4]Z#3F0.3;(30为椭圆中心到Z轴距离2*15)
IF[#3GE-14.8]GOTO10;
G0X58;
M30;
T0101;
G0X55Z5;
#1=8;(椭圆短半轴长度)
#2=15;(椭圆长半轴长度)
#3=15
N10#3=#3-0.3;
#4=SQRT[64-64*#3*#3/225];(64为#1*#1,225为#2*#2)
G01X[50+2*#4]Z[#3-15]F0.2;(50为椭圆中心到Z轴距离2*25)
IF[#3GE0.3]GOTO10;
G0X68;
M30;
T0101;
G0X55Z18;
#1=8;(椭圆短半轴长度)
#2=15;(椭圆长半轴长度)
#3=15
N10#3=#3-0.3;
#4=SQRT[64-#3*#3*64/225];(64为#1*#1,225为#2*#2)
G01X[50-2*#4]Z[#3-15]F0.2;(50为椭圆中心到Z轴距离2*25)
IF[#3GE0]GOTO10;
G0X55;
M30;
T0101;
G0X45Z18;
#1=8;(椭圆短半轴长度)
#2=15;(椭圆长半轴长度)
#3=15;
N10#3=#3-0.3;
#4=SQRT[64-#3*#3*64/225];(64为#1*#1,225为#2*#2)
G01X[40-2*#4]Z[#3-21]F0.2;(40为椭圆中心到Z轴距离,21为椭圆中心到X轴距离15+6)
IF[#3GE-14.7]GOTO10;
G0X45;
M30;
T0101;
G0X50Z18;
#1=8;(椭圆短半轴长度)
#2=15;(椭圆长半轴长度)
#3=15
N10#3=#3-0.3;
#4=SQRT[64-#3*#3*64/225];(64为#1*#1,225为#2*#2)
G01X[30+2*#4]Z[#3-21]F0.2;(30为椭圆中心到Z轴距离)
IF[#3GE-14.7]GOTO10;
G0X50;
M30;
T0101M03S800;
G0X60Z5;
#1=8;(椭圆短半轴长度)
#2=15;(椭圆长半轴长度)
N5#3=1(车削起始点,与到椭圆中心的距离有关)
N10#3=#3-0.2;(-0.2车削步进距)
#4=SQRT[225-225*#3*#3/64];(64为#1*#1,225为#2*#2)
G01X[60-2*#4]Z#3F0.2;(30为椭圆中心到Z轴距离)
IF[#3GE-7.8]GOTO10;(如果#4大于等于-8,就回到N10行继续加工)
N15G0X62;
M30;
。
。
。
。
。
。
#1=15.3
N10#1=#1-0.3
#2=0.2*#1*#1
G1X[2*#2]Z[#1]F0.3
IF[#1GE-9.7]GOTO10
G0U25
。
。
。
。
。
。
1.以Z为变量
。
。
。
。
。
。
#1=0
N10#1=#1-0.3
#2=SQRT[#1/-0.2]
G1X[2*#2+20]Z[#1]F0.3
IF[#1GE-44.7]GOTO10
G0U5
Z5
。
。
。
。
。
。
2.以X为变量
。
。
。
。
。
。
#1=0
N10#1=#1+0.3
#2=-0.2*#1*#1
G1X[2*#1+20]Z[#2]F0.3
IF[#1LE14.7]GOTO10
G0U5
Z5
。
。
。
。
。
。
Y=SIN[X]
。
。
。
。
。
。
#1=0
N10#1=#1-1
#2=#1*3.14/180化成弧度*3.14/180
#3=SIN[#2]
G1X[2*#3+20]Z[#2]F0.3
IF[#1GE-360]GOTO10
G0U5
Z5
。
。
。
。
。
。
Y=4*SIN[2X]
#1=0
N10#1=#1-1
#2=#1*3.14/180
#3=#2*12.56/6.2812.56为正弦长度,6.28为周期2π如:
在42长度上有3个曲线周期,
则:
#3=#2*42/6.28/3(如下图)
#4=4*SIN[#3]
G1X[2*#4+20]Z[#2]F0.3
IF[#1GE-360]GOTO10
G0U8
Z5
例:
试题中列出曲线方程公式,则根据公式列出X、Z的公式宏程。
。
。
。
。
。
。
#1=1起始角度
N10#1=#1-0.4
#2=#1/10Z
#3=6*COS[#1]+34X
G1X#3Z#2F0.3
IF[#1GE-123.56]GOTO10判断角度
(IF[#2GE-12.356]GOTO10)判断长度
G2X68.901Z-20.64R5
G1X80C1
W-1
G0U5
。
。
。
。
。
。
一、。
。
。
。
。
。
#1=15
N10#1=#1-0.3Z
#2=SQRT[100-100*#1*#1/225]X
#3=#1*SIN[15]+#2*COS[15]
#4=#1*COS[15]-#2*SIN[15]
#5=2*#3
G1X[50-#5]Z[#4-20]F0.3
IF[#1GE-14]GOTO10
G0U5
。
。
。
。
。
。
二、。
。
。
。
。
。
G1X32
Z-10.16
#1=27.46起始角度
N10#1=#1+1从起始角度开始累加1度
#2=15*COS[#1]Z极坐标公式A*COS(θ)
#3=10*SIN[#1]XB*SIN(θ)
#4=#2*SIN[15]+#3*COS[15]
#5=#2*COS[15]-#3*SIN[15]
#6=2*#4
G1X[50-#6]Z[#5-20]F0.3
IF[#1LE151.94]GOTO10151.94为(180-28.06)度
G1Z-44
。
。
。
。
。
。
复合螺纹切削循环指令
编程格式:
G76P(m)(r)(α)Q(△dmin)R(d)
G76X(U)Z(W)R(I)F(f)P(k)Q(△d)
式中:
m——精加工重复次数;二位数
r——倒角量;二位数
α-刀尖角;
△dmin——最小切入量;(um)
d-精加工余量;(mm)
X(U)Z(W)——终点坐标;(mm)X指外螺纹的小径或内螺纹的大径。
I——螺纹部分半径之差,即螺纹切削起始点与切削终点的半径差。
圆柱螺纹时,i=0。
k——螺牙的编程高度(X轴方向的半径值);(um)
△d——第一次切入量(X轴方向的半径值);(um)
f——螺纹导程。
(mm)
例:
编写φ40直径圆柱螺纹的加工程序,螺距为6mm。
M3S600T0000;设定主轴转速时(S600),不能超出机床设定快速移动速度,否则乱牙。
G0X45Z10M08;
G76P020030Q40R0.02;0.04的精车余量,分两次切削,粗车最少吃刀深度为0.08mm。
G76X33Z-42R0P3500Q400F6;
梯形螺纹宏程加工(Tr40x6)
T0101
#1=40(螺纹大径)
N10G0X45Z5(车削螺纹起点)
G92X[#1]Z-42F6(螺纹循环指令)
W0.04(起点相对移动)
G92X[#1]Z-42F6(螺纹循环指令)
#1=#1-0.1(车削深度变量)
IF[#1GE33]GO10(条件判断)
G0X100Z100
M30
轴向(端面槽)切削循环指令:
编程格式:
G74R(e);
G74X(U)_Z(W)_P(Δi)Q(Δk)R(Δd)F_;
式中:
e——退刀量;(mm)e必须小于加工时的每次切深量<Δk
X、Z——端面槽的终点坐标;(mm)X省略则只在定位点z方向上进退刀,X有数值,则
P(Δi)必须有数值,否则报警。
Δi——每次X方向上的移动距离;(um)必须和X坐标配合使用,大于刀宽则为多槽
Δk——Z方向上的每次切深量;(um)
Δd——槽刀切到槽底后X方向上的移动退刀量;快速移动,谨慎设置,通常为0
F_——走刀速度;
例1:
M3S800T0303;
G0X40Z5M08;
G74R0.5;每次Z方向的退刀量为0.5mm,小于Q2000。
G74Z-10Q2000F0.1;端面槽宽与刀头宽度相同,深度位置-10,每次进给量为2mm。
例2:
M3S800T0303;
G0X40Z5M08;
G74R0.5;
G74X54Z-10P3000Q2000R0F0.1;端面槽宽度为(7+刀头宽度)mm,深度位置-10,每次进给量为2mm,车刀每完成一次槽深加工后在x方向上移动3mm。
径向(外圆)切槽循环指令:
编程格式:
G75R(e);
G75X(U)_Z(W)_P(Δi)Q(Δk)R(Δd)F_;
式中:
e——退刀量;(mm)e必须小于加工时的每次切深量<Δi
X、Z——端面槽的终点坐标;(mm)Z省略则只在定位点X方向上进退刀,Z有数值,则
P(ΔK)必须有数值,否则报警。
Δi——X方向上的每次切深量;(um)
Δk——每次Z方向上的移动距离;(um)必须和Z坐标配合使用,大于刀宽则为多槽
Δd——槽刀切到槽底后Z方向上的移动退刀量;快速移动,谨慎设置,通常为0
F_——走刀速度;
例1:
M3S800T0404;
G0X40Z-25M08;
G75R0.5;每次X方向的退刀量为0.5mm,小于P800。
G75X30P800F0.1;槽宽与刀头宽度相同,切深直径为X30,每次进给量为0.8mm。
例2:
M3S800T0404;
G0X40Z-25M08;
G75R0.5;
G75X30Z-40P3000Q2000R0F0.1;槽宽度为(15+刀头宽度)mm,切深直径为X30,每次进给量为3mm,车刀每完成一次槽深加工后在Z方向上移动2mm。
用参数编程替代G73指令,解决在车削循环中粗车指令不执行刀具半径补偿。
例:
G99G97G40G21;
#2002=20;对刀补摩耗中对应刀具上X值进行赋值[#2102为Z值]
N5#2002=#2002-2;
T0202M3S1000;T0202应与下面#2102相对应
N10G0X62Z5M8;
G42G0X50 ;进行刀尖圆弧半径补偿
G1Z0F0.2;
。
。
。
。
。
。
。
G1U10;
N20G40G0Z5;回到刀具起始位,取消刀尖圆弧补偿
IF[#2002GE2]GOTO5;判断
G0X100Z100M00;
T0202M3S1000;
G0X80Z5;
G70P10Q20;精车循环
G0X100Z100;
M30;
G99G97G40G21;
#2002=20;对刀补摩耗中对应刀具上X值进行赋值[#2102为Z值]
WHILE[#2002GE2]DO1;执行条件(满足#2002≥2就执行下面的程序)
T0202M3S1000;T0202应与下面#2002相对应
N10G0X62Z5;
G42G0X50M8;进行刀尖圆弧半径补偿
G1Z0F0.2;
。
。
。
。
。
。
。
G1U10;
N20G40G0Z5;回到刀具起始位,取消刀尖圆弧补偿
#2002=#2002-2;
END1;
G0X100Z100M00;
T0202M3S1000;
G0X80Z5;
G70P10Q20;精车循环
G0X100Z100;
M30;