宏变量模拟G73粗加工椭圆
- 格式:doc
- 大小:42.50 KB
- 文档页数:5
国家职业资格全省统一鉴定数控车工技师论文(国家职业资格二级)论文题目:数控车床上椭圆的编程加工姓名:身份证号:所在省市:数控车床上椭圆的编程加工摘 要:要掌握椭圆的编程方法必须先理解椭圆的数学模型即方程式,在此基础上理解数控车床加工曲线的实质,然后利用宏程序来找到椭圆上各点的坐标值,依次加工出连续的各点,若椭圆的中心发生了平移则只需视具体情况对各点的坐标值进行统一的调整,就解决了椭圆的编程问题。
关键词:数控加工 椭圆 方程 宏程序椭圆曲线是一种复杂的二次曲线,一般只适合在数控机床上加工,而且椭圆曲线的编程也是比较复杂的。
然而,无论是何种曲线,都是坐标点按照曲线方程连续移动形成的,也就是点动成线。
而构成曲线的点有无数,不可能将每个点都找到,只能根据精度要求选择适合的间隔找出一些点,把它们连接起来,近似地表达曲线了。
这也是数控加工中编程计算复杂曲线坐标点的一个基本思路。
对于椭圆这类二次曲线的编程现在主要使用手工编程和自动编程。
在手工编程时椭圆上各点坐标值计算非常麻烦,编程也复杂。
我们就会用到宏程序来简化编程。
一、椭圆的基本方程图1所示椭圆长半轴a 、短半轴b 。
则椭圆方程为:12222=+by a x在数控车床上根据工件坐标系的建立方法,我们将X 轴转变为Z 轴,将Y 轴转变为X 轴,就将数学模型和编程的工件坐标系建立了联系。
如图2所示椭圆方程改变为:12222=+bx a z 。
若在上述方程中已知椭圆上某点P 的X 坐标值为1X ,则通过上述方程可计算出该点的Z 坐标值,即2211bXa a Z -⨯=。
因此对椭圆上的任意点只要知道X 或Z 坐标中的一个值就可以通过方程计算出另一个值,所以椭圆上各点的坐标都可以要求出来。
二、数控车床加工曲线轮廓的机理在数控车床加工时,刀具的运动轨迹是折线,而不是光滑的曲线,只能沿折线轨迹逼近所要加工的曲线运动。
实际上是以脉冲当量为最小位移单位通过X 、Z 轴交替插补进行的,由于脉冲当量很小,所以加工表面仍有较好的质量及表面光洁度,所以我们将椭圆分为足够多的小段直线来加工,关键只要找出椭圆上各点的坐标值,问题就解决了。
固定形状粗车循环指令G73:高效加工的利器在金属加工领域,提高效率和精度是永恒的追求。
对于复杂的加工形状,固定形状粗车循环指令G73成为了数控编程中的得力。
它通过简化编程过程,实现了对特定形状的高效粗加工,大大提升了生产效率。
一、G73指令的功能与应用1. 功能介绍G73指令是数控车床编程中的一种循环指令,专门用于重复加工具有固定形状的工件。
它允许编程者指定一个循环起始点和一个循环结束点,以及循环过程中的切削参数,机床将自动完成一系列的切削动作。
2. 应用场景(1)工件具有规则的凹凸形状,如齿轮、螺纹等。
(2)需要多次切削以去除大量材料的粗加工阶段。
(3)加工形状复杂,但重复性强,如多边形、螺旋线等。
二、G73指令的编程步骤1. 确定加工参数在使用G73指令前,需要确定加工参数,包括切削深度、进给量、切削速度等。
2. 设置循环起始点和结束点通过坐标值设定循环的起始点和结束点,这些点将定义机床在执行G73指令时的切削范围。
3. 编写G73指令G73 X__ Z__ I__ J__ F__其中,X、Z代表循环起始点的坐标,I、J代表循环结束点的坐标偏移量,F代表进给速度。
4. 执行程序三、G73指令的优势1. 提高编程效率G73指令简化了编程过程,减少了编程代码的长度,使得编程更加高效。
2. 节省加工时间通过自动循环加工,G73指令大幅减少了机床空行程时间,提高了加工效率。
3. 保证加工质量G73指令能够保证加工形状的一致性,减少了因人工操作不当导致的误差。
固定形状粗车循环指令G73是数控加工中的一项重要技术,它以其独特的优势,为复杂形状工件的加工提供了高效的解决方案。
掌握G73指令的应用,对于提高生产效率和加工质量具有重要意义。
固定形状粗车循环指令G73:高效加工的利器四、G73指令在实际操作中的注意事项1. 刀具选择与安装在使用G73指令进行加工前,选择合适的刀具至关重要。
刀具的材质、形状和尺寸都需要根据工件的材料和加工要求来确定。
西安工程技术(技师)学院陕西省明德职业中等学校理论课教案任课教师:向成刚G73 — 成型加工复合循环指令新课讲授:在FANUC 系统中G73指令可以用来加工形状已基本成刑的零件,如铸造、锻造毛坯零件。
新课讲授:G73 — 成型加工复合循环指令1.概述:G73指令称为成型加工复合循环指令,也称固定形状粗车循环,又称平移粗车循环。
它可以按零件轮廓的形状重复车削,每次平移一个距离,直至达到零件要求的位置。
这种车削循环,对余量均匀,如锻造、铸造等毛坯的零件是适宜的。
当然G73指令也可以用于加工普通未切除的棒料毛坯。
该循环如图所示。
2.指令格式成型加工复合循环指令格式: G73 U(△i) W(△k) R(d);G73 P(ns) Q(nf) U(△u) W(△w) F(f) S(s) T(t ); N(ns )……; …… ……;G73指令段内部参数示意图…F__;…S__;…T__;N(nf)……;其中△i—X方向毛坯切削余量(半径值指定)。
正值、模态值,直到下个指定之前均有效。
根据程序指令,参数中的值也变化。
△k—Z方向毛坯切削余量;正值、模态,直到下个指定之前均有效。
d—粗切循环的次数。
模态值,直到下个指定之前均有效。
ns—精加工路径第一程序段的顺序号(行号)。
nf—精加工路径最后程序段的顺序号(行号)。
△u—X轴方向精加工余量的留量和方向(随直径/半径指定而定)。
△w —Z轴方向精加工余量的留量和方向。
f , s , t :在G73程序段中指令,在顺序号为ns到顺序号为nf 的程序段中粗车时使用的F、S、T功能。
3. 说明①f , s , t 。
包含在ns到nf程序段中的任何F、S或T功能被忽略,而在G73程序段中F、S、T功能有效。
②G73指令必须带有P、Q地址ns、nf,且与精加工路径起、止顺序号对应,否则不能进行该循环加工。
在顺序号为ns到顺序号为nf 的程序段中,不能调用子程序。
③ns的程序段必须为G00或G01指令,否则报警。
车椭圆宏程序编制实例作者:冯斌来源:《成才之路》2010年第30期数控车床加工对象是回转面,对于规则曲线所组成的圆柱面、圆锥面、圆弧面、球面等的加工,只要使用普通程序利用直线插补或圆弧插补指令即可完成。
但当出现非圆曲线(椭圆、抛物线、双曲线)构成的回转体时,手工常规编程无能为力,采用软件自动编程又受设备和条件的限制时,则可以采用宏程序来编制。
采用小段直线或者小段圆弧逼近的方法,只要拟合步距足够小,就能加工出标准的非圆曲线。
用户宏程序就是在程序本体中,能使用变量,可以给变量赋值,变量间可以运算,语句间可以跳转的程序。
编制宏程序的加工原理是将数学中的标准曲线方程,转化为编程用方程,利用数控系统的宏程序功能,采用直线逼近法,在Z向或X向以一个适合的步距进行分段,并把Z或X作为自变量,X作为Z或Z作为X的函数来进行处理,算出曲线上的坐标点值,然后驱动刀具沿着这些计算点一步步移动就能拟合加工出非圆曲线轮廓。
下面以FANUC 0i-TC系统加工椭圆为例,对宏程序的编制进行介绍。
一、宏程序参数简介宏程序可以让用户利用数控系统提供的变量、数学运算、逻辑判断和程序循环等功能,来实现一些特殊的用法,从而使得编制同样的加工程序更加简便。
1. 变量使用用户宏程序时,数值可以直接指定或用变量指定。
当用变量时,变量值可用程序或用MDI面板上的操作改变。
如:#1=#2+1或G01 X#1 F0.2。
(1)变量的表示及类型。
变量用变量符号“#” 和后面的变量号指定。
例如#1、#2等。
表达式可以用于指定变量号。
(2)变量的运算。
①变量常用算术、逻辑运算和运算符。
运算符右边的表达式可包含常量,或由函数或运算符组成的变量。
表达式中的变量“#j”和“#k”可以用常数赋值。
左边的变量也可以用表达式赋值。
②运算符的优先级。
按照优先级的先后顺序依次是:函数→乘和除运算 (* 、/、AND、MOD)→加和减运算(+、-、OR、XOR)。
③括号嵌套。
椭圆类零件的宏程序编制椭圆的标准方程:椭圆宏程序结构流程:椭圆加工:零件材料45钢,毛坯为φ50mm ×100mm ,按图要求完成数控加工程序。
O0001;T0101 ;M03 S800;G0 X51. Z2.;G71 U1.5 R1. ;(粗车右端外形轮廓)G71 P10 Q20 U0.5 W0.1 F150 ;N10 G1 X25.966;(椭圆处外径)Z0.;Z-19.;X35.988 Z-29.;Z-46;X44.;X45.992 Z-47.;N20 Z-55.;G70 P10 Q20 S1000 F120;(精车右端外形轮廓)G00 X100.;Z50.;S800 F150;#150 = 26.;(定义椭圆加工余量)N30 IF [#150 LT 1] GOTO 40;(如果余量小于1,跳到40句)M98 P0003;(调用椭圆加工宏程序)#150 = #150 - 2;(每次递减2mm)GOTO 30 ;(无条件跳转到30句)N40 G0 X30. Z2.;S1500 F80;#150 =0;(开始精加工椭圆轮廓)M98 P0003;G0 X100. Z5.; M30; O0003;(椭圆加工子程序) #101=20.;(椭圆长半轴) #102=13.;(椭圆短半轴) #103=20.;(起点处Z 坐标)N20 IF [#103 LT 1] GOTO 50;(如果Z#104 = SQRT[#101*#101 - #103*#103];) #105 = #102*#104/#101;(构造G01 X[2*#105 + #150] Z[#103 – 20];(直径值定义加上加工余量,Z #103 = #103 –0.5;(Z 坐标递减0.5mm ) GOTO 20;(绝对跳转到20句) N50 G00 U2. Z2.;(退刀) M99;椭圆轮廓编程技巧O0027; T0101 ; G98; M43;M03 S800; G0 X80. Z5.;G73 U25 R25;(调用粗车循环加工椭圆轮廓) G73 P10 Q20 U0.5 W0 F150 ; N10 G1 X30 Z0;(轮廓起点) Z-8.79;#100=-8.79;(椭圆起点Z 坐标)N15 #102=[#100+44]* [#100+44];#103=SQRT[36*36-#102];)#104=10+2/3*#103;(构造向半径偏移10mm ) #105=2*#104;G01 X#105 Z#100;#100=#100-2;(Z 向递减2mm )IF [#100GT-72.102] GOTO 15(如果Z 坐标值大于-72.102跳转到15句) G00 U30; N20 X70; G00 X80 Z5;G70 P10 Q20 F100;(精加工椭圆轮廓) G00 X100; Z100; M05; M30;参数方程编写椭圆宏程序:O0271; T0101; M03 S800; G0 X36 Z26;#20=26;(X 向总加工余量) N56 G0 U2;Z26;(Z 向加工起点)N100 #20=[#20-2];(X 向递减2mm ) #1=12.5;(椭圆短半轴)#2=25;(椭圆长半轴)#3=0.5;(起始处椭圆离心角) #5=90;(终止处椭圆离心角)WHILE [#3 LT #5] DO2;(当起始角小于终止角时执行DO2到END2之间的程序段)#6=#2*COS[#3];(构造) #7=2*#1*SIN[#3];(构造) G1 X[#7+#20] Z#6 F150;(椭圆X坐标加余量值) #3=#3+#4;(椭圆离心角递增) #10=#7+#20;(X向当前点坐标)IF [#10 GT 26] GOTO 56;(如果X向当前点坐标大于26跳转到56句从新定起点) END 2 G0 U2;Z26;(退刀)IF [#20 GE 0] GOTO 100;(如果余量大于等于0跳转到100句) G0 X100; M05; M30;抛物线类零件的宏程序编制)(*αCOS a )(**2αSIN b抛物线宏程序编制:O0272; M03 S800; G98;G00 X90 Z100;N10 #24=0;(抛物线顶点处X值) #26=0; (抛物线顶点处Z值) #17=-10;(常量)#22=42;(抛物线开口处直径) #6=1;(每次步进量) #9=100;(进给率)G00 X#24 Z[#26+5];(加工起点) G01 Z#26 F[2*#9];N30 #24=#24+#6;(X向递增)#26=[#24*#24]/[#17]; (构造) G01X2*#24 Z#26 F#9;N60 IF [#24 LT #22/2] GOTO 30;(如果X值小于开口处直径一半跳转到30句)G01 X#22 Z#26 F[3*#9]; M05; M30;双曲线过渡类零件的宏程序编制焦点在X 轴上的双曲线,其标准方程为焦点在Y轴上的双曲线宏程序编制:程序编制:O0273;T0101;M03 S500;G98;G01 X10;Z-5.05;X17.524;#1=20;N10 #2=38-10/SIN[#1];#3=-60+20/TAN[#1];G01 X2*#2 Z#3;#1=#1+1;IF [#1 LT 80] GOTO 10;G01 X56 Z-56.473;X60;G00 X100;Z100;M05;M30;焦点在X 轴上的双曲线宏程序编程:O0045; T0101; G98;M03 S500; G00 X60 Z0; G01 X0; #100=0;N15 #101=4/3*SQRT[[#100-6]*[#100-6]-36]; G01 X2*#101 Z#100; #100=#100-1;IF [#100 GT -16.594] GOTO 15; G01 X58 Z-16.594; X60; G00 Z0; G00 X100; Z100; M05; M30;椭圆轮廓的加工对椭圆轮廓,其方程有两种形式。
我分享一下椭圆粗加工的方法,在此这前我查阅了很多资料,是关于椭圆加工方面的,
大多都是用G73这个指令来完成粗加工的,但必需是支持B 类宏程序的数控系统。
前段时间我在广数980TDA 上发现不能用G73加工椭圆,无法计算和运行P~~~Q 之间宏变量的数据和动作,但是会执行普通指令的动作,这让我很闷,至于是什么原因我也不懂了。
当然了,在广数908TDA 上有一个专加工椭圆的指令G6.3和G6.2,其用法和G3和G2相差无几,方向也一样,只是格式上有点不同。
因此,我们可以在G73中用G6.3来完成椭圆的粗加工,G70调用精车。
倘若有些系统也不能用G73加工椭圆,也没有像G6.3和G6.2加工椭圆之类的指令的话,这会很让人抓狂的。
就算是这样,我们还是有别的方法的,我们可以用宏变量来模拟G73指令的样式来加工。
通过WHILE 和IF 函数或两个函数的组合来完成,首先需要分层,然后再一层层的减直到减完,分了多少层就要加工多少次。
12
22
2=++B A Z X 这是一个椭圆的公式, 我们可以把它变成另外一个形式,那就是在数控车床上宏编程使用的公式,若用原公式来编写程序的程序不够简洁,因此有必要这样做。
我们先设定A 为椭圆的短半轴、B 为长半轴在Z 轴上的椭圆:
1. 原式:1222
2=++B
A Z X 分解:
~~~~
~~~~~~~~~~.65.4.3.21.12
22
22222
222222222
2
2222
22Z B B
A X Z
B A
BX Z B A
X B Z A A B X B B
Z A A X B
Z A X -=-=-=-=*-=-= 我把椭圆公式一步一步的分解到我们所需要的最简单的表达式,这公式算出的X 值是半径值,要换成直径值还要乘以2。
除此之外还有另外一个公式: 2.
α
αCOS B Z SIN A X *=*=
X也是半径值,Z值是相对于椭圆中心面言,而编程时的坐标为(Z=B*COSα-B),α为椭圆中心与椭圆上任意一点的连线和Z轴上的夹角。
A=25、B=50的椭圆终止角α为102度为例,用第二个公式以GSK980TDA系统编写程序,选用55M#45的棒料,根据公式得出坐标值:
X=48.907 Z=-60.396。
先以指令G6.3编程,T0101为粗车刀(55度凌形刀),T0202O为精车刀(55度凌形刀),在这里我们不考虑刀尖圆弧补偿;
1.
O9000
T0101
G99M8
S1000M3
G0X56.0
G0Z3.0
G73U55.0W1.5R15
G73P1Q2U0.5W0.05F0.2
N1G0X0.0
G1Z0.0F0.22
G6.3X48.907Z-60.396A25.0B50.0Q0F0.1
G2U5.0W-1.95R2.3
G1U8.0
G1U2.0W-1.0
G1W-10.0
N2G1X55.0F0.2
G0Z90.0
G0X150.0
T0202
M3S1500
G0X55.0Z2.0
G70P1Q2F0.3
G0X150.0Z90.0
M9
M5
M30
2.以两重WHILE函数编程IF函数精车,我们先来分层,设定每刀车削3MM(直径值).总层数=55÷3=18.33,至少为19层,因此刀具应定位到3*19=57处。
O9001
T0101
G99M8
S1000M3
#100=0
#101=0
.0
G0X57.0
G0Z2.0
WHILE[#106GE0]DO1
G0X#106
WHILE[#100LE102]D02
#102=2*25*SIN#100+#106+0.5
#103=50*COS#100-50.0
G1X#102Z#103F0.15
#100=#100+2.0
END2
G2U5.0W-1.95R2.3
G1U8.0
G1U2.0W-1.0
G1W-10.0
G1U6.0.0F0.2
G0Z2.0
#106=#106-3.0
#100=0
END1
GOX150.0Z90.0
T0202
S1500M3
G0X55.0Z2.0
G0X0.0
N3#107=2*25*SIN#101
#108=50*COS#101-50.0
G1X#107Z#108F0.1
#101=#101+0.5
IF[#101GE102]GOTO5
GOTO3
N5G2U5.0W-1.95R2.3
G1U8.0
G1U2.0W-1.0
G1W-10.0
G1U6.0.0F0.2
G0Z2.0
G0X150.0Z90.0
M9
M5
M30
3.以IF函数编程中,WHILE函数精车,所用数据同2.
T0101
G99M8
S1000M3
#100=0
#101=0
#106=57.0
G0X57.0Z2.0
N3G0X#106
N1#102=2*25*SIN#100+#106+0.5 #103=50*COS#100-50.0
G1X#102Z#103F0.15
#100=#100+2.0
IF[#100GE102]GOTO2
GOTO1
N2G2U5.0W-1.95R2.3
G1U8.0
G1U2.0W-1.0
G1W-10.0
G1U6.0.0F0.2
G0Z2.0
#106=#106-3.0
#100=0
IF[#106LE0]GOTO4
GOTO3
N4GOX150.0Z90.0
T0202
S1500M3
G0X55.0Z2.0
G0X0.0
WHILE[#101LE102]DO1
#107=2*25*SIN#101
#108=50*COS#101-50.0
G1X#107Z#108F0.1
#101=#101+0.5
END1
G2U5.0W-1.95R2.3
G1U8.0
G1U2.0W-1.0
G1W-10.0
G1U6.0.0F0.2
G0Z2.0
G0X150.0Z90.0
M9
清空宏数据程序,应置于程序结束前:
#120=99
N10#120=#120+1
#[#120]=#0
IF[#120GE120]GOTO20
GOTO10
N20#120=#0
M30
编写程序时可以用公式1也可以用公式2。
G1是直线逼近车削,也可以用G3、G2圆弧模拟车削,该怎么用就看自己的喜欢了。