数控车宏程序完成稿.
数控车床宏程序
数控车床宏程序FANUC数控车第一章编程代码----------------------------------------------------------1 1.准备功能G------------------------------------------------------------1 2.辅助功能M-----------------------------------------------------------6 第二章用户宏程序-------------------------------------------------------71. 运算符号---------------------------------------------------------------72.转移和循环-----------------------------------------------------------7 3.运算指令--------------------------------------------------------------8第三章宏程序编程------------------------------------------------------11 1.车V型圆锥- --------------------------------------------------------11 2.车U圆弧-------------------------------------------------------------12 3.方程曲线车削加工-------------------------------------------------13 5.车梯形螺纹36×6--------------------------------------------------14 6.蜗杆-------------------------------------------------------------------15 7.加工多件--------------------------------------------------------------17 第四章自动编程---------------------------------------------------------------21 1.UG建模--------------------------------------------------------------------21 2.创建几何体----------------------------------------------------------------24 附录--------------------------------------------------------------------------29第一章编程代码1.准备功能G00快速定位G01直线插补G02顺弧插补G03逆弧插补G04暂停G9,G60,G64准确/连续停G20英制输入G21米制输入G40取消刀具补偿G41建立左刀具补偿G42建立右刀具补偿G50坐标设定/主轴最高速设定G70精车循环格式:G70 P(ns) Q(nf)ns: 精加工形状程序的第一个段号。
数控车宏程序编程方法及技巧
编程灵活、高效、快捷。宏程序不 仅可以实现象子程序那样,对编制 相同加工操作的程序非常有用,还 可以完成子程序无法实现的特殊功 能,例如: 系列零件加工宏程序、
椭圆加工宏程序、抛物线加工宏程 序、双曲线加工宏程序等。
数控车床宏程序编程特征 ➢ 宏程序中的变量 ➢ 宏程序变量间的运算指令 ➢ 宏程序的控制语句 数控车床宏程序编程技巧编程实例 ➢ 宏程序用于系列零件的加工 ➢ 椭圆类零件的宏程序编制 ➢ 抛物线类零件的宏程序编制 ➢ 双曲线过渡类零件的宏程序编制
变量及变量的引用
(1)、变量的表示
#i #[表达式]
——(变量号i=0,1,2,3,4……) 例:#8、#110、#1100 ——表达式必须用括号括起来 例:#[#1+#2-12]
(2)、变量的引用
<地址>#1 <地址> - #1
例:F#10——当#10=20时,F20被指令。 X- #20——当#20=100.时,X-100.被指令。 G#130——当#130=2时,G2被指令。
…… END 3; …… END 2 …… END 1;
1.宏程序用于系列零件的加工
宏程序用于系列零件的加工,此系列零件形状 相同,但是部分尺寸不同,如果将这些不同的尺寸 用宏变量表示,由程序自动将相关基点坐标进行计 算则可用同一个程序完成一个系列零件的加工。
以上图为例。该系列零件的右端面半球球径可取 R10与R15,可将球径用变量表示,编程原点设在工 件右端面中心,毛坯直径¢45.从图中可以看出编程所 需基点A·D ·E三点外,B ·C点均与球径R相关, 下面给出各基点坐标:
2.宏程序变量间的运算
加法:#i=#j + #k 减法: #i=#j - #k 乘法: #i=#j * #k 除法: #i=#j / #k
数控车床宏程序案例
烟台机电工业学校数控车床宏程序案例教学由浅入深宏程序数控车床旋转正弦函数宏程序正弦函数曲线旋转宏程序坐标点旋转1s = x cos(b) – y sin(b)t = x sin(b) + y cos(b)根据下图,原来的点(#1,#2),旋转后的点(#4,#5),则公式:#4=#1*COS[b]- #2*SIN[b]#5=#1*SIN[b]+ #2*COS[b]公式中角度b,逆时针为正,顺时针为负。
下图中正弦曲线如果以其左边的端点为参考原点,则此条正弦曲线顺时针旋转了16度,即b=-161烟台机电工业学校数控车床宏程序案例教学正弦函数旋转图纸1此正弦曲线周期为24,对应直角坐标系的360对应关系【0,360】y=sin(x)【0,24】y=sin(360*x/24)可理解为:360/24是单位数值对应的角度360*x/24是当变量在【0,24】范围取值为x时对应的角度sin(360*x/24)是当角度为360*x/24时的正弦函数值旋转正弦函数曲线粗精加工程序如下:T0101M3S800G0X52Z5#6=26工件毛坯假设为50mm,#6为每层切削时向+X的偏移量。
N5G0X[#6+18.539]G1Z0F0.12烟台机电工业学校数控车床宏程序案例教学#1=48N10#2=sin【360*#1/24】#4=#1*COS[-16]-#2*SIN[-16]旋转30度之后对应的坐标值#5=#1*SIN[-16]+#2*COS[-16]#7=#4-【50-3.875】坐标平移后的坐标。
#8=45+2*#5+#6G1X[#8]Z[#7]F0.1沿小段直线插补加工递减0.5,此值越小,工件表面越光滑。
#1=#1-0.5。
条件判断是否到达终点100]GOTO IF[#1GEZ-50G1X52直线插补切到工件外圆之外G0Z5#6=#6-2IF[#6GE0]GOTO5G0X150Z150M5M30镂空立方体宏程序范例镂空立方体图纸及宏程序范例此零件六个面加工内容相同,在加工时,调面装夹时要注意考虑夹紧力。
数控车床宏程序编程..
%401
N4G91G01X[#1];子程序中用的是局部变量#1
M99
结论:
主程序中N1行的#1与子程序中N4行的#1不是同一个变量,子程序不会接收到40这个值。怎么办呢?
局部变量的参数传递,是在宏调用指令后面添加参数的方法来传递的。上面的程序中,把N1行去掉,把N2行改成如下形式即可:
N2 M98P401 B40
注意:宏程序条件运算符与计算机编程语言的条件运算符表达习惯不同。
3
在IF或WHILE语句中,如果有多个条件,用逻辑运算符来连接多个条件。
AND(且)多个条件同时成立才成立
OR(或)多个条件只要有一个成立即可
NOT(非)取反(如果不是)
例
#1 LT 50 AND #1GT 20——表示:[#1<50]且[#1>20]
2.宏程序可以完成图形一样,尺寸不同的系列零件加工;
3.宏程序可以完成工艺路径一样,位置不同的系列零件加工;
4.宏程序具有一定决策能力,能根据条件选择性地执行某些部分;
5.使用宏程序能极大地简化编程,精简程序。适合于复杂零件加工的编程。
一.宏变量及宏常量
1
先看一段简单的程序:
G00 X25.0
上面的程序在X轴作一个快速定位。其中数据25.0是固定的,引入变量后可以写成:
#1=25.0 ;#1是一个变量
G00 X[#1] ;#1就是一个变量
宏程序中,用“#”号后面紧跟1~4位数字表示一个变量,如#1,#50,#101,……。变量有什么用呢?变量可以用来代替程序中的数据,如尺寸、刀补号、G指令编号……,变量的使用,给程序的设计带来了极大的灵活性。
使用变量前,变量必需带有正确的值。如
#100=8
数控车床宏程序编程
数控车床宏程序编程数控宏程序一.什么是宏程序?什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。
宏程序具有如下些特点:1.使用了变量或表达式(计算能力),例如:1)G01 X[3+5]。
有表达式3+52)G00 X4 F[#1]。
有变量#13)G01 Y[50*SIN[3]]。
有函数运算2.使用了程序流程控制(决策能力),例如:1)IF #3 GE 9.有选择执行命令ENDIF2)WHILE #1 LT #4*5.有条件循环命令XXX二.用宏程编程有什么好处?1.宏程序引入了变量和表达式,还有函数功能,具有实时动态计算能力,可以加工非圆曲线,如抛物线、椭圆、双曲线、三角函数曲线等;2.宏步伐可以完成图形一样,尺寸分歧的系列零件加工;3.宏程序可以完成工艺路径一样,位置不同的系列零件加工;4.宏程序具有一定决策能力,能根据条件选择性地执行某些部分;5.使用宏程序能极大地简化编程,精简程序。
适合于复杂零件加工的编程。
一.宏变量及宏常量1.宏变量先看一段简单的程序:G00 X25.0上面的步伐在X轴作一个快速定位。
个中数据25.0是固定的,引入变量后可以写成:1=25.0.#1是一个变量G00 X[#1]。
#1就是一个变量宏步伐中,用“#”号背面紧跟1~4位数字透露表现一个变量,如#1,#50,#101,……。
变量有甚么用呢?变量可以用来代替步伐中的数据,如尺寸、刀补号、G指令编号……,变量的使用,给步伐的设想带来了极大的灵活性。
使用变量前,变量必须带有精确的值。
如1=25G01 X[#1]。
表示G01 X251=-10.运行过程中可以随时改变#1的值G01 X[#1]。
表示G01 X-10用变量不仅可以透露表现坐标,还可以透露表现G、M、F、D、H、M、X、Y、……等各类代码后的数字。
如:2=3G[#2] X30.表示G03 X30例1使用了变量的宏子步伐。
100050=20.先给变量赋值M98 P1001.然后调用子程序50=350.重新赋值M98 P1001.再挪用子步伐M301001G91 G01 X[#50]。
数控宏程序教程(车床篇)1(经典)
由浅入深宏程序1-宏程序入门基础之销轴加工对于没有接触过宏程序人,觉得它很神秘,其实很简单,只要掌握了各类系统宏程序的基本格式,应用指令代码,以及宏程序编程的基本思路即可。
对于初学者,尤其是要精读几个有代表性的宏程序,在此基础上进行模仿,从而能够以此类推,达到独立编制宏程序的目的。
本教程将分步由浅入深的将宏程序讲解给大家,作者水平有限,也希望各位同仁提供更好的思路。
下面大家先看一个简单的车床的程序,图纸如下:要求用外圆刀切削一个短轴,这里只列举程序的前几步:O0001T0101;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,直径方向递减4mmIF [#1GE40] GOTO 10如果#1 >= 40,即此表达式满足条件,则程序跳转到N10继续执行。
G0X150Z150;当不满足#1 >= 40,即#1<40,则跳过循环判断语句,由此句继续向后执行。
M5;M30;由浅入深宏程序2-宏程序之销轴粗精加工本篇文章利用宏程序简单模仿数控系统的外圆车削循环功能。
数控车工宏程序
T0101;G0 X55 Z5; (循环起点)#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)G01 X [52-2*#4] Z#3 F0.2; ( 52为椭圆中心到Z轴距离2*(18+8))IF [#3 GE-14.8] GOTO 10; (如果#3大于等于-14.8,就回到N10行继续加工)G0 X55;M30;T0101;G0 X55 Z5;#1=8; (椭圆短半轴长度)#2=15; (椭圆长半轴长度)#3=1;N10 #3=#3-0.2;#4= SQRT [64-64*#3*#3/225]; (64为#1*#1,225为#2*#2)G01 X[30+2*#4] Z#3 F0.3; ( 30为椭圆中心到Z轴距离2*15)IF [#3 GE -14.8] GOTO 10;G0 X58;M30;T0101;G0 X55 Z5;#1=8; (椭圆短半轴长度)#2=15; (椭圆长半轴长度)#3=15N10 #3=#3-0.3;#4= SQRT [64-64*#3*#3/225]; (64为#1*#1,225为#2*#2)G01 X[50+2*#4] Z[#3-15] F0.2;( 50为椭圆中心到Z轴距离2*25) IF [#3 GE 0.3] GOTO 10;G0 X68;M30;T0101;G0 X55 Z18;#1=8; (椭圆短半轴长度)#2=15; (椭圆长半轴长度)#3=15N10 #3=#3-0.3;#4= SQRT [64-#3*#3*64/225]; (64为#1*#1,225为#2*#2)G01 X[50-2* #4] Z[#3-15] F0.2; ( 50为椭圆中心到Z轴距离2*25) IF [#3 GE 0] GOTO 10;G0 X55;M30;T0101;G0 X45 Z18;#1=8; (椭圆短半轴长度)#2=15; (椭圆长半轴长度)#3=15;N10 #3=#3-0.3;#4= SQRT [64-#3*#3*64/225]; (64为#1*#1,225为#2*#2)G01 X[40-2*#4] Z[#3-21] F0.2; ( 40为椭圆中心到Z轴距离,21为椭圆中心到X轴距离15+6) IF [#3 GE-14.7] GOTO 10;G0 X45;M30;T0101;G0 X50 Z18;#1=8; (椭圆短半轴长度)#2=15; (椭圆长半轴长度)#3=15N10 #3=#3-0.3;#4= SQRT [64-#3*#3*64/225]; (64为#1*#1,225为#2*#2)G01 X[30+2*#4] Z[#3-21] F0.2; ( 30为椭圆中心到Z轴距离)IF [#3 GE-14.7] GOTO 10;G0 X50;M30;T0101 M03 S800;G0 X60 Z5;#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 )G01 X [60-2*#4] Z#3 F0.2; ( 30 为椭圆中心到Z轴距离)IF [#3 GE -7.8] GOTO 10; (如果#4大于等于-8,就回到N10行继续加工)N15 G0 X62;M30;。
数控宏程序编制两例
数控宏程序编制两例数控宏程序是一种通过编辑代码来控制数控机床进行自动加工的程序。
宏程序可以重复使用,可以提高生产效率和加工精度,且可以自动完成编程过程。
下面将介绍两个数控宏程序编制的例子:1. 零件加工宏程序该宏程序适用于零件的加工,需先测量零件尺寸,并依据测量结果编写数控宏程序。
以轴套为例,宏程序如下:O0001;(宏程序的名称)G10L20P1X10Y20Z30;(设定工具长度、直径及坐标轴位置)T1;(选择工具)M03S1000;(主轴正转并设定转速)G01X0Z0F100;(工件坐标轴归零)G00X-20;(工件坐标轴回原点)G01X-15Z-10;(以100 的进给速率和深度,向工件进给加工)G01X-10;(向工件进给加工)G00X0Z0F100;(以快速进给回到原点位置)M05;(主轴停止)通过以上程序,机床可以自动进行轴套加工,增加了生产效率,又避免了因人为因素引起的误差。
2. 零件检测宏程序该宏程序适用于零件的检测,可以快速高效地检查零件尺寸是否合格。
以零件平面度检测为例,宏程序如下:O0002;(宏程序的名称)G10L20P1X10Y20Z30;(设定工具长度、直径及坐标轴位置)T2;(选择工具)M03S1000;(主轴正转并设定转速)G01X0Z0F100;(工件坐标轴归零)G00X-20;(工件坐标轴回原点)G01X-10Z-3;(以 50 的进给速率和深度,向工件进给检测)G00X0Z0F100;(以快速进给回到原点位置)M05;(主轴停止)IF[#2 LT 0.01]GOTO5;(IF 判断语句,如果测量值小于 0.01 mm,跳转到标记 5)G01X10Z-3;(以 50 的进给速率和深度,向工件进给检测)G00X0Z0F100;(以快速进给回到原点位置)M05;(主轴停止)通过以上程序,机床可以自动进行零件平面度的检测,并根据实际情况跳转到不同的位置进行处理。
总之,数控宏程序可以方便快捷地控制数控机床进行自动加工和检测,极大提高了生产效率和加工精度。
数控车床宏程序编程实例
数控车床宏程序编程实例
首先,我们将介绍一些数控车床宏程序的基本概念。
宏程序是一种编写在机床控制器内部的程序,它可以包含一系列的指令和操作,从而完成一定的加工工艺。
宏程序可以使操作员在加工过程中减少输入指令的时间和精力,提高加工精度和效率。
接下来,我们将通过实例来介绍数控车床宏程序的编程方法。
假设我们需要在数控车床上加工一个圆柱形工件,其直径为100mm,长度为200mm。
我们可以编写一个宏程序来完成这个加工过程。
具体步骤如下:
1. 首先,我们需要定义一个宏程序,命名为“CYLINDER”。
2. 接下来,我们需要设置加工过程中所需用到的切削工具和切削速度等参数。
3. 然后,我们需要编写加工程序的主体部分,即定义加工路径。
在本例中,我们需要使用G代码来定义加工路径,例如:“G00 Z5.0;G00 X0;G00 Z0;G01 X50 F200;G01 Z-100 F100;G02 X0 Z-200 I-50;G01 X-50 F200;G01 Z0 F100;G02 X0 Z100 I50;G00 Z5.0”。
4. 最后,我们需要定义程序结束的指令,例如:“M30”。
完成上述步骤后,我们就可以将宏程序保存在机床控制器内部。
需要加工圆柱形工件时,我们只需要调用宏程序“CYLINDER”,即可自动完成加工过程。
总之,数控车床宏程序编程是一种非常实用的编程方式,能够大大提高机床操作的效率和精度。
通过本文的介绍,相信读者能够更加
深入地了解宏程序的编写方法和调用方式,为实际工作提供帮助。
数控车宏程序编程实例
数控车宏程序编程实例
以下是一个简单的数控车宏程序编程实例,用于加工一个圆柱零件:
```数控车宏程序
O0001
#1=50 (定义圆柱的半径)
#2=100 (定义圆柱的长度)
G00 X#1
Z2
G01 Z0 F0.1
X#2
G00 Z100
M30
```
在上述示例中,我们使用了以下几个步骤来创建宏程序:
1. 定义变量:使用`#1`和`#2`分别定义了圆柱的半径和长度。
2. 设定初始位置:使用`G00`指令将刀具快速移动到初始位置(X=50,Z=2)。
3. 开始加工:使用`G01`指令以 0.1mm/rev 的进给速度开始加工圆柱,从 Z=0 处开始,沿着 X 轴加工到 X=100。
4. 快速退回:使用`G00`指令将刀具快速移动到安全位置(Z=100)。
5. 程序结束:使用`M30`指令结束程序。
通过使用宏程序,我们可以在加工过程中灵活地调整变量的值,实现不同尺寸零件的加工。
请注意,在实际应用中,你可能需要根据具体的机床和加工要求进行适当的调整和修改。
数控车床由浅入深的宏程序实例
数控车床由浅入深的宏程序实例数控车床是现代机械加工领域中的一种高精度、高效率加工设备。
与传统的机械车床相比,数控车床不仅在加工精度和速度上有明显的优势,更为重要的是,它具备灵活多变的加工方式,充分适应各种复杂零件的加工需求。
而宏程序,作为数控车床加工中最为常用的编程方式之一,更是可以提高加工效率、简化加工工艺、保证加工质量等多个方面的优势。
本文将从浅入深,分别介绍数控车床宏程序的编写方法和实例。
一、基本概念宏程序是一种在数控机床上直接进行的加工操作指令序列。
它是由NC语言编写成的,常常用于完成较为简单的重复模式和复杂工件的加工,实现加工自动化。
通过宏程序编写,可以将较繁琐、复杂的加工操作转化为简单的编程操作,同时进一步提高加工精度和效率。
为了实现宏程序的编写,我们需要提前设定好工件坐标系、刀具的长度和半径、加工的切削速度、进给速度等参数,这些参数将会在宏程序的运行过程中派生出具体的加工路径。
二、编写方法1.确定加工参数在编写宏程序之前,我们需要明确加工零件所需的具体参数,包括切削速度、进给速度、划刀深度、工件坐标系等。
这些参数一旦确定,将成为宏程序编写的基础。
2.配置宏程序头每一份宏程序都需要设置头部信息,包括文件名、创建日期、作者、所在单位等。
这些信息一方面可以为以后的使用提供便利,同时也可以作为程序的基本属性进行管理和控制。
3.设置初调参数初调参数是指在程序运行前必须进行设置以保证加工成功的参数。
通常有复位、机床坐标系选择、刀具半径、工件相对坐标系设定等。
这些参数一旦设置好,将会对后续的加工过程产生重要的影响。
4.编写宏程序体宏程序体是指实际进行加工的NC语言命令组成的区域。
它根据预定义的加工参数,将加工路径进行编程,并且在运行时依次完成各个加工过程。
在编写宏程序体时,需要根据加工路径、刀具半径等参数进行具体调整和修改。
宏程序体可以是由多个程序段组成的序列,供后续加工流程使用。
5.结束宏程序宏程序在结束前需要进行清理性工作,包括退回初始点、关闭冷却液、跳转到下一程序等。
数控车工高级部分(宏程序应用)
数控车工高级部分(宏程序应用)1、直线宏程序2、圆弧宏程序3、椭圆宏程序4、函数曲线宏程序5、抛物线宏程序6、双曲线宏程序7、圆弧、椭圆、双曲线、抛物线、螺旋宏程序8、综合题形练习加工课题一:直线宏程序(一)图1-1直线方程式:X=KZ+B解题思路:1、直线两点(X 30 , Z 0)(X 50 , Z -22).2、根据线形方程式得:30=K*0+B50=K*(-22)+B得:B=30K=-0.90903、方程式为:X=-0.9090Z+304、长度宏变量范围:Z0 ~Z-225、设自变量#1=0 #2=-226、应用循环语言WHILE [ ] DO1END1精加工程序内容:O0001;M03 S1000;T0101;G00 X55 Z2;#1=0;#2=-22;WHILE [ #1GE#2 ] DO1;#3= -0.9090*#1+30;G01 X[#3] Z[#1] F0.1#1=#1-0.05END1;G00 X100 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X55 Z2;#1=0;#2=-22;WHILE [ #2LE#1 ] DO1;#3= -0.9090*#2+30;G01 X[#3+1] F0.25;G01 Z[#2+0.5] F0.1;G00 U1 W0.5;Z2;#2=#2+2;END1;G00 X100 Z100;M30;课题一:直线宏程序(二)图1-2直线方程式:X=KZ+B解题思路:1、直线两点(X 50 , Z -20)(X 30 , Z -42).2、根据线形方程式得:50=K*-20+B30=K*(-42)+B得:B=68.18K=0.90903、方程式为:X=0.9090Z+68.184、长度宏变量范围:Z-20 ~Z-425、设自变量#1=-20 #2=-426、应用循环语言WHILE [ ] DO1END1精加工程序内容:O0001;M03 S1000;T0101;G00 X55 Z-20;#1=-20;#2=-42;WHILE [ #1GE#2 ] DO1;#3= 0.9090*#1+68.18;G01 X[#3] Z[#1] F0.1#1=#1-0.05END1;G00 X100 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X55 Z-20;#1=-20;#2=-42;WHILE [ #1GE#2 ] DO1;#3= 0.9090*#1+68.18;G01 X[#3+1] Z[#1-0.5] F0.25;G01 Z[#2]G00 U1 W0.5;Z [#1-0.5];#1=#1-2;END1;G00 X100 Z100;M30;课题一:直线宏程序(三)直线方程式:X=KZ+B解题思路:1、直线两点(X 44, Z 0)(X 30 , Z –40).2、根据线形方程式得:44=K*0+B30=K*(-40)+B得:B=44K=0.353、方程式为:X=0.35Z+444、长度宏变量范围:Z0 ~Z-405、设自变量#1=0 #2=-406、应用循环语言WHILE [ ] DO1END1精加工程序内容:O0001;M03 S1000;T0101;G00 X28 Z2;#1=0;#2=-40;WHILE [ #1GE#2 ] DO1;#3= 0.35*#1+44;G01 X[#3] Z[#1] F0.1#1=#1-0.05END1;G00 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X28 Z2;#1=0;#2=-40;WHILE [ #2LE#1 ] DO1;#3= 0.35*#2+44;G01 X[#3-1] F0.25;Z[#2+0.5];G00 U-1 W0.5;Z 2;#2=#2+2;END1;G00 Z100;M30;课题一:直线宏程序(四)直线方程式:图示右斜线直线方程式:X=KZ+B图示左斜线直线方程式:X=KZ+B解题思路:1、直线两点(X 50, Z -20)(X 30 , Z –42).2、直线两点(X30, Z –58)(X 50 , Z –80).3、根据右斜线形方程式得:50=K*-20+B30=K*(-42)+B得:B=68.18K=0.90904、根据左斜线形方程式得:30=K*-58+B50=K*(-80)+B得:B=-22.722K=-0.90905、方程式为:图示右斜线直线方程式:X=0.9090Z+68.18图示左斜线直线方程式:X=-0.9090Z-22.7226、长度宏变量范围:Z-20 ~Z-42 Z-58 Z-807、设自变量#1=-20 #2=-42 #3=58 #4=-808、应用循环语言WHILE [ ] DO1END1精加工程序内容(一):O0001;M03 S1000;T0101;G00 X55 Z-20;#1=-20;#2=-42;#3=-58;#4=-80;WHILE [ #1GE#2 ] DO1;#5= 0.090*#1+68.18;G01 X[#5] Z[#1] F0.1;W-16;#6=-0.090*#3-22.722G01 X[#6] Z[#3]F0.15;#1=#1-0.05#3=#3-0.05END1;G00 X100 Z100;M30;精加工也可这样编写(二):O0001;M03 S1000;T0101;G00 X55 Z-20;#1=-20;#2=-42;#3=-58;#4=-80;WHILE [ #1GE#2 ] DO1;#5= 0.090*#1+68.18;G01 X[#5] Z[#1] F0.1;#1=#1-0.05END1G01 W-16 F0.15;WHILE [ #3GE#4 ] DO2;#6=-0.090*#3-22.722G01 X[#6] Z[#3]F0.15;#3=#3-0.05END2;G00 X100 Z100;M30;精加工也可这样编写(三):O0001;M03 S1000;T0101;G00 X55 Z-20;#1=-20;#2=-42;#3=-58;#4=-80;WHILE [ #1GE#2 ] DO1;WHILE [ #3GE#4 ] DO2;#5= 0.090*#1+68.18;#6=- 0.090*#1-22.722;G01 X[#5] Z[#1] F0.1;G01 W-16;G01 X[#6] Z[#3] F0.1;#1=#1-0.05;#3=#3-0.05;END2;END1;G00 X100 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X55 Z-20;#1=-20;#2=-42;#3=-58;#4=-80;WHILE [ #1GE#2 ] DO1;WHILE [ #3GE#4 ] DO2;#5= 0.090*#1+68.18;#6=- 0.090*#1-22.722;G01 X[#5+1] Z[#1-0.5] F0.1;G01 X[#6+1] Z[#3+0.5] F0.1;G00 U1 W0.5;Z [#1-0.5];#1=#1-1;#3=#3-1;END2;END1;G00 X100 Z100;M30;课题二:椭圆宏程序(一)1、椭圆第一种应用方程式:X=A*2*SIN(a) Z=B*CON(a)A:为X轴方的长度(平行与X轴的椭圆轴) B:为Z轴方向的长度(平行与z轴的椭圆轴)2、椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1A:为X轴方的长度B:为Z轴方向的长度第一种方程式应用解题;3、角度宏变量范围:a=0 ∽ a=904、设自变量#1=0 #2=90 #3=10 #4=255、应用循环语言WHILE [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X55 Z2;#1=0;#2=90;#3=10;#4=25;WHILE [ #1LE#2 ] DO1;#5=2*#4*SIN(#1);#6=#3*CON(#1);G01 X [#5] Z[#6-10] F0.15#1=#1+0.1;END1;G00 X100 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X55 Z2;#1=0;#2=90;#3=10;#4=25;WHILE [ #2GE#1 ] DO1;#5=2*#4*SIN(#2);#6=#3*CON(#2);G01 X [#5+1] F0.25;Z[#6-10+0.5] F0.25;G00 U1 W0.5;Z2;#2=#2+3;END1;G00 X100 Z100;M30;椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1编程:1、长度宏变量范围:z=0 ∽ z=-102、公式分析化简得:X=SQRT[[1-Z*Z/B*B]*A*A]4、设自变量#1=0 #2=-10 #3=10 #4=255、应用循环语言WHILE [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X55 Z2;#2=0#3=10;#4=25;WHILE [ #1GE#2 ] DO1;#5=2*SQRT[[1-#1*#1/#3*#3]*#4*#4] G01 X [#5] Z[#1-10] F0.15#1=#1+0.1;END1;G00 X100 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X55 Z2;#1=10;#2=0;#3=10;WHILE [ #2GE#1 ] DO1;#5=2*SQRT[[1-#2*#2/#3*#3]*#4*#4]G01 X [#5+1] F0.25;Z[#2-10+0.5] F0.25;G00 U1 W0.5;Z2;#2=#2+3;END1;G00 X100 Z100;M30;课题二:椭圆宏程序(二)1、椭圆第一种应用方程式:X=A*2*SIN(a) Z=B*CON(a)A:为X轴方的长度(平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)2\椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1A:为X轴方的长度(平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)第一种方程式应用解题;3、角度宏变量范围:a=0 ∽ a=1504、设自变量#1=90 #2=150 #3=25 #4=405、应用循环语言WHILE [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X30Z2;#1=90;#2=150;#4=40;WHILE [ #1LE#2 ] DO1;#5=2*#3*SIN(#1);#6=#4*CON(#1);G01 X [#5] Z[#6] F0.15#1=#1+0.1;END1;G00 U-2;G00 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=90;#2=150;#3=25;WHILE [ #2GE#1 ] DO1;#5=2*#3*SIN(#2);#6=#4*CON(#2);G01 X [#5-1] F0.25;Z[#6+0.5] F0.25;G00 U-1 W0.5;Z2;#2=#2+3;END1;G00 Z100;M30;椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1编程:3、长度宏变量范围:z=0 ∽ z=-304、公式分析化简得:X=SQRT[[1-Z*Z/B*B]*A*A]4、设自变量#1=0 #2=-30 #3=25 #4=405、应用循环语言WHILE [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X30 Z2;#1=0;#2=-30#3=25;#4=40;WHILE [ #1GE#2 ] DO1;#5=2*SQRT[[1-#1*#1/#4*#4]*#3*#3] G01 X [#5] Z[#1] F0.15#1=#1-0.1;END1;G00 U-2;G00 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=0;#2=-30;#3=25;#4=40;WHILE [ #2GE#1 ] DO1;#5=2*SQRT[[1-#2*#2/#4*#4]*#3*#3] G01 X [#5-1] F0.25;Z[#2+0.5] F0.25;G00 U-1 W0.5;Z2;#2=#2-3;END1;G00 Z100;M30;课题二:椭圆宏程序(三)1、椭圆第一种应用方程式:X=A*2*SIN(a) Z=B*CON(a)A:为X轴方的长度(平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)2、椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1A:为X轴方的长度(平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)第一种方程式应用解题;2、角度宏变量范围:a=0 ∽ a=1504、设自变量#1=0 #2=150 #3=25 #4=405、应用循环语言WHILE [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X55Z2;#1=0;#2=150;#3=25;#4=40;WHILE [ #1LE#2 ] DO1;#5=2*#3*SIN(#1);#6=#4*CON(#1)-40;G01 X [#5] Z[#6] F0.15#1=#1+0.1;END1;G00 X150;G00 Z100;M30;粗加工程序右边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=0;#2=90;#3=25;#4=40;WHILE [ #2GE#1 ] DO1;#5=2*#3*SIN(#2);#6=#4*CON(#2)-40;G01 X [#5+1] F0.25;Z[#6+0.5] F0.25;Z2;#2=#2+3;END1;G00 Z100;M30;粗加工程序左边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=90;#2=150;#3=25;#4=40;WHILE [ #1LE#2 ] DO1;#5=2*#3*SIN(#1);#6=#4*CON(#1)-40;G01 X [#5+1] Z[#6-0.5] F0.25;Z-80;Z[#6-0.5];#1=#1+3;END1;G00 Z100;M30;椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1编程:5、长度宏变量范围:z=0 ∽ z=-306、公式分析化简得:X=SQRT[[1-Z*Z/B*B]*A*A]4、设自变量#1=40 #2=-30 #3=25 #4=405、应用循环语言WHILE [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X55 Z2;#1=40;#2=-30#3=25;#4=40;WHILE [ #1GE#2 ] DO1;#5=2*SQRT[[1-#1*#1/#4*#4]*#3*#3] G01 X [#5] Z[#1-40] F0.15#1=#1-0.1;END1;G00X150;G00 Z100;M30;粗加工程序右边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=40;#2=0;#3=25;#4=40;WHILE [ #2LE#1 ] DO1;#5=2*SQRT[[1-#2*#2/#4*#4]*#3*#3] G01 X [#5+1] F0.25;Z[#2+0.5-40] F0.25;G00 U1 W0.5;Z2;#2=#2+3;END1;G00 Z100;M30;粗加工程序左边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=0;#2=-30;#3=25;#4=40;WHILE [ #1GE#2 ] DO1;#5=2*SQRT[[1-#1*#1/#4*#4]*#3*#3]G01 X [#5+1] Z[#1-0.5-40] F0.25;Z-80G00 U1 W0.5;Z[#1-0.5-40];#1=#1-3;END1;G00 X150 Z100;M30;课题二:椭圆宏程序(四)3、椭圆第一种应用方程式:X=A*2*SIN(a) Z=B*CON(a)A:为X轴方的长度(平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)2、椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1A:为X轴方的长度(平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)第一种方程式应用解题;4、角度宏变量范围:a=24.397 ∽ a=155.6034、设自变量#1=24.397 #2=155.603 #3=20 #4=505、应用循环语言WHILE [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X55 Z-16.93;#1=24.397 ;#2=155.603;#3=20;#4=50;WHILE [ #1LE#2 ] DO1;#5=80-2*#3*SIN(#1)-13.477;#6=#4*CON(#1)-50;G01 X [#5] Z[#6] F0.15#1=#1+0.1;END1;G00 X150;G00 Z100;M30;粗加工程序右边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=0;#2=90;#3=25;#4=40;WHILE [ #2GE#1 ] DO1;#5=2*#3*SIN(#2);#6=#4*CON(#2)-40;G01 X [#5+1] F0.25;Z[#6+0.5] F0.25;G00 U1 W0.5;Z2;#2=#2+3;END1;G00 Z100;M30;粗加工程序左边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=90;#2=150;#3=25;#4=40;WHILE [ #1LE#2 ] DO1;#5=2*#3*SIN(#1);#6=#4*CON(#1)-40;G01 X [#5+1] Z[#6-0.5] F0.25;Z-80;G00 U1 W0.5;Z[#6-0.5];#1=#1+3;END1;G00 Z100;M30;椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1编程:7、长度宏变量范围:z=0 ∽ z=-308、公式分析化简得:X=SQRT[[1-Z*Z/B*B]*A*A]4、设自变量#1=40 #2=-30 #3=25 #4=405、应用循环语言WHILE [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X55 Z2;#1=33.07;#2=-33.07#3=20;#4=50;WHILE [ #1GE#2 ] DO1;#5=80-2*SQRT[[1-#1*#1/#4*#4]*#3*#3] G01 X [#5] Z[#1-50] F0.15#1=#1-0.1;END1;G00X150;G00 Z100;M30;粗加工平行方式编程内容:O0001;M03 S1000;T0101;G00 X55 Z-16.93;#1=33.07;#2=-33.07#3=20;#4=50;#7=10;#8=0;WHILE [ #7GE#8 ] DO2;WHILE [ #1GE#2 ] DO1;#5=80-2*SQRT[[1-#1*#1/#4*#4]*#3*#3]; G01 X [#5+#7] Z[#1-50] F0.15;#1=#1-0.1;END1;G00 X60;Z-16.93;#7=#7-1;END2;G00X150;G00 Z100;M30;左右两边粗加工内容:O0001;M03 S1000;T0101;G00 X55 Z-16.93;#1=33.07;#2=0;#10=-33.07#3=20;#4=50;WHILE [ #1GE#2 ] DO1;WHILE [ #10LE#2 ] DO2;#5=80-2*SQRT[[1-#1*#1/#4*#4]*#3*#3] #6=80-2*SQRT[[1-#10*#10/#4*#4]*#3*#3] G01 X [#5+1] Z[#1-50-0.5] F0.15;Z[#10-50+0.5];G00U2;X [#6+1] Z [#1-50];#1=#1-1;#10=#10+1;END2;END1;G00X150;G00 Z100;M30;课题四:函数曲线宏程序正弦函数曲线方程式:X=A+SIN(A);解题思路:1、A:为正弦函数曲线零线在回转体工件两边上下的中心直径距离¤40MM.2、根据线形方程式得:SIN(A)角度A为正弦函数曲线的变量方式:共角度度数为720°(90 ----810)3、将共长60与共角度720°等分成1000等分。
数控车宏程序完成稿
G01 Z#26 F[2*#9];
N30 #24=#24+#6;(X向递增)
#26=[#24*#24]/[#17]; (构造 G01X2*#24 Z#26 F#9;
X2 10
)
N60 IF [#24 LT #22/2] GOTO 30;(如果X值小于开口处直
径一半跳转到30句)
G01 X#22 Z#26 F[3*#9];
8.到终点结束
椭圆加工: 零件材料 45钢,毛 坯为 φ50mm×1 00mm,按 图要求完 成数控加 工程序。
2020/1/31
【解答】
2020/1/31
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.;
2020/1/31
2020/1/31
程序编制: 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;
2020/1/31
Z
0 -R -[60-2*[40-2R] -60 -90
N20 G01 Z-90; G00 X100; Z100; M05; M30;
2.椭圆类零件的宏程序编制
数控车床由浅入深的宏程序实例
宏程序裳华职业技术中专鲍新涛宏程序概述其实说起来宏就是用公式来加工零件的,比如说椭圆,如果没有宏的话,我们要逐点算出曲线上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入到系统中然后我们给出Z坐标并且每次加10um那么宏就会白动算出X坐标并且进行切削,实际上宏在程序中主要起到的是运算作用。
.宏一般分为A类宏和B类宏。
A类宏是以G65HxxP#xxQ#xxR#xx的格式输入的,而B类宏程序则是以直接的公式和语言输入的和C语言很相似在0i系统中应用比较广。
丁―、' I I I I, I_________________________________________________________________________________________________________ 二 _________________ I I-. !_1 : ____________________________________________ 宏程序的作用数控系统为用户配备了强有力的类似于高级语言的宏程序功能,用户可以使用变量进行算术运算、逻辑运算和函数的混合运算,此外宏程序还提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值计算,以及精简程序量。
宏程序指令适合抛物线、椭圆、双曲线等没有插补指令的曲线编程;适合图形一样,只是尺寸不同的系列零件的编程;适合工艺路径一样,只是位置参数不同的系列零件的编程。
较大地简化编程;扩展应用范围。
宏的分类B类宏由于现在B类宏程序的大量使用,很多书都进行了介绍这里我就不再重复了,但在一些老系统中,比如发那科(FANUC) OTD系统中由于它的MDI键盘上没有公式符号,连最简单的等于号都没有,为此如果应用B类宏程序的话就只能在计算机上编好再通过RSN-32接口传输的数控系统中,可是如果我们没有PC机和RSN-32电缆的话怎么办呢,那么只有通过A类宏程序来进行宏程序编制了,下面我介绍一下A类宏的引用;A 类宏A类宏是用G65HxxP#xxQ#xxR#xx或G65HxxP#xxQxxRxx格式输入的,xx的意思就是数值,是以um级的量输入的,比如你输入100那就是0.1MM.#xx就是变量号,变量号就是把数值代入到一个固定的地址中,固定的地址就是变量,一般OTD系统中有#0~#100~#149~#500~#531关闭电源时变量#100~#149被初始化成空”,而变量#500~#531保持数据.我们如果说#100=30那么现在#100地址内的数据就是30 了,就是这么简单.好现在我来说一下H代码,大家可以看到A类宏的标准格式中#xx和xx都是数值,而G65表示使用A类宏,那么这个H就是要表示各个数值和变量号内的数值或者各个变量号内的数值与其他变量号内的数值之间要进行一个什么运算,可以说你了解了H代码A类宏程序你基本就可以应用了,好,现在说一下H代码的各个含义:应用以下都以#100和#101和#102,及数值10和20做为例子,应用的时候别把他们当格式就行,基本指令H01赋值;格式:G65H01P#101Q#102把#102内的数值赋予到#101中G65H01P#101Q#10把#10 赋予到#101 中H02加指令;格式G65H02P#101Q#102R#103把#102的数值加上#103的数值赋予#101 G65H02P#101Q#102R10G65H02P#101Q10R#103G65H02P#101Q10R20上面4个都是加指令的格式都是把Q后面的数值或变量号内的数值加上R后面的数值或变量号内的数值然后等于到P后面的变量号中.H03减指令;格式G65H03P#101Q#102R#103把#102的数值减去#103的数值赋予#101 G65H03P#101Q#102R10G65H03P#101Q10R#103G65H03P#101Q20R10上面4个都是减指令的格式都是把Q后面的数值或变量号内的数值减去R后面的数值或变量号内的数值然后等于到P后面的变量号中.H04乘指令;格式G65H04P#101Q#102R#103把#102的数值乘上#103的数值赋予#101 G65H04P#101Q#102R10G65H04P#101Q10R#103G65H04P#101Q20R10上面4个都是乘指令的格式都是把Q后面的数值或变量号内的数值乘上R后面的数值或变量号内的数值然后等于到P后面的变量号中.H05除指令;格式G65H05P#101Q#102R#103把#102的数值除以#103的数值赋予#101 G65H05P#101Q#102R10G65H05P#101Q10R#103G65H05P#101Q20R10上面4个都是除指令格式都是把Q后面的数值或变量号内的数值除以R后面的数值或变量号内的数值然后等于到P后面的变量号中.(余数不存,除数如果为0的话会出现112报警)三角函数指令H31SIN正玄函数指令:格式G65H31P#101Q#102R#103含义Q后面的#102是三角形的斜边R后面的#103内存的是角度.结果是#101=#102*SIN#103,也就是说可以直接用这个求出三角形的另一条边长.和以前的指令一样Q和R后面也可以直接写数值.H32COS余玄函数指令:格式G65H32P#101Q#102R#103含义Q后面的#102是三角形的斜边R后面的#103内存的是角度.结果是#101=#102*COS#103,也就是说可以直接用这个求出三角形的另一条边长.和以前的指令一样Q和R后面也可以直接写数值.H33和H34本来应该是TAN和ATAN的可是经过我使用得数并不准确,希望有知道的人能够告诉我是为什么?升平方根指令H21;格式G65H21P#101Q#102意思是把#102内的数值开了平方根然后存到#101中(这个指令是非常重要的如果在车椭圆的时候没有开平方根的指令是没可能用宏做到的. 无条件转移指令H80;格式:G65H80P10直接跳到第10程序段有条件转移指令H81H82H83H84H85H86,分别是等于就转的H81;不等于就转的H82;小于就转的H83; 大于就转的H84;小于等于就转的H85;大于等于就转的H86;格式:G65H8xP10Q#101R#102将#101内的数值和#102内的数值相比较,按上面的H8x 的码带入H8x中去,如果条件符合就跳到第10程序段,如果不符合就继续执行下面的程序段.4B类宏程序定义能完成某一功能的一系列指令像子程序那样存入存储器,用户可以设定M、S、T、G代码调用它们,使用时只需给出这个指令代码就能执行其功能,也可以像调用子程序一样使用。
数控车床车削宏程序
例6 抛物线与椭圆的混合运用。
%8002 (程序名) G92 X50 Z0 (起点坐标) U32 V40 W55 A8 B5 C4 M98 P8001(定义#20=32、#21=40、#22=55、#0=8、#1=5、#2=4) W G36 G90 X50 Z0(到起点位置) M30 V %8001 (子程序名) U #10=0 #11=0 (抛物线起点X、 Z轴坐标值) #12=0 #13=0 (椭圆起点在X、Z轴方向增量值) G64 G37 (小线段连续加工、半径编程) WHILE #11 LE #20 (抛物线方程:Z=-X*X/C ) G01 X[2*#10] Z[-[#11]] F1500 #10=#10+0.08 (计算各段抛物线X轴坐标) #11=#10*#10/#2 (计算各段抛物线Z轴坐标) 抛物线 ENDW Z=-X² /c G01 X[2*[SQRT[#20*#2]]] Z[-#20] (到达抛物线终点) G01 Z[-#21] (到达直线终点) 椭 圆 X a / b b2 z 2 : WHILe #13 LE #1 (椭圆方程:X*X/A*A+Z*Z/B*B=1) 图4 #16=#1*#1-#13*#13 #15=SQRT[#16] #12=#15*[#0/#1] (计算椭圆X轴方向的增量) G01 X[2*[SQRT[#20*#2]+#0-#12]] Z[-#21-#13] #13=#13+0.08 (确定椭圆Z轴方向的增量) ENDW G01 X [2*[SQRT[#20*#2]+#0] ]Z[-#21-#1] (到达椭圆终点) 抛物线 椭圆 G01 Z[-#22] 2 2 Z=-X² /c X a / b b z U12 G00 Z0 m99
FANUC数控车床宏程序
数控车床宏程序程序段为宏程序语句:术或逻辑运算(=)的程序段.制语句的程序段程序调用指令的程序段程序以外的任何程序段都为NC语句.与NC语句的不同使置于单程序段运行方式,机床也不停止.但是,当参数N0.6000#5SBM设定为1时,在单程序段方式中,止.刀具半径补偿方式中宏程序语句段不做为不移动程序段处理.序语句有相同性质的NC语句有子程序调用指令,但没有除O,N或L地址之外的其它地址指令的NC语句其性质与宏程序相同.包含除ONP或L以外的指令地址的程序段其性质与宏程序语句相同.移和循环中,使用GOTO语句和IF语句可以改变控制的流向.有三种转移和循环操作可供使用;循环----------GOTO语句(无条件转移)语句(条件转移)语句(当…时循环)无条件转移(GOTO语句)标有顺序号n的程序段.当指定1到99999以外的顺序号时,出现P/S报警NO.128.可用表达方式指定.n:顺序号(1到99999)条件转移(IF)语句后指定条件表达式.件表达式>]GOTOn如果指定的条件表达式满足时,转移到标有顺序号n的程序段.如果指定的条件表达足,执行下个程序段.件表达式>]THEN如果条件表达式满足,执行预先决定的宏程序语句.只执行一个宏程序语句.达式达式必须包括算符.算符插在两个变量中间或变量和常数中间,并且用括号([,])封闭.表达式可以替代由2个字母组成,用于两个值的比较,以决定它们是相等还是一个值小于或大于另一个值.注意,不能使号.含义于等于于于或等于于于或等于序:程序计算数值1-10的总和最新教案FANUC数控车床宏程序FANUC系统宏程序编程教案车工实习教学教案数控加工与编程实训教案数控编程与操作教案数控宏程序加工斜椭圆CAXA数控车实例教案CAXA数控车教案数控车床实训教案—G73加工国蜗杆车削教案热门教案数控电火花线切割加工教案40多种电子产品制作电路图红外线遥控电子制实例教案.do 自制音响遥控电路教案汽车驾驶教案金属材料教案FLASH相册制作教案微机ATX电源电路的工作原理与钳工常用工具的介绍及使用教案单片机原理及应用教案(附教学推荐教案SQL实验教案.rar计算机组装与维修实验教案模拟电子技术教案.rar数控车床工艺品图纸—印章数控车床工艺品图纸—葫芦数字电子技术实验教案.rar跆拳道教案.doc体育课教案(田径).doc建筑材料教案.rar机械制图期中试卷.doc存储和数变量的初值被加数变量的初值2GT10]GOTO2;当被加数大于10时转移到N2#2;计算和数#1;下一个被加数;转到N1程序结束循环(WHILE语句)E后指定一个条件表达式.当指定条件满足时,执行从D0到END之间的程序.否则,转到END后的程序段.的条件满足时,执行WHILE从D0到END之间的程序.否则,转而执行END之后的程序段,这种指令格式适F语句.D0后的号和END后的号是指定程序执行范围的标号,标号值为1,2,3.若用1,2,3以外的值会产报警NO.126.END循环中的标号可根据需要多次使用.但是,当程序有交叉重复循环(DO范围的重叠)时,出现P/S报警.环当指定DO而没有指定WHILE语句时,产生从DO到END的无限循环.间当在GOTO语句中有标号转移的语句时,进行顺序号检索.反向检索的时间要比正向检索长.用WHILE 现循环可减少处理时间.的变量在使用EQ或NE的条件表达式中,<空>和零有不同的效果,在其它形式的条件表达式中,<空>被当序下面的程序计算数值1到10的总和.#2LE10]DO1;#2;1;案名称:FANUC数控车床宏程序大小:84K时间:2010-11-3 23:04:19次数统计:: 2: 6:22221 使用快车下载。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
焦点在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;
4.计算坐标值
5.指令机床沿曲线移动X,Z坐标
6.变量递增或递减
7.判断是否到达终点
未到终点返回4.计算坐标值
8.到终点结束
椭圆加工: 零件材料 45钢,毛 坯为 φ50mm×1 00mm,按 图要求完 成数控加 工程序。
【解答】
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.;
MOV007.MOD
参数方程编写椭圆宏程序:
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到EN
2
2
X b / tan Y a / sin
双曲线宏程序结构流程:
开始
给常量赋值 给自变量Z赋初值
指令机床移动X,Z坐标
Z向均值递减
双曲线上任意一点X坐标值计算
动点Z值是否大于等于双曲线终点Z值
若大于等于返回移动X,Z坐标 若小于结束
焦点在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;
逻辑判断功能
等于: EQ 不等于: NE 大于: GT 小于: LT 大于等于:GE 小于等于:LE 格式: #j 格式: #j 格式: #j 格式: #j 格式: #j 格式: #j EQ NE GT LT GE LE #k #k #k #k #k #k
3.宏程序的控制语句 (1)、无条件转移(GOTO语句) 格式:GOTO n; 式中:n——顺序号(1~9999),可 用变量表示。 举例:GOTO 1; GOTO #10;
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;
当条件不满足时,程序就执行ENDm下 一条语句
循环嵌套:
DO—END循环嵌套: WHILE [条件式1] DO 1; …… WHILE [条件式2] DO 2; …… WHILE [条件式3] DO 3; …… END 3; …… END 2 …… END 1;
二、数控车床宏程序编程技巧编程实例
2.椭圆类零件的宏程序编制
椭圆的标准方程:
X Z 2 1 2 b a
2
2
椭圆的参数方程:
X b * SIN[ ] Z a * COS[ ]
其中
为椭圆的离心角,
为椭圆的旋转角
两者不为一个值,关系为
a tan b tan
椭圆宏程序结构流程:
1.开始 2.给常量赋值
3.给变量赋值
(2).条件转移
条件转移语句1 I F [ 条件表达式 ] GOTO n
当条件满足时,程序就跳转到同一程 序 中语句标号为n的语句上继续执 行 当条件不满足时,程序执行下一条语 句
条件转移语句2 WHILE [ 条件表达式 ] DO m ... … END m 当条件满足时,从DO m到ENDm之间的 程序就重复执行。
1.宏程序用于系列零件的加工
宏程序用于系列零件的加工,此系列零件形状 相同,但是部分尺寸不同,如果将这些不同的尺寸 用宏变量表示,由程序自动将相关基点坐标进行计 算则可用同一个程序完成一个系列零件的加工。 以上图为例。该系列零件的右端面半球球径可取 R10与R15,可将球径用变量表示,编程原点设在工 件右端面中心,毛坯直径¢45.从图中可以看出编程所 需基点A·D · E三点外,B · C点均与球径R相关, 下面给出各基点坐标:
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向递增) X2 ) #26=[#24*#24]/[#17]; (构造 G01X2*#24 Z#26 F#9; 10 N60 IF [#24 LT #22/2] GOTO 30;(如果X值小于开口处直 径一半跳转到30句) G01 X#22 Z#26 F[3*#9]; M05; M30;
b a2 Z 2 a
a2 Z 2
)
)
(直径值定义加上加工余量,Z向偏移椭圆长半轴)
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];
2 2
可转化为:
Z X / 2P (或X Z / 2P)
2
2
抛物线宏程序结构流程:
开始 给常量赋值 给变量赋初值 进入循环体 X变量递加 计算Z坐标值 指令机床沿抛物线轮廓移动X,Z坐标
判断X值是否小于抛物线终点处直径一半
若不小于刀具退离到工件右端
若小于返回进入循环体
结束
抛物线宏程序编制:
4.双曲线过渡类零件的宏程序编制
焦点在X轴上的双曲线,其标准方程为
X2 Y2 2 1(a 0, b 0) 2 a b
参数方程为:
X A / COS Y B * TAN
焦点在Y轴上的双曲线,其标准方程为
Y X 2 1(a 0, b 0) 2 a b
参数方程为:
D2之间的程序段) #6=#2*COS[#3];(构造 #7=2*#1*SIN[#3];(构造 (椭圆X坐标加余量值)
a * COS ( ))
G1 X[#7+#20] Z#6 F150;
2 * b * SIN( ) )
#3=#3+#4;(椭圆离心角递增) #10=#7+#20;(X向当前点坐标) IF [#10 GT 26] GOTO 56;
(构造
a2 Z 2
)
#104=10+2/3*#103; #105=2*#104;
(构造 b
a
a 2 Z 2 X向半径偏移10mm)
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;
O0003;(椭圆加工子程序) #101=20.;(椭圆长半轴) #102=13.;(椭圆短半轴) #103=20.;(起点处Z坐标) N20 IF [#103 LT 1] GOTO 50;(如果Z值小于1跳转到50句)
#104 Байду номын сангаас SQRT[#101*#101 - #103*#103];(构造
#105 = #102*#104/#101;(构造 G01 X[2*#105 + #150] Z[#103 – 20]; #103 = #103 –0.5;(Z坐标递减0.5mm) GOTO 20;(绝对跳转到20句) N50 G00 U2. Z2.;(退刀)
一、数控车床宏程序编程特征
变量的类型和功能(FANUC系统为例) 变量号 #0 #1-#33 变量类型 空 局部变量 功能 该变量值总为空 只能在一个宏程序中使 用 在各宏程序中可以公用 的 固定用途的变量