数控技术卢红数控编程基础.docx
《数控技术卢红数控编程基础.docx》由会员分享,可在线阅读,更多相关《数控技术卢红数控编程基础.docx(15页珍藏版)》请在冰豆网上搜索。
![数控技术卢红数控编程基础.docx](https://file1.bdocx.com/fileroot1/2023-1/2/105a9ba5-42e8-437e-bf1c-9d326916cfa7/105a9ba5-42e8-437e-bf1c-9d326916cfa71.gif)
数控技术卢红数控编程基础
数控技术
NumericalControlTechnology
武汉理工大学机电学院
2005.12
目录
第二章数控编程基础3
第一节概述3
一什么叫数控编程(NCProgramming)3
二数控编程的代码4
三数控加工程序的结构5
第二节数控机床的坐标系6
一直线进给和圆周进给运动坐标系6
二机床坐标系与工件坐标系7
三绝对坐标与相对坐标7
第三节G指令编程应用与指令7
一坐标指令8
二快速定位指令----G009
三直线插补指令---G019
四圆弧插补指令---G02、G039
五刀具半径补偿指令---G40、G41、G4210
六刀具长度补偿指令---G40(D00)、G43、G4411
七暂停指令---G0411
第三节程序编制中的数学处理11
一非圆曲线节点的计算11
小结14
第二章数控编程基础
第一节概述
一什么叫数控编程(NCProgramming)
将零件加工的工艺顺序、运动轨迹与方向、位移量、工艺参数(主轴转速、进给量、切深)以及辅助动作(换刀、变速、冷却液开停),按动作顺序、用数控机床的数控系统所规定的代码和程序格式,编制成加工程序单,再将程序单中的内容记录在磁盘(或纸带)等控制介质上。
这种从零件图纸刀到制成控制介质的过程,称为数控机床的程序编制。
由于数控机床的加工是按加工程序自动完成,加工过程不能人工干预,所以,程序编制的好坏直接影响零件加工的质量(能否加工出合格的零件)、数控机床的正确使用和数控加工特点的发挥。
因此,加工程序的编制工作是数控机床使用中最重要的一环。
普通机床加工,很大程度取决于操作工人的素质;数控机床的加工则取决于编程员的素质(知识(工艺、机床、数控技术等)、经验(编程、生产等)、责任心、合作精神、进取心)。
数控编程的步骤:
1.分析零件图纸
分析零件的材料、形状、尺寸、精度及毛坯形状和热处理要求,确定零件是否适宜在数控机床上加工、适宜在那台数控机床上加工。
确定在某台数控机床上加工零件的那些工序或表面。
2.工艺处理阶段
主要任务:
确定零件的加工工艺过程,包括:
加工方法(采用的工夹具、装夹定位方法),加工路线(对刀点、走刀路线)、加工用量(主轴转速、进给速度、切削宽度和深度)。
3.数学处理阶段
根据零件图纸和确定的加工路线,计算出走刀轨迹和每个程序段所需数据(刀位数据)。
基点坐标:
零件轮廓相邻几何元素的交点和切点的坐标。
节点坐标:
对非圆曲线,需要用小直线段和圆弧段逼近,轮廓相邻逼近线段的交点和切点的坐标。
计算要满足精度要求。
4.编写程序单
根据计算出的走刀轨迹数据和确定的切削用量,结合数控系统的加工指令和程序段格式,逐段编写零件加工程序。
5.制作控制介质
控制介质是记录加工程序的载体。
将程序单上的内容用标准代码记录到控制介质上。
6.程序校验和首件试加工
编写的程序由于种种原因,会有错误和不合理的地方,必须经校验和试加工合格,才能进入正式加工。
穿孔机的复核功能检验穿孔是否有误;
用控制介质控制绘图机,描出轮廓形状或刀具运动轨迹,检验走刀是否正确;
在数控机床的CRT上,显示走刀轨迹或模拟刀具和工件的切削过程;
使用铝件或木件进行试切削;
只有经首试切削,才知道加工精度是否满足要求。
二数控编程的代码
(一)穿孔带(punchedtape)及其代码(code)
穿孔带是早期使用的记录数控加工程序的控制介质,穿孔纸带代码采用每排不同组合的穿孔(有无孔的组合)将数字、字符和其他符号表示成不同二进制的数字码。
常用标准穿孔带有五单位(每排五列孔,宽17.5mm)和八单位(每排八列孔,25.4mm)两种。
五单位用于数控线切割机床,八单位用于数控机床。
穿孔带代码成为数控机床编程的通用标准代码。
国际上通用的八单位数控穿孔带有ISO(国际标准化协会)和EIA(美国电子工业协会)两种标准代码。
早期数控机床采用EIA代码,目前国际上大都采用ISO代码。
也有二者间用的。
表2-1给出了ISO编码表。
表2-2给出了EIA编码表。
编码表给出了代码孔(二进制数字)、代码符号(数字、字符、其他符号)一一关系的规定。
EIA代码和ISO代码的主要区别在于:
EIA代码每行为奇数孔,其第五列为补奇列;ISO代码每行为偶数其第八列为补偶列。
补奇或补偶的作用是鉴别纸带的穿孔是否有误。
(二)G指令、M指令和其他指令
1.准备功能(preparatoryfunction)G指令(Ginstruction)
准备功能G指令,用来规定刀具和工件的相对运动轨迹(规定插补功能)、机床坐标系、坐标平面、刀具补偿、坐标偏置等多种加工操作。
JB3208-83标准规定:
G指令有字母G及其后面的二位数字组成,从G00—G99共100种。
表2-3。
模态代码:
表中第二栏标有字母的a,c,d,…..为摸态代码。
字母相同的为一组。
摸态代码具有续效性,即,一经在一个程序段中使用,便保持其功能的有效,直到后面的程序段中使用同组的另一代码时才失效。
这也意味着一经在一个程序段中使用,如果后续程序段中还有相同功能的操作且没出现同组另一代码时,可不书写这一功能代码。
同组摸态代码不能在同一程序段中出现。
非摸态代码:
第二栏没字母的为非摸态代码。
只在书写的程序段中有效。
第四栏给出了各G代码的功能。
不指定:
用作将来修订标准时指定新的功能。
永不指定:
即使将来修订标准,也不指定新的功能。
这两类代码,数控机床的设计者可自行定义表中所列功能以外的新功能。
2.辅助功能(miscellaneousfunction)M指令(Minstruction)
辅助功能M指令有M00—M99共100条,也有续效指令和非续效指令。
表2-2。
M00—程序停止指令。
在执行完含有M00的程序段后,机床的主轴、进给、冷却液都自动停止。
重按“启动”键后,继续执行后续程序段。
用于加工过程中测量工件的尺寸、工件掉头、手动变速等固定操作。
M01—计划(任选)停止指令。
在“任选停止”按键被按下时,执行完含有M00的程序段后,机床的主轴、进给、冷却液都自动停止,否则,继续执行后面的程序段。
执行M01完成某操作后,
重按“启动”键后,继续执行后续程序段。
用于工件关键尺寸的停车抽样检查。
M02—程序结束指令。
当全部程序执行后,用此指令使主轴、进给、冷却液都自动停止,并使机床复位。
程序的最后一个程序段中,必须有此指令。
3.F、S、T指令
(1)F指令为进给速度功能(feedfunction)指令。
续效代码。
F指令的代码法:
F后跟两位数字,不直接表示进给速度大小,而是表示进给速度数列的序号。
进给速度数列可以是算术级数,也可以是几何级数。
F指令的直接指定法:
F后的数字就是进给速度的大小。
现在大多数数控机床都采用这种指定方法。
(2)S指令为主轴转速功能(spindlespeedfunction)指令。
续效指令。
指定主轴的转速,单位:
r/min。
指定方法与F指令相同。
(3)T指令为刀具功能(toolfunction)指令。
在自动换刀的数控机床中用于选择所需要的刀具。
T后面跟两位数字,数字表示刀具编号。
三数控加工程序的结构
(一)程序的组成
一个完整的加工程序,由若干程序段(block)组成;一个程序段由若干代码字(codeword)组成;每个代码字由字母(地址(address)符)和若干数字(有的带符号)组成。
N01G91G00X50Y60LF
N02G01X1000Y5000F150S300T01M03LF
.
.
.
N10G00X-50Y-60M02LF
上面是一个完整的零件加工程序,由10个程序段组成,每个程序段以“N”开头,以LF结束。
M02作为整个程序的结束。
有的数控系统规定,整个程序以%开头。
以EM结尾。
一个程序段表示一个完整的加工工步和动作。
其字符数有一定限制。
(二)程序段格式(blockformat)
程序段格式:
一个程序段中,代码字的排列、书写方式和顺序,以及每个字和程序段的长度限制和规定。
格式不符合规定,数控系统便不能接受。
常用的程序段格式是字-地址程序段格式。
每个字以地址符(字母)开始,其后跟符号和数字。
字的排列顺序无严格要求。
不需要的字或与上段相同的续效字可以不写。
特点:
程序简单、可读性强、易于检查。
(三)主程序和子程序
在一个零件加工程序中,若有一定量的连续程序段在几处完全相同,则可编成子程序并存入子程序存储器中。
子程序以外的部分为主程序,在主程序的执行过程中,在需要的地方调用子程序。
可多次重复调用,某些数控程序还可多层嵌套。
子程序格式中,有子程序名,以M17作为子程序结束。
其他,同主程序。
二.最小设定单位
数控系统发出一个脉冲指令后,经伺服系统的转换、放大、反馈后,驱动机床上的工件(刀具)实际移动的最小位移量,叫最小设定单位,又称最小指令增量(leastcommandincrement)或脉冲当量。
一般为:
0.01-0.001mm。
编程时,所有编程尺寸都应转换为与最小设定单位相应的数值。
第二节数控机床的坐标系
为了便于数控系统和机床的设计、使用、维修和编程,数控机床的坐标轴及运动方向,应有统一的规定。
一直线进给和圆周进给运动坐标系
一个直线运动或一个圆周运动定义了一个坐标轴。
在ISO和EIA标准中都规定直线进给运动用右手直角笛卡儿坐标系X、Y、Z表示,称基本坐标系。
X、Y、Z坐标轴的相互关系用右手定则决定。
绕X、Y、Z轴旋转的圆周进给坐标轴分别用A、B、C表示,用右手螺旋定则决定其正方向。
数控机床,有的是刀具运动,有的是工件运动。
为了便于在不知道刀具与工件之间如何作相对运动的情况下,确定机床的进给操作,特规定:
X、Y、Z的正方向总是假定工件不动,刀具相对工件运动。
那么,刀具不动,工件相对刀具运动,则用X/、Y/、Z/表示。
除基本直角坐标系外,还可定义两组附加直角坐标系,U、V、W和P、Q、R。
(一)Z坐标
平行于主轴轴线的坐标;没主轴,则垂直于工件装夹表面的方向。
Z轴的正方向是使刀具离开工件的方向。
(二)X坐标
刀具旋转:
Z轴水平:
则从刀具向工件看,X轴的正方向指向右边。
Z轴垂直:
则从主轴向立柱看,对单立柱机床,X轴的正方向指向右边。
对双立柱机床,当从主轴向左立柱看,X轴的正方向指向右边。
工件旋转:
X轴的运动方向是工件的径向并平行于横向拖板,刀具离开工件回转中心的方向是X轴的正方向。
(三)Y坐标轴
在X、Z轴的正方向确定后,按右手笛卡儿坐标系,用右手螺旋法则来确定Y坐标的正方向。
二机床坐标系与工件坐标系
(一)机床坐标系(machinecoordinates)与机床原点(machinezero)
机床坐标系是机床上固有的坐标系,并设有固定的坐标原点。
机床上有固有的基准线:
主轴中心线;
固有的基准面:
工作台面、主轴端面、T型槽侧面。
当机床手动返回各坐标轴原点(零点)后,用各坐标轴部件上的基准线和基准面之间的给定距离来决定机床原点的位置(机床使用说明书中有说明)。
(二)工件坐标系(partcoordinates)
工件坐标系是编程人员在编程时使用的,由编程人员以工件图纸上的某一固定点为原点(工件原点)所建立的坐标系,编程尺寸都按工件坐标系中的尺寸确定。
当工件随夹具在机床上安装后,测量工件原点与机床原点间的距离,这个距离称为工件原点偏置,即机床原点在工件坐标系中的绝对坐标值。
这个偏置值可预寸到数控系统,加工时,工件原点偏置值能自动加到机床坐标系上,使数控系统可按机床坐标系确定加工时的坐标值。
通过测量某些基准面、线之间的距离来确定原点偏置值。
三绝对坐标与相对坐标
运动轨迹的终点坐标是相对于起点计量的坐标系,称为相对坐标系(增量坐标系)。
所有坐标点的坐标值都是从某一固定坐标原点计量的坐标系,称为绝对坐标系。
第三节G指令编程应用与指令
例:
工件轮廓ABCDEA,由三个直线段和两个圆弧段组成。
XO工Y为编程用的工件坐标系,零件的尺寸按绝对坐标标注。
O机是机床的原点。
零件在机床上安装后,经测量,其工件偏置值如图所示。
G92X-10Y-10
N01G90G17G00X10Y10LF
N02G01X30F100LF
N03G03X40Y40I0J-10LF
N04G02X30Y30I0J-10LF
N05G01X10Y20LF
N06Y10LF
N07G00X-10Y-10M02LF
N01G91G17G00X20Y20LF
N02G01X20Y0F100LF
N03GO3X10Y10IOJ-10LF
N04G02X-10Y10I0J-10LF
N05G01X-20Y-10LF
N06Y-10LF
N07G00X-20Y-20M02LF
一坐标指令
1.G90—绝对坐标指令
表示程序段中的编程尺寸是按绝对坐标给定的。
2.G91—相对坐标指令
表示程序段中的编程尺寸是按相对坐标给定的。
一般同一程序段中只用一种坐标指令。
但也有数控系统(车床的)在一个程序段中混合使用两种坐标编程,这时,表示坐标尺寸的代码字的地址符用不同的字母,如:
绝对坐标用X、Y、Z;相对坐标用U、V、W。
3.G92—坐标系设定的预置寄存指令
当用绝对坐标编程时,需要用G92指令设定机床坐标系和工件坐标系的关系。
即:
将工件原点的偏置值(例子中为X=-10,Y=-10)通过G92指令(G92X-10Y-10)寄存在数控系统的寄存器中。
从而设定了机床原点相对工件坐标系的坐位置。
加工前,手动或自动令机床回到原点(刀具的刀位点对准机床原点),当程序运行第一个程序段时,自动将这个偏置值加到第一个程序段的坐标位移指令中去,刀具相对工件运行到第一程序段的终点。
使用G92指令可以消除因工件在机床上安装位置不准而引起的加工误差。
4.G17、G18、G19--平面指令
表示加工在某一平面内进行的功能。
G17—在XY、G18—在ZX、G19—在YZ,程序段中的坐标地址符的书写应于平面指令一致。
G17GOOX---Y---,G18G00X—Z---。
G19GOOY---Z---。
二快速定位指令----G00
G00指令刀具相对工件从现在的定位点,以数控系统预先调定的最大运动速度,快速运动到程序段所指定的下一个定位点。
例子中的第一段程序,G90G17G00X10Y10,现在的定位点O工(执行这一程序段前的刀具位置),下一定位点是A点(X=10,Y=10),刀具相对工件从O工点快速移动到工件坐标系中绝对坐标值为(10,10)的A点。
下一定位点还可用相对坐标指定:
G91G17G00X20Y20。
G00程序段中不能指定进给速度F---。
三直线插补指令---G01
G01指令二个坐标(或三个坐标)已联动的方式,按程序段中规定的进给速度F---,从现时的位置,直线插补进给到程序段中指定的下一个位置,加工平面(空间)直线。
例子中,第2、5、6程序段。
G01X30F100现时位置A(要插补的直线的起点,已知),下一位置B在工件坐标系的绝对坐标值为(X30,Y10)(直线的终点),在程序段中给定。
F100为规定的进给速度(必须给定)。
下一位置也可用相对坐标给定,G01X20F100。
四圆弧插补指令---G02、G03
G02(G03)G01指令二个坐标已联动的方式,按程序段中规定的进给速度F---,从现时的位置(圆弧起点),顺时针(逆时针)圆弧插补进给到程序段中指定的下一个位置(圆弧终点),加工圆弧。
编程格式:
G90G17G02X---Y---I---J---F---LF
G18X---Z---I---K---
G91G19G03Y---Z---J---K---
给定圆弧的起点、终点以及圆心后,顺时针从起点插补到终点与逆时针从起点插补到终点是两段不同的圆弧,所以需要有G02、G03两个指令来指令圆弧插补的顺逆方向,顺和逆的规定如下:
沿垂直于圆弧所在平面的坐标轴的负方向观察,圆弧从起点到终点的运动为顺时针时为顺时针圆弧插补(G02),逆时针时为逆时针圆弧插补(G03)。
I、J、K指定圆心坐标。
其值为圆弧起点相对圆心的矢量在X、Y、Z坐标上的分量值或圆心相对圆弧起点的矢量在X、Y、Z坐标上的分量值。
数控系统编程说明书中有说明。
有的数控系统还可用圆弧半径R指定圆心坐标。
这是,如果圆弧的圆心角小于等于180度,R的值取正,否则,取负。
用圆弧插补可加工整圆,这是起点与终点的绝对坐标值相同,相对坐标值为零。
五刀具半径补偿指令---G40、G41、G42
数控加工程序的编程尺寸一般为工件轮廓尺寸。
当使用圆柱铣刀加工平面轮廓时,刀具中心(刀位点)的轨迹应该是在轮廓法向偏移一个刀具半径的轨迹。
这时必须使用刀具半径补偿指令。
刀具半径补偿指令是根据加工程序中的按工件轮廓编程的尺寸,以及预先存放在数控系统内存中的刀具中心偏移量(刀具半径r+δ),自动计算刀具中心轨迹,从而控制刀具中心沿此轨迹运动进行加工。
如果没有刀具半径补偿功能,则必须按刀具中心轨迹编程,这样:
(1)编程前必须根据工件轮廓尺寸和刀具中心偏移量计算刀具中心轨迹,从而加大编程工作量,编程效率低,出错概率大。
(2)当刀具因更换和重磨而改变半径时,因刀具轨迹随之改变,需要重新计算刀具中心轨迹和重新编制加工程序。
这将及其烦琐,且影响生产的正常顺利进行。
具有刀具半径补偿功能,不仅可以解决以上问题,还可利用此功能:
(1)方便的控制粗加工的加工裕量,同一加工程序用于分别进行蹙精加工。
(2)当加工出的零件尺寸是正超差时,可通过修正刀具中心偏移量来修正加工误差。
G41---刀具半径左补偿指令,沿刀具前进方向观察,刀具偏在工件轮廓的左边。
G42---刀具半径右补偿指令,沿刀具前进方向观察,刀具偏在工件轮廓的右边。
G40----刀具补偿功能撤消指令
G92X-10Y-10
N01G90G17G00G42D01X10Y10LF
N02G01X30F100LF
N03G03X40Y40I0J-10LF
N04G02X30Y30I0J-10LF
N05G01X10Y20LF
N06Y10LF
N07G00G40X-10Y-10M02LF
D01为数控系统预存刀具中心偏移量的内存地址,在加工前,用手工输入刀具偏移量到这个内存地址。
加工结束时,必须使用G40撤消刀具补偿,使刀具中心回到加工前的位置。
六刀具长度补偿指令---G40(D00)、G43、G44
当进行钻孔、铣槽或面等加工时,刀具有安装伸出长度,而编程时,必须设定一个刀具长度,已确定刀具在长度方向(Z向)运动的编程尺寸。
在实际加工时,由于刀具的实际安装或刀具更换或重磨,刀具实际伸出长度会不同于编程刀具长度,或短、或长。
这时,需要使用刀具长度补偿指令,补偿刀具长度的偏差量。
否则,会引起孔或槽的深度误差。
G43---刀具正偏置指令,用于刀具实际长度比编程长度短。
即刀具实际位置正向偏离编程位置。
对刀具编程终点坐标减去一个偏移量。
G44---刀具负偏置指令,用于刀具实际长度比编程长度长。
即刀具实际位置负向偏离编程位置。
对刀具编程终点坐标加上一个偏移量。
书写格式:
G43D—α---;G40(或D00)α---
G43
D—为刀具长度e的存储地址,α---为长度方向的坐标地址(一般为Z),D要紧靠在坐标地址之前。
G40(或D00)撤消刀具长度补偿,使刀具回到原来的实际位置。
七暂停指令---G04
G04使刀具做无进给的短暂停留。
用于车削环槽、平面、钻孔等光整加工。
格式为:
G04βΔΔΔ
β—地址符常用X或F,ΔΔΔ为暂停时间,单位为ms,也可以是刀具或工件的转数。
具体数控系统有自己的规定。
第三节程序编制中的数学处理
一非圆曲线节点的计算
数控系统一般只有直线和圆弧插补功能,对于非圆曲线轮廓,只能用直线或圆弧去逼近它。
节点就是逼近线段与非圆曲线的交点,也是个逼近线段的起点和终点。
一个已知曲线方程的节点数与逼近线段的形状(直线还是圆弧)、曲线方程的特性以及允许的逼近误差有关。
节点计算,就是利用这三者之间的数学关系,求解出各节点的坐标。
(一)等间距的直线逼近的节点计算
已知非圆曲线方程y=f(x)
从曲线X轴的起点坐标开始,以等间距Δx来划分曲线起点到终点的区间,可得一系列X轴的坐标点的值,设起点的X坐标值为x0=a,则有:
x1=a+Δx,x2=a+2Δx,x3=a+3Δx,….Xi=a+iΔx,..
将这些X坐标值代入方程y=f(x),则求得一系列Y坐标值:
yi=f(xi)(i=1,2,3,…..)
那么(xi,yi)(i=1,2,3……)就是所求得的节点坐标值。
相邻两点的直线段就是逼近线段。
等间距法的关键是合理确定Δx,既要满足允许误差的要求,又要使节点尽可能少。
通常采用试算和校验的方法确定Δx,方法步骤如下:
1.取Δx初值,一般取0.1。
2.计算(xi,yi)(i=1,2,3……)。
3.误差验算:
设任一逼近直线MN,其方程为:
ax+by+c=0,则与MN平行且距离为δ允的直线MˊNˊ的方程为:
求解联立方程:
若:
只有一个解,则逼近误差等于δ允,Δx正好满足误差要求。
没有解,则逼近误差小于δ允,Δx满足误差要求,可适当增大其取值,返回2。
有两个解,则逼近误差大于δ允,Δx太大,应减小其取值。
返回2。
等间距法计算简单,但由于必须保证曲线曲率最大处的逼近误差小于允许值,所以程序可能过多。
(二)等弦长直线逼近的节点计算
使所有逼近线段的长度相等。
计算步骤如下:
(1)确定允许的弦长
。
用等弦长逼近,最大误差δmax一定在曲线的曲率半径最小Rmin处,则
为:
(2-2)
(2)求Rmin。
曲线
任一点的曲率半径为:
取dR/dx=0,即
(2-3)
根据
求得
、
、
,并由
式(2-3)求得x后,将x值代入式(2-2)
求、得Rmin。
(3)以曲线起点A为圆心,做半径为
的圆交
曲线于B点,联立求解:
得节点坐标xB、yB。
(4)顺序以B、C、…..为圆心,重复步骤(3),即可求得其余各节点坐标值。
(二)等误差直线逼近的节点计算
使所有逼近线段的误差相等。
计算步骤如下:
(1)
以起点A(xa,ya)为圆心,以δ允为半径作圆,称
为允差圆,其方程为:
记为:
(2)作圆与曲线的公切线PT,求其斜率k。
K=(yT-yP)/(xT-xP)
为求yT、yP、xT、xP,求解联立方程:
(允差圆方程)
(圆在P点的切线方程)
(曲线方程)
(曲线在T点的切线方程)
(3)以A为起点,作平行于公切线PT的直线AB,交曲线于B点。
AB的方程为:
(4)求B点的坐标值。
联立求解曲线方程和AB的方程: