数控高级编程讲义Word下载.docx
《数控高级编程讲义Word下载.docx》由会员分享,可在线阅读,更多相关《数控高级编程讲义Word下载.docx(53页珍藏版)》请在冰豆网上搜索。
附录4宏程序B(custommacroB)27
1宏变量(variables)27
2系统变量SYSTEMVARIABLES29
2.1接口信号Interfacesignals29
2.2刀具补偿值Toolcompensationvalues29
2.3宏程序报警信息Macroalarms30
2.4时间信息30
2.5自动运行控制30
2.6背景(#3005)Settings31
2.7已加工的零件数Numberofmachinedparts32
2.8模态信息Modelinformation32
2.9当前位置32
2.10工件坐标系补偿值(工件坐标系零点偏置值)33
3 算术和逻辑运算33
4宏语句和NC语句36
5分支和循环36
5.1无条件分支GOTO语句37
5.2条件分支IF语句37
5.3循环WHILE语句38
6调用宏程序MACROCALL29
6.1简单调用G6530
6.2模态调用G6633
6.3 使用G代码的宏调用35
6.4 使用M代码的宏调用35
6.5 使用M代码的子程序调用36
6.6 使用T代码的子程序调用37
6.7例程37
第一篇 铣工篇
专题一 行切和环切
在数控加工中,行切和环切是典型的两种走刀路线。
行切在手工编程时多用于规则矩形平面、台阶面和矩形下陷加工,对非矩形区域的行切一般用自动编程实现。
环切主要用于轮廓的半精、精加工及粗加工,用于粗加工时,其效率比行切低,但可方便的用刀补功能实现。
1.1环切
环切加工是利用已有精加工刀补程序,通过修改刀具半径补偿值的方式,控制刀具从内向外或从外向内,一层一层去除工件余量,直至完成零件加工。
编写环切加工程序,需解决三个问题:
Ø
环切刀具半径补偿值的计算;
环切刀补程序工步起点(下刀点)的确定;
如何在程序中修改刀具半径补偿值。
1.1.1环切刀具半径补偿值的计算
确定环切刀具半径补偿值可按如下步骤进行:
1、确定刀具直径、走刀步距和精加工余量;
2、确定半精加工和精加工刀补值;
3、确定环切第一刀的刀具中心相对零件轮廓的位置(第一刀刀补值);
4、根据步距确定中间各刀刀补值。
示例:
用环切方案加工图1-1零件内槽,环切路线为从内向外。
环切刀补值确定过程如下:
1、根据内槽圆角半径R6,选取φ12键槽铣刀,精加工余量为0.5mm,走刀步距取10mm。
2、由刀具半径6,可知精加工和半精加工的刀补半径分别为6和6.5mm;
3、如图所示,为保证第一刀的左右两条轨迹按步距要求重叠,则两轨迹间距离等于步距,则该刀刀补值=30-10/2=25mm。
4、根据步距确定中间各刀刀补值,
第二刀刀补值=25-10=15mm
第三刀刀补值=15-10=5,该值小于半精加工刀补值,说明此刀不需要。
由上述过程,可知,环切共需4刀,刀补值分别为25、15、6.5、6mm。
1.1.2环切刀补程序工步起点(下刀点)的确定
对于封闭轮廓的刀补加工程序来说,一般选择轮廓上凸出的角作为切削起点,对内轮廓,如没有这样的点,也可以选取圆弧与直线的相切点,以避免在轮廓上留下接刀痕。
在确定切削起点后,再在该点附近确定一个合适的点,来完成刀补的建立与撤消,这个专用于刀补建立与撤消的点就是刀补程序的工步起点,一般情况下也是刀补程序的下刀点。
一般而言,当选择轮廓上凸出的角作为切削起点时,刀补程序的下刀点应在该角的角平分线上(45°
方向),当选取圆弧与直线的相切点或某水平/垂直直线上的点作为切削起点时,刀补程序的下刀点与切削起点的连线应与直线部分垂直。
在一般的刀补程序中,为缩短空刀距离,下刀点与切削起点的距离比刀具半径略大一点,下刀时刀具与工件不发生干涉即可。
但在环切刀补程序中,下刀点与切削起点的距离应大于在上一步骤中确定的最大刀具半径补偿值,以避免产生刀具干涉报警。
如对图1-1零件,取R30圆弧圆心为编程零点,取R30圆弧右侧端点作为切削起点,如刀补程序仅用于精加工,下刀点取在(22,0)即可,该点至切削起点距离=8mm。
但在环切时,由于前两刀的刀具半径补偿值大于8mm,建立刀补时,刀具实际运动方向是向左,而程序中指定的运动方向是向右,撤消刀补时与此类似,此时数控系统就会产生刀具干涉报警。
因此合理的下刀点应在编程零点(0,0)。
1.1.3在程序中修改刀具半径补偿值
在程序中修改刀具半径补偿值可采用如下方法
●1、在刀补表中设好环切每一刀的刀具半径补偿值,然后在刀补程序中修改刀具补偿号。
示例1.1 直接在G41/G42程序段修改刀具补偿号
示例1.2 用宏变量表示刀具补偿号,利用循环修改刀具补偿号
●2、使用G10修改刀具补偿半径
示例1.3,使用G10和子程序完成环切
示例1.4 使用G10和循环完成环切
●3、直接用宏变量对刀补值赋值
示例1.5 直接用宏变量对刀补值赋值,利用循环完成环切。
说明:
在G41X30d#10中,#10表示刀具补偿号,而在G41X30d[#10]中,#10表示刀具半径补偿值,此用法在FANUC说明书中没有,但实际使用的结果确实如此,如所用系统不支持此用法,就只用示例1.4用法。
1.1.4 环切宏程序
当使用刀具半径补偿来完成环切时,不管我们采用何种方式修改刀具半径补偿值,由于受刀补建、撤的限制,它们都存在走刀路线不够简洁,空刀距离较长的问题。
对于象图1-1所示的轮廓,其刀具中心轨迹很好计算,此时如用宏程序直接计算中心轨迹路线,则可简化走刀路线,缩短空刀距离。
示例1.6完全使用宏程序的环切加工
如图1-2所示,用#1、#2表示轮廓左右和上边界尺寸,编程零点在R30圆心,加工起始点放在轮廓右上角(可削除接刀痕)
1.2行切
一般来说,行切主要用于粗加工,在手工编程时多用于规则矩形平面、台阶面和矩形下陷加工,对非矩形区域的行切一般用自动编程实现。
1.2.1矩形区域的行切计算
●1、矩形平面的行切区域计算
如图所示,矩形平面一般采用图示直刀路线加工,在主切削方向,刀具中心需切削至零件轮廓边,在进刀方向,在起始和终止位置,刀具边沿需伸出工件一距离,以避免欠切。
假定工件尺寸如图所示,采用Φ60面铣刀加工,步距50mm,上、下边界刀具各伸出10mm。
则行切区域尺寸为800×
560(600+10*2-60)。
●2、矩形下陷的行切区域计算
对矩形下陷而言,由于行切只用于去除中间部分余量,下陷的轮廓是采用环切获得的,因此其行切区域为半精加工形成的矩形区域,计算方法与矩形平面类似。
假定下陷尺寸100*80,由圆角R6选Φ12铣刀,精加工余量0.5mm,步距10mm,则半精加工形成的矩形为(100-12*2-0.5*2)*(80-12*2-0.5*2)=75*55。
如行切上、下边界刀具各伸出1mm,则实际切削区域尺寸=75*(55+2-12)=75*45。
1.2.2行切的子程序实现
对于行切走刀路线而言,每来回切削一次,其切削动作形成一种重复,如果将来回切削一次做成增量子程序,则利用子程序的重复可完成行切加工。
●1、切削次数与子程序重复次数计算
进刀次数n=总进刀距离/步距=47/10=4.5,实际需切削6刀,进刀5次。
子程序重复次数m=n/2=5/2=2,剩余一刀进行补刀。
步距的调整:
步距=总进刀距离/切削次数。
当实际切削次数约为偶数刀时,应对步距进行调整,以方便程序编写;
当实际切削次数约为奇数刀时,可加1成偶数刀,再对步距进行调整,或直接将剩下的一刀放在行切后的补刀中,此时不需调整步距。
由于行切最后一刀总是进刀动作,故行切后一般需补刀。
●2、示例1.7
对图1-4零件,编程零点设在工件中央,下刀点选在左下角点,加工程序如下:
1.2.3行切宏程序实现
对图1-4零件,编程零点设在工件中央,下刀点选在左下角点,加工宏程序如下:
示例1.8(本程序未考虑分层下刀问题)
专题二 相同轮廓的重复加工
在实际加工中,相同轮廓的重复加工主要有两种情况:
1、同一零件上相同轮廓在不同位置出现多次;
2、在连续板料上加工多个零件。
实现相同轮廓重复加工的方法
1、用增量方式定制轮廓加工子程序,在主程序中用绝对方式对轮廓进行定位,再调用子程序完成加工。
2、用绝对方式定制轮廓加工子程序,并解决坐标系平移的问题来完成加工。
3、用宏程序来完成加工。
2.1用增量方式完成相同轮廓的重复加工
示例2-1,加工图2-1所示工件,取零件中心为编程零点,选用φ12键槽铣刀加工。
子程序用中心轨迹编程。
2.2用坐标系平移完成相同轮廓的重复加工
坐标系平移有两种方式
G54+G52,用于重复次数不多,且轮廓分布无规律情况。
G54+G92,用于轮廓分布有规律且重复次数很多的情况。
示例2-2用局部坐标系G52完成相同轮廓的重复加工,G54零点设在零件中心,局部坐标系零点在需加工孔的孔心。
示例2-3,用G54+G92完成相同轮廓的重复加工,G54零点设设在零件中心,子坐标系零点在需加工孔的孔心。
2.3用宏程序完成相同轮廓的重复加工
示例2-4,用G65调用完成加工,宏程序用绝对编程。
示例2-5,用G66调用完成加工,宏程序用绝对编程。
示例2-6,使用循环,用一个程序完成加工
专题三 简单平面曲线轮廓加工
对简单平面曲线轮廓进行加工,是采用小直线段逼近曲线来完成的。
具体算法为:
采用某种规律在曲线上取点,然后用小直线段将这些点连接起来完成加工。
示例3-1,椭圆加工,假定椭圆长(X向)、短轴(Y向)半长分别为A和B,则椭圆的极坐标方程为
,利用此方程可方便地完成在椭圆上取点工作。
编程条件:
编程零点在椭圆中心,a=50,b=30,椭圆轮廓为外轮廓,下刀点在椭圆右极限点,刀具直径φ18,加工深度10mm。
程序如下:
专题四 简单立体曲面加工
4.1球面加工
●球面加工使用的刀具
粗加工可以使用键槽铣刀或立铣刀,也可以使用球头铣刀。
精加工应使用球头铣刀。
●球面加工的走刀路线
一般使用一系列水平面截球面所形成的同心圆来完成走刀。
在进刀控制上有从上向下进刀和从下向上进刀两种,一般应使用从下向上进刀来完成加工,此时主要利用铣刀侧刃切削,表面质量较好,端刃磨损较小,同时切削力将刀具向欠切方向推,有利于控制加工尺寸。
●进刀控制算法
进刀点的计算:
先根据允许的加工误差和表面粗糙度,确定合理的Z向进刀量,再根据给定加工深度Z,计算加工圆的半径,即:
r=sqrt[R2-z2]。
此算法走刀次数较多。
先根据允许的加工误差和表面粗糙度,确定两相邻进刀点相对球心的角度增量,再根据角度计算进刀点的r和Z值,即Z=R*sinθ,r=R*cosθ。
进刀轨迹的处理
对立铣刀加工,曲面加工是刀尖完成的,当刀尖沿圆弧运动时,其刀具中心运动轨迹也是一行径的圆弧,只是位置相差一个刀具半径。
对球头刀加工,曲面加工是球刃完成的,其刀具中心是球面的同心球面,半径相差一个刀具半径。
4.1.1外球面加工
示例4-1,加工图4-3所示外球面。
为对刀方便,宏程序编程零点在球面最高点处,采用从下向上进刀方式。
立铣刀加工宏程序号为%9013,球刀加工宏程序号%9014。
●宏程序
4.1.2内球面加工
示例4-2,加工图4-4所示内球面。
为对刀方便,宏程序编程零点在球面最高处中心,采用从下向上进刀方式。
其主程序与示例4-1类似,宏程序调用参数与示例4-1相同,本例不再给出。
立铣刀加工宏程序号为%9015,球刀加工宏程序号%9016。
4.2水平圆柱面的加工
水平圆柱面加工可采用行切加工
沿圆柱面轴向走刀,沿圆周方向进刀;
走刀路线短,加工效率高,加工后圆柱面直线度好;
用于模具加工,脱模力较大;
程序可用宏程序或自动编程实现。
沿圆柱面圆周方向走刀,沿轴向进刀;
走刀路线通常比前一方式长,加工效率较低,但用于大直径短圆柱则较好,加工后圆柱面轮廓度较好;
用于模具加工,脱模力较小;
程序可用子程序重复或宏程序实现,用自动编程实现程序效率太低。
4.2.1圆柱面的轴向走刀加工
示例4-3,为简化程序,以完整半圆柱加工为例(图4-4a)。
为对刀、编程方便,主程序、宏程序零点放在工件左侧最高点,毛坯为方料,立铣刀加工宏程序号为%9017,球刀加工宏程序号%9018。
4.2.1圆柱面的周向走刀加工
为简化程序,以完整半圆柱加工为例(图4-4a)。
为对刀、编程方便,主程序、宏程序零点放在工件左侧最高点,毛坯为方料。
示例4-4,子程序加工方案,立铣刀加工程序号为%0020,球刀加工程序号%0021。
示例4-5,宏程序加工方案,立铣刀加工宏程序号为%9020,球刀加工宏程序号%9021。
主程序和宏程序调用参数与示例4-3基本相同,不再给出。
专题五 孔系加工
孔系加工可分为矩形阵列孔系和环形阵列孔系加工两种情况。
5.1矩形阵列孔系加工
就单孔加工而言,其加工有一次钻进和间歇钻进之分,为使用方便,定制的宏程序应能完成此两种加工。
以图5-1所示工件为例,板厚20,编程零点放在工件左下角。
示例5-1,矩形阵列孔系宏程序加工,阵列基准为左下角第一个孔。
5.2环形阵列孔系加工
示例5-2,加工图5-2所示工件。
编程零点放在分布圆中心。
●宏程序调用参数说明
X(#24)-----阵列中心位置
Y(#25)
A(#1)-------起始角度
B(#2)-------角度增量(孔间夹角)
I(#4)--------分布圆半径
K(#6)-------孔数
R(#7)-------快速下刀高度
Z(#26)------钻深
Q(#17)------每次钻进量,Q=0,则一次钻进到指定深度。
F(#9)--------钻进速度
第二篇 车工篇
专题六 参数编程
参数编程用于系列零件的加工,此系列零件形状相同,但有部分尺寸不同。
如果将这些不同的尺寸用宏变量(参数)形式给出,由程序自动对相关节点坐标进行计算,则可用同一程序完成一个系列零件的加工。
以图6-1零件为例。
该系列零件的右端面半球球径可取R15和R10,可将球径用变量表示。
编程零件设在工件右端面中心,棒料Φ45。
从图中可以看出,编程所需节点,除A、D、E三点外,B、C点均与球径R有关。
下面给出各节点坐标。
编号
坐标值
X
Z
A
B
2R
-R
C
-(60-2*(20-R))=-20-2R
D
40
-60
E
-90
加工程序如下:
%1001
T0101;
G54G90G0G95M03S800;
X45Z2M07;
#1=15;
G71U7R1;
G71P10Q20U1W0.2F0.4S750;
N10G0X0S1200;
G3X[2*#1]Z-#1R#1F0.15;
G1Z[-20-2*#1];
X40Z-60;
Z-100;
N20X45;
G70P10Q20;
G0X200Z200;
M30;
专题七 方程曲线的车削加工
在实际车削加工中,有时会遇到工件轮廓是某种方程曲线的情况,此时可采用宏程序完成方程曲线的加工。
●粗加工:
应根据毛坯的情况选用合理的走刀路线。
对棒料、外圆切削,应采用类似G71的走刀路线;
对盘料,应采用类似G72的走刀路线;
对内孔加工,选用类似G72的走刀路线较好,此时镗刀杆可粗一些,易保证加工质量。
●精加工:
一般应采用仿形加工,即半精车、精车各一次。
7.2椭圆轮廓的加工
对椭圆轮廓,其方程有两种形式。
对粗加工,采用G71/G72走刀方式时,用直角坐标方程比较方便;
而精加工(仿形加工)用极坐标方程比较方便。
示例7-2,加工图7-2所示椭圆轮廓,棒料Φ45,编程零点放在工件右端面。
7.3抛物线加工
示例7-3,加工图7-3所示抛物线孔,方程为Z=X2/16,换算成直径编程形式为Z=X2/64,则X=sqrt[Z]/8。
采用端面切削方式,编程零点放在工件右端面中心,工件预钻有Φ30底孔。
附录 FANUC系统G指令和宏指令
附录1 刀具补偿值、刀具补偿号及在程序中赋值G10
1、刀具补偿值的范围
米制:
0~±
999.999mm
英制:
99.9999inch
2、刀具补偿值的存贮
刀具补偿存贮器A:
使用与刀具补偿号对应的刀具补偿值。
补偿号
刀具补偿值
1
…
400
刀具补偿存贮器B:
使用与刀具补偿号对应的刀具几何补偿、刀具磨损补偿。
几何补偿
磨损补偿
刀具补偿存贮器C:
刀具补偿分长度补偿(H)和半径补偿(D),使用与刀具补偿号对应的刀具几何补偿、刀具磨损补偿。
刀具长度补偿(H)
刀具半径补偿(D)
●刀具补偿存贮器A:
G10P____R____;
●刀具补偿存贮器B:
刀具补偿存贮器种类
格式
G10L10P___R___;
G10L11P___R___;
●刀具补偿存贮器C:
G10L12P___R___;
G10L13P___R___;
P――刀具补偿号;
R――G90时,为刀具补偿实际值;
G91时,R值加到指定刀具补偿值上(其和为刀具补偿值,即R值为刀具补偿增量)。
附录2缩放G50、G51
编程的形状可以被放大或缩小(比例缩放)。
用x,y,z指定的尺寸均可用相同的或不同的放大倍率进行缩放,放大倍率可以在程序中指定。
如果未在程序中指定,则使用在参数中指定的放大倍率。
格式:
●在所有轴分量上用相同的放大倍率缩放
G51X__Y__Z__P__;
缩放开始
G50;
缩放取消
X__Y__Z__:
缩放中心绝对值指定。
P_:
缩放比例。
●在每一个轴上用不同的放大倍率缩放
G51X__Y__Z__I__J__K__;
缩放取消
I__J__K__:
x、y、z各自的缩放比例。
解释
●在所有轴上用相同的放大倍率缩放
最小放大比例输入增量是0.001或0.00001,这由参数036#07的值决定。
如果在缩放程序段(G51X__Y__Z__P__;
)没有指定比例P,则使用在参数731中设定的放大倍率。
如果忽略X、Y、Z,则指定G51指令处的刀具位置为缩放中心。
●在每一个轴上用不同的放大倍率缩放(负放大倍数)
每个轴可按不同比例放大,当指定负放大时,可实现镜像。
首先设置参数063#6,使各轴缩放(镜像)生效,然后设置参数036#0、#1、#2允许各轴缩放,最后设置参数036#7指定各轴最小放大比例输入增量是0.001或0.00001。
设置给参数5421的放大倍数不得超过范围±
0.00001~±
9.99999或±
0.001~±
9.999。
如果设置负值,则实现镜像。
如果未指令放大倍数I、J、K,则使用设置在参数(NO.731、732、733)中的放大倍数。
但参数中必须设置一非零值。
●圆弧插补的缩放
即使在圆弧插补中各轴使用不同的放大倍率,刀具也不会沿椭圆运动。
(即对圆弧插补的数据缩放后再执行圆弧插补。
)
当用半径R指令的圆弧插补、各轴使用不同的放大倍数时,将如下图所示。
(该示例中,X分量的放大倍数为2,Y分量的放大倍数为1)。
当用I、J、K指令的圆弧插补各轴使用不同的放大倍数时,将如下图所示。
(该示例中,X分量的放大倍数为2,Y分量的放大倍数为1)
无效的缩放
缩放不能用于刀具半径补偿值、刀具长度偏置值和刀具偏置值。
在下列固定循环中,Z轴运动不会缩放:
深孔加工循环(G83、G73)的每次钻进量Q和回退量;
精镗循环G76;
反精镗循环G87中在X轴和Y轴上让刀量Q;
在手动操作中,移动距离不能用缩放功能增大或减小。
镜像程序
子程序
O9000;
G00G90X60.0Y60.0;
G01X100.0F100;
Y100.0;
X60.0Y60.0;
M99;
主程序
N10G00G90;
N20M98P9000;
N30G51X50.0Y50.0I-1000J1000;
N40M98P9000;
N50G51X50.0Y50.0I-1000J-1000;
N60M98P9000;
N70G51X50.0Y50.0I1000J-1000;
N80M98P9000;
N90G50;
附录3坐标系旋转 G68、G69
坐标系旋转开始
… 坐标系旋转状态
G69;
坐标系旋转取消
式中:
G17(G18、G19):
用于选择旋转平面(该面内包含有需旋转的轮廓)
α_β_:
旋转中心,可用xy,zx,yz指