(整理)数控宏程序教程(车床篇)1(经典)
- 格式:doc
- 大小:314.00 KB
- 文档页数:17
数控车床宏程序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-宏程序入门基础之销轴加工对于没有接触过宏程序人,觉得它很神秘,其实很简单,只要掌握了各类系统宏程序的基本格式,应用指令代码,以及宏程序编程的基本思路即可。
对于初学者,尤其是要精读几个有代表性的宏程序,在此基础上进行模仿,从而能够以此类推,达到独立编制宏程序的目的。
本教程将分步由浅入深的将宏程序讲解给大家,作者水平有限,也希望各位同仁提供更好的思路。
下面大家先看一个简单的车床的程序,图纸如下:要求用外圆刀切削一个短轴,这里只列举程序的前几步: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-宏程序之销轴粗精加工本篇文章利用宏程序简单模仿数控系统的外圆车削循环功能。
电子论文-数控宏程序教程引言数控机床是现代制造业中常见的高精度、高效率加工工具。
要使用数控机床进行加工,通常需要编写数控宏程序。
数控宏程序是一种特殊的程序语言,用于描述数控机床的加工路径、加工参数等信息。
本教程将介绍数控宏程序的基本语法和编写方法,以帮助读者快速掌握数控编程技巧。
数控宏程序是一种特殊的程序,用于指导数控机床进行加工操作。
宏程序通常包含一系列指令,每个指令都对应着数控机床的一个操作,如移动、切削等。
数控宏程序通常使用特定的语言编写,常见的数控宏程序语言有G代码和M代码。
G代码用于描述加工路径和运动方式,M代码用于描述辅助功能,如切割速度、冷却等。
数控宏程序语法是编写宏程序时必须遵守的规则。
在宏程序中,每一行都表示一条指令,指令由字母和数字组成。
下面是一些常用指令的示例:•G01 X10 Y20:将刀具移动到坐标(10,20)的位置•G02 X30 Y40 R10:以半径为10的圆弧方式将刀具从当前位置移动到(30,40)的位置•G03 X50 Y60 R20:以半径为20的逆时针圆弧方式将刀具从当前位置移动到(50,60)的位置•M03 S500:设置主轴转速为500转/分钟•M08:打开冷却液宏程序的每个指令都必须以换行符结束。
注释可以使用“;”字符进行标识,注释内容将不会被机床执行。
3. 数控宏程序编写步骤编写数控宏程序通常需要遵循以下步骤:1.确定加工路径:根据产品的设计要求,确定数控机床的加工路径和运动方式。
2.编写G代码:根据加工路径,使用G代码描述刀具的移动方式和加工轨迹。
3.编写M代码:根据加工要求,使用M代码设置刀具的速度、冷却等辅助功能。
4.保存宏程序:将编写好的宏程序保存到数控机床或外部介质中。
4. 数控宏程序调试和运行编写完成宏程序后,需要进行调试和运行以验证程序的正确性。
调试宏程序可以通过以下步骤进行:1.导入宏程序:将编写好的宏程序导入数控机床的控制系统中。
数控编程讲义第一篇铣工篇 (1)专题一行切和环切 (1)1.1环切 (1)1.1.1环切刀具半径补偿值的计算 (2)1.1.2环切刀补程序工步起点(下刀点)的确定 (4)1.1.3在程序中修改刀具半径补偿值 (5)1.1.4环切宏程序 (7)1.2 行切 (8)1.2.1 矩形区域的行切计算 (8)1.2.2行切的子程序实现 (10)1.2.3 行切宏程序实现 (11)专题二相同轮廓的重复加工 (13)2.1 用增量方式完成相同轮廓的重复加工 (14)2.2用坐标系平移完成相同轮廓的重复加工 (14)2.3 用宏程序完成相同轮廓的重复加工 (15)专题三简单平面曲线轮廓加工 (17)专题四简单立体曲面加工 (18)4.1球面加工 (18)4.1.1外球面加工 (20)4.1.2内球面加工 (21)4.2水平圆柱面的加工 (22)4.2.1圆柱面的轴向走刀加工 (22)4.2.1圆柱面的周向走刀加工 (23)专题五孔系加工 (25)5.1 矩形阵列孔系加工 (25)5.2环形阵列孔系加工 (26)第二篇车工篇 (27)专题六参数编程 (27)专题七方程曲线的车削加工 (29)7.1方程曲线车削加工的走刀路线: (29)7.2 椭圆轮廓的加工 (30)附录FANUC系统G指令和宏指令 (32)附录1刀具补偿值、刀具补偿号及在程序中赋值G10 (32)1、刀具补偿值的范围 (32)2、刀具补偿值的存贮 (32)3、刀具补偿赋值格式: (34)附录2 缩放G50、G51 (35)附录3 坐标系旋转G68、G69 (42)附录4 宏程序B(custom macro B) (48)1 宏变量(variables) (48)2 系统变量SYSTEM V ARIABLES (54)2.1接口信号Interface signals (55)2.2刀具补偿值Tool compensation values (56)2.3宏程序报警信息Macro alarms (58)2.4时间信息 (59)2.5自动运行控制 (60)2.6背景(#3005)Settings (63)2.7已加工的零件数Number of machined parts (64)2.8模态信息Model information (65)2.9当前位置 (68)2.10工件坐标系补偿值(工件坐标系零点偏置值) (68)3算术和逻辑运算 (70)4 宏语句和NC语句 (81)5分支和循环 (83)5.1无条件分支GOTO语句 (83)5.2 条件分支IF语句 (84)5.3 循环WHILE 语句 (87)6 调用宏程序MACRO CALL (34)6.1 简单调用G65 (35)6.2模态调用G66 (45)6.3使用G代码的宏调用 (51)6.4使用M代码的宏调用 (54)6.5使用M代码的子程序调用 (57)6.6使用T代码的子程序调用 (59)6.7例程............................................................................................. 错误!未定义书签。
由浅入深宏程序数控车床旋转正弦函数宏程序正弦函数曲线旋转宏程序坐标点旋转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=-16正弦函数旋转图纸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时的正弦函数值旋转正弦函数曲线粗精加工程序如下:M3S800G0X52Z5#6=26 工件毛坯假设为50mm,#6为每层切削时向+X的偏移量。
N5 G0X[#6+18.539]G1Z0F0.1#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 沿小段直线插补加工#1=#1-0.5 递减0.5,此值越小,工件表面越光滑。
IF [#1 GE 0] GOTO 10 条件判断是否到达终点。
G1X52 直线插补切到工件外圆之外G0Z5#6=#6-2IF [#6 GE 0] GOTO 5G0X150Z150M5M30镂空立方体宏程序范例镂空立方体图纸及宏程序范例此零件六个面加工内容相同,在加工时,调面装夹时要注意考虑夹紧力。
数控宏程序一.什么是宏程序?什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。
宏程序具有如下些特点:1.使用了变量或表达式(计算能力),例如:(1)G01X[3+5];有表达式3+5(2)G00X4F[#1];有变量#1(3)G01Y[50*SIN[3]];有函数运算2.使用了程序流程控制(决策能力),例如:(1)IF#3GE9;有选择执行命令……ENDIF(2)WHILE#1LT#4*5;有条件循环命令……ENDW二.用宏程编程有什么好处?1.宏程序引入了变量和表达式,还有函数功能,具有实时动态计算能力,可以加工非圆曲线,如抛物线、椭圆、双曲线、三角函数曲线等;2.宏程序可以完成图形一样,尺寸不同的系列零件加工;3.宏程序可以完成工艺路径一样,位置不同的系列零件加工;4.宏程序具有一定决策能力,能根据条件选择性地执行某些部分;5.使用宏程序能极大地简化编程,精简程序。
适合于复杂零件加工的编程。
一.宏变量及宏常量1.宏变量先看一段简单的程序:G00X25.0上面的程序在X轴作一个快速定位。
其中数据25.0是固定的,引入变量后可以写成:#1=25.0;#1是一个变量G00X[#1];#1就是一个变量宏程序中,用“#”号后面紧跟1~4位数字表示一个变量,如#1,#50,#101,……。
变量有什么用呢?变量可以用来代替程序中的数据,如尺寸、刀补号、G指令编号……,变量的使用,给程序的设计带来了极大的灵活性。
使用变量前,变量必需带有正确的值。
如#1=25G01X[#1];表示G01X25#1=-10;运行过程中可以随时改变#1的值G01X[#1];表示G01X-10用变量不仅可以表示坐标,还可以表示G、M、F、D、H、M、X、Y、……等各种代码后的数字。
如:#2=3G[#2]X30;表示G03X30例1使用了变量的宏子程序。
%1000#50=20;先给变量赋值M98P1001;然后调用子程序#50=350;重新赋值M98P1001;再调用子程序M30%1001G91G01X[#50];同样一段程序,#50的值不同,X移动的距离就不同M992.局部变量编号#0~#49的变量是局部变量。
由浅入深宏程序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;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,直径方向每次递减4mmIF [#1GE40] GOGO 10;如果#1 >= 40,即此表达式满足条件,则程序跳转到N10继续执行。
M03S1200 当不满足#1 >= 40,即#1<40,则跳过循环判断语句,由此句继续向后执行。
G0X40 由此开始精加工G1Z-40F0.1X82G0X150Z150M5M30由浅入深宏程序3-宏程序车半球面在不使用循环切削加工圆弧时,可以有几种不同的方式来安排走刀轨迹,本篇文章采用将圆弧段沿X方向偏移,由外籍内的加工方式进行。
如图所示R20圆弧,假设刀具每次单边切深2mm,直径每刀吃4mm,则由端面切入的位置可以计算出需要切削:40/4=10 刀每条圆弧起点和终点的Z坐标不变,但X坐标都同时向+X方向偏移一个相同的值,因此可设偏移量为#1,初始值为#1=36 圆弧起点X坐标为#2=0+#1圆弧终点X坐标为#3=40+#1宏程序编制如下:T0101M3S800G0X42Z5#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直径方向递减4mmIF [#1 GE 0] GOTO 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方向划分成无数小段直线,然后求出其相应端点坐标,再求出相对的数控车床中的坐标,再按直线进行编程加工。
如下图所示:则此段圆弧精加工轨迹为:G0X0G1Z0F0.1#1=0N10 #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,则程序改为T0101M3S800G0X42Z5#5=36N5 G0X[#5]G1Z0F0.1#1=20N10 #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-4IF [#5 GE 0] GOTO 5G0X150Z150M5M30以上程序分内外二层循环,外层循环为分层加工,内层循环为小段直线插补一条圆弧。
由浅入深宏程序5-圆的参数方程编制宏程序车半球面圆的标准方程为:X=R*COSθY=R*SINθ可改写为: #1=20*cos[#3] #3为参数方程对应图纸中角度#2=20*sin[#3]使用参数方程比圆的标准方程具有一个优点,从下图中可以看出,使用标准方程式,在工件最右端,划分直线坡度较大,从右至左划分线段不均匀,而使用圆的参数方程所划分的直线段是按照圆周方向划分的,因此分布均匀,从而使用零件表面加工质量好。
相应程序修改如下:T0101M3S800G0X42Z5#6=36N5 G0X[#6]G1Z0F0.1#3=0N10 #1=20*COS[#3]#2=20*SIN[#3]#4=2*#2+#6 圆的方程计算出的为半径值,需转化为直径值才能与直径编程对应。
#5=#1-20G1X[#4]Z[#5]F0.1 沿小段直线插补加工#1=#1+3 递减3度,此值越小,圆弧越光滑。
IF [#1 LE 90] GOTO 10 条件判断是否到达终点。
G1X42 直线插补切到工件外圆之外G0Z5#6=#6-4IF [#6 GE 0] GOTO 5G0X150Z150M5M30由浅入深宏程序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,只加工半个椭圆,则此段椭圆精加工轨迹为:G0X0G1Z0F0.1#1=30N10 #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] GOTO 10 条件判断是否到达终点。
G1X42 直线切出外圆如果要再加上分层的粗加工,设偏移量为#5,则程序改为T0101M3S800G0X42Z5#5=36N5 G0X[#5]G1Z0F0.1#1=30N10 #2=20*SQRT[1-30*30/#1*#1] +#5 SQRT表示开平方#3=#1-30 椭圆的原点在工件坐标左侧30,所以椭圆上所有点坐标Z要减20#4=2*#2 方程计算出的为半径值,需转化为直径值才能按直径编程。
G1X[#4]Z[#3]F0.1 沿小段直线插补加工#1=#1-1 递减一小段距离,此值越小,椭圆越光滑。
IF [#1GE0] GOTO 10 条件判断是否到达终点。
G1U5 直线插补切出外圆G0Z5#5=#5-4IF [#5 GE 0] GOTO 5G0X150Z150M5M30以上程序分内外二层循环,外层循环为分层加工,内层循环为小段直线插补一条四分之一椭圆弧。
由浅入深宏程序7-椭圆的参数方程编制宏程序车椭球面椭圆的参数方程为:X=a*COSθY=b*SINθ可改写为: #1=30*cos[#3] #3为参数方程对应的中角度#2=20*sin[#3]相应程序修改如下:T0101M3S800G0X42Z5#6=36N5 G0X[#6]G1Z0F0.1#3=0N10 #1=30*COS[#3]#2=20*SIN[#3]#4=2*#2+#6 计算出的为半径值,需转化为直径值才能与直径编程对应。
#5=#1-30G1X[#4]Z[#5]F0.1 沿小段直线插补加工#1=#1+3 递减3度,此值越小,工件表面越光滑。
IF [#1 LE 90] GOTO 10 条件判断是否到达终点。
G1X42 直线插补切到工件外圆之外G0Z5#6=#6-4IF [#6 GE 0] GOTO 5G0X150Z150M5M30由浅入深宏程序8-车床任意位置椭圆宏程序的编制不在轴线上的椭圆宏程序编制也没有什么特殊的,只是改下偏置的数值罢了。
椭圆的参数方程为:X=a*COSθY=b*SINθ可改写为: #1=30*cos[#3] #3为参数方程对应的中角度#2=20*sin[#3]图中椭圆长半轴30mm,短半轴20mm,椭圆中心位置如图所示,不在轴线上,因此在计算编程所用的坐标值时,X方向要再加上40,Z方向要减去30+10=40相应程序如下:T0101M3S800G0X82Z5#6=36N5 G0X[#6+40]G1Z-10F0.1#3=0N10 #1=30*COS[#3]#2=20*SIN[#3]#4=2*#2+#6+40 计算出的为半径值,需转化为直径值才能与直径编程对应。