1、第章 数控编程基础第第1章数控编程基础章数控编程基础1.1 数控编程概念数控编程概念 1.2 数控机床的坐标系数控机床的坐标系 1.3 程序编制中的数学处理程序编制中的数学处理 小结小结 思考与练习题思考与练习题 第章 数控编程基础1.1 数控编程概念数控编程概念1.1.1 数控编程的内容与步骤数控编程的内容与步骤1.数控编程的内容数控编程的内容数控编程的主要内容有:分析零件图样,确定加工工艺过程;数值计算;编写零件加工程序单;输入/传送程序;程序校验,首件试切。第章 数控编程基础2.数控编程的步骤数控编程的步骤如图1.1所示,数控编程步骤主要有以下几点:1)分析零件图样,确定加工工艺过程 对
2、零件的材料、形状、尺寸、精度、毛坯形状和热处理要求等进行分析,以便确定该零件是否适宜在数控机床上加工,或适宜在哪类数控机床上加工。确定零件的加工方法和加工路线,选择或设计刀具和夹具,并确定加工用量等工艺参数。第章 数控编程基础图1.1 数控编程步骤 第章 数控编程基础2)数值计算根据零件图样和确定的加工路线,计算出数控机床所需的输入数据。对于加工由圆弧和直线组成的较简单的平面零件,只需要计算出零件轮廓上相邻几何元素交点或切点的坐标值,得出各几何元素的起点、终点、圆弧的圆心坐标值等,就能满足编程要求。当零件的几何形状与控制系统的插补功能不一致时,就要用直线或圆弧逼近零件轮廓,此时需要进行较复杂的
3、数值计算,即节点的计算。3)编写零件加工程序单 编程人员使用数控系统的程序指令,按照规定的程序格式,逐段编写加工程序。此外,还应填写有关的工艺文件,如数控加工工序卡片、数控加工刀具卡片、工件安装和原点设定卡片等。第章 数控编程基础4)输入/传送程序 输入/传送程序是指按程序单将程序内容输入到数控装置中。可在操作面板上进行手工输入程序或用计算机通信进行程序的传送。5)程序校验,首件试切可通过数控仿真软件来模拟实际加工过程或将程序送到机床数控装置后进行空运行等多种方式来检验所编制出的程序。如果发现错误,则应及时修正,一直到程序能正确执行为止。通过首件试切,不仅可确认程序是否正确,还可知道加工精度是
4、否符合要求。第章 数控编程基础1.1.2 数控编程的方法数控编程的方法数控编程方法有手工编程和自动编程两种。1.手工编程手工编程手工编程是指从分析零件图样及确定加工工艺过程、数值计算、编写零件加工程序单、输入/传送程序直至程序校验等各个步骤,均是由人工完成的。对点位加工或几何形状不太复杂的零件来说,编程计算较简单,程序量不大,用手工编程即可实现。但对形状复杂或轮廓不是由直线、圆弧组成的非圆曲线零件或空间曲面零件来说,程序量很大,计算非常繁琐,用手工编程困难且易出错,这时,则应采用自动编程的方法。第章 数控编程基础2自动编程自动编程编程工作的大部分或全部由计算机完成的零件编程称为自动编程。编程人
5、员只需根据零件图纸上的数据和工艺要求,将图形信息输入到计算机中,由计算机自动处理,计算出刀具中心的轨迹,就可编写出加工程序清单。计算机自动编程代替编程人员完成了大量繁琐的数值计算工作,可以提高编程效率几十倍甚至上百倍,同时解决了手工编程无法解决的许多复杂零件的编程难题,避免了许多因人为因素而产生的错误。第章 数控编程基础1.1.3 数控编程的程序格式数控编程的程序格式1程序的结构程序的结构零件程序是用来描述零件加工过程的指令代码集合,它由程序号、程序内容和程序结束指令三部分组成。例1.1 如下所示是在一块平板上铣切圆环槽的零件程序。O40;程序号N10 G00 X10 Y25 Z1 S1250
6、 M03;主轴启动,快速定位到(10,25,1)N20 G01 Z-5 F100;进给到(10,25,-5)N30 G02 X10 Y25 I20 J0 F125;XY平面顺时针铣圆弧N40 G00 Z100 M05;快速退回,主轴停止N50 X20;快速退回N60 M30;程序结束第章 数控编程基础1)程序号程序号即为程序的编号,位于程序的开始。为了区别存储器中的程序,每个程序都要有编号。如在FANUC系统中,一般采用英文字母O作为程序编号地址,而在其他数控系统中,则分别采用“P”、“L”、“%”、“:”等不同形式。2)程序内容加工程序由若干个程序段组成。每个程序段一般占一行。程序段由若干个
7、指令字构成,用来表示数控机床要完成的全部动作。3)程序结束指令程序结束指令可以用M02(程序结束)或M30(程序结束,并复位到起始位置),一般要求单列一段。第章 数控编程基础2程序段格式程序段格式程序段格式是指程序段中的字、字符和数据的安排形式。目前加工程序使用字地址可变程序段格式,每个字长不固定,各个程序段的长度和功能字的个数都是可变的。在字地址可变程序段格式中,在上一程序段中写明的、本程序段里又不发生变化的那些字仍然有效,可以不再重写。这种功能字称之为续效字。第章 数控编程基础程序段的一般格式为:第章 数控编程基础1)段号程序段号位于程序段之首,由顺序号字N和后续数字组成。后续数字一般为1
8、4位的正整数。数控加工中的顺序号实际上是程序段的名称,与程序执行的先后次序无关。数控系统不是按程序段号的顺序来执行程序,而是按程序段编写时的排列顺序逐段执行程序的。程序段号的作用包括:对程序的校对和检索修改;作为条件转向的目标,即作为转向目的程序段的名称。有顺序号的程序段可以进行复归操作,这是指加工可以从程序的中间开始,或回到程序中断处开始。第章 数控编程基础2)准备功能准备功能G代码是建立机床或控制系统工作方式的一种指令,如插补、刀具补偿、固定循环等。G代码分为模态代码和非模态代码。模态代码表示该代码一经在一个程序中指定,直到出现同组的另一个代码时才失效;非模态代码只在写有该代码的程序中才有
9、效。国标中规定G代码由字母G及其后面的两位数字组成,从G00G99共100种代码,具体见表1-1。第章 数控编程基础表1-1 G 代 码G功能字FANUC系统SIEMENS系统G功能字FANUC系统SIEMENS系统G00快速移动点定位快速移动点定位G65用户宏指令G01直线插补直线插补G70精加工循环英制G02顺时针圆弧插补顺时针圆弧插补G71外圆粗切循环米制G03逆时针圆弧插补逆时针圆弧插补G72端面粗切循环G04暂停暂停G73封闭切削循环G05通过中间点圆弧插补G74深孔钻循环G17XY平面选择XY平面选择G75外径切槽循环G18ZX平面选择ZX平面选择G76复合螺纹切削循环G19YZ平
10、面选择YZ平面选择G80撤销固定循环撤销固定循环G32螺纹切削G81定点钻孔循环固定循环第章 数控编程基础G33 恒螺距螺纹切削G90 绝对值编程绝对尺寸G40 刀具补偿注销刀具补偿注销G91 增量值编程增量尺寸G41 刀具补偿左刀具补偿左G92 螺纹切削循环主轴转速极限G42 刀具补偿右刀具补偿右G94 每分钟进给量直线进给率G43 刀具长度补偿正 G95 每转进给量旋转进给率G44 刀具长度补偿负 G96 恒线速控制恒线速度G49 刀具长度补偿注销G97 恒线速取消注销G96G50 主轴最高转速限制G98 返回起始平面G54G59加工坐标系设定零点偏置G99 返回R平面第章 数控编程基础这
11、些代码中虽然有些常用的准备功能代码的定义几乎是固定的,但也有很多代码其含义及应用格式对不同的机床系统有着不同的定义,因此,在编程前必须熟悉或了解所用机床的使用说明书或编程手册。第章 数控编程基础3)坐标值坐标值用于确定机床上刀具运动终点的坐标位置。多数数控系统可以用准备功能字来选择坐标值的制式,如FANUC诸系统可用G21/G22来选择米制单位或英制单位,也有些系统用系统参数来设定坐标值的制式。采用米制时,一般单位为mm,如X100指令的坐标单位为100 mm。当然,一些数控系统可通过参数来选择不同的坐标值单位。4)进给速度功能进给速度功能F又称为F功能或F指令,用于指定切削的进给速度。对于车
12、床,F可分为每分钟进给(单位为mm/min)和主轴每转进给(单位为mm/r)两种;对于其他数控机床,一般只用每分钟进给。F指令在螺纹切削程序段中常用来指定螺纹的导程。第章 数控编程基础进给速度一般有如下两种表示方法:(1)代码法。F后跟的两位数字并不直接表示进给速度的大小,而是表示机床进给速度序列的代号。进给速度序列的代号可以是算术级数,也可以是几何级数。(2)直接指定法。F后跟的数字就是进给速度的大小。如F100表示进给速度是100 mm/min。这种方法较为直观,目前大多数数控机床都采用此方法。实际进给速度F还可以根据需要作适当调整,即进给速度修调。修调是按倍率来进行计算的。如程序中指令为
13、F80,修调倍率调在80%挡上,则实际进给速度为8080%=64 mm/min。第章 数控编程基础5)主轴转速功能主轴转速功能S又称为S功能或S指令,用于指定主轴转速,单位为r/min。对于具有恒线速度功能的数控车床,程序中的S指令用来指定车削加工的线速度数。主轴转速也有代码法和直接指定法两种表示方法。有些数控机床的主轴转速也可以根据需要进行调整,如主轴转速修调。6)刀具功能刀具功能T又称为T功能或T指令。T指令为刀具指令,在加工中心中,该指令用于自动换刀时选择所需的刀具。在车床中,T后常跟四位数,前两位为刀具号,后两位为刀具补偿号。在铣镗床中,T后常跟两位数,用于表示刀具号,刀补号则用H代码
14、或D代码表示。第章 数控编程基础7)辅助功能辅助功能M又称为M功能或M指令,用于指定主轴的旋转方向、启动、停止,冷却液的开关,刀具的更换等各种辅助动作及其状态。M指令由字母M和其后面的两位数字组成,也有M00M99共100种代码。这些代码中同样也有些因机床系统而异的代码,也有相当一部分代码是不指定的。常用的M代码见表1-2。第章 数控编程基础表1-2 M 代 码M 功 能 字含 义M00程序暂停M01计划暂停M02程序停止M03主轴顺时针旋转M04主轴逆时针旋转M05主轴旋转停止M06换刀M072号冷却液开M081号冷却液开M09冷却液关M30程序停止并返回开始处M98调用子程序M99从子程序
15、返回第章 数控编程基础1.2.1 机床坐标系及运动方向机床坐标系及运动方向为了确定机床的运动方向和移动距离,就要在机床上建立一个坐标系,该坐标系就叫机床坐标系,也叫标准坐标系。数控机床上的坐标系采用右手直角笛卡尔坐标系,如图1.2所示。右手的大拇指、食指和中指保持相互垂直,拇指的指向为X轴的正方向,食指的指向为Y轴的正方向,中指的指向为Z轴的正方向。1.2 数控机床的坐标系数控机床的坐标系第章 数控编程基础图1.2 右手直角笛卡尔坐标系第章 数控编程基础A、B、C分别表示其轴线平行于X、Y和Z坐标的旋转运动。根据右手螺旋定则,分别以大拇指指向X、Y、Z方向,其余四指则分别指向A、B、C轴的旋转
16、方向。第章 数控编程基础1机床各坐标轴及其正方向的确定原则机床各坐标轴及其正方向的确定原则1)Z轴通常把传递切削力的主轴定为Z轴。对于工件旋转的机床,如车床、磨床等,工件转动的轴为Z轴;对于刀具旋转的机床,如镗床、铣床、钻床等,刀具转动的轴为Z轴。若有多根主轴,则可选垂直于工件装夹面的主轴为主要主轴,Z坐标则平行于该主轴轴线。若没有主轴,则规定垂直于工件装夹面的坐标轴为Z轴。Z轴正方向是使刀具远离工件的方向。第章 数控编程基础2)X轴X轴是水平方向的,它垂直于Z轴并平行于工件的装夹面。对于工件旋转的机床,如车床、外圆磨床上,X轴的运动方向是径向的,与横向导轨平行,刀具离开工件旋转中心的方向是正
17、方向。对于刀具旋转的机床,若Z轴为水平的,如卧式铣床、镗床,则沿刀具主轴后端向工件方向看,右手平伸出的方向为X轴正向;若Z轴为垂直的,如立式铣床、镗床、钻床,则从刀具主轴向床身立柱方向看,右手平伸出的方向为X轴正向。第章 数控编程基础3)Y轴在确定了X、Z轴的正方向后,即可按右手螺旋定则定出Y轴正方向,如图1.3所示。上述坐标轴正方向,均是假定工件不动,刀具相对于工件作进给运动而确定的方向,即刀具运动坐标系。但在实际机床加工时,有很多都是刀具相对不动,而工件相对于刀具移动实现进给运动的情况。此时,应在各轴字母后加上“”表示工件运动坐标系。按相对运动关系,工件运动的正方向恰好与刀具运动的正方向相
18、反,即有X=X,Y=Y,Z=Z,A=A,B=B,C=C第章 数控编程基础图1.3 数控机床坐标系(a)数控车床;(b)数控铣床第章 数控编程基础2附加坐标系附加坐标系为了编程和加工的方便,有时还要设置附加坐标系。对于直线运动,通常建立的附加坐标系有:(1)指定平行于X、Y、Z的坐标轴。可以采用的附加坐标系有第二组U、V、W坐标,第三组P、Q、R坐标。(2)指定不平行于X、Y、Z的坐标轴。可以采用的附加坐标系有第二组U、V、W坐标,第三组P、Q、R坐标,如图1.4所示。第章 数控编程基础图1.4 多轴数控机床坐标系(a)卧式镗铣床;(b)六轴加工中心第章 数控编程基础1.2.2 机床原点与机床参
19、考点机床原点与机床参考点1机床原点机床原点机床原点又称为机械原点,是机床坐标系的原点。该点是机床上一个固定的点,其位置是由机床设计和制造单位确定的,通常不允许用户改变。机床原点是工件坐标系、机床参考点的基准点,也是制造和调整机床的基础。数控车床的机床原点一般设在卡盘后端面的中心,如图1.5所示。通过设置参数的方法,也可将机床原点设定在X、Z坐标的正方向极限位置上。对于数控铣床的机床原点,各生产厂不一致,多定在进给行程范围的正极限点处,如图1.6所示,但有的设置在机床工作台中心,使用前可查阅机床用户手册。第章 数控编程基础图1.5 车床的机床原点第章 数控编程基础图1.6铣床的机床原点第章 数控
20、编程基础2机床参考点机床参考点机床参考点是机床上的一个固定点,用于对机床工作台、滑板与刀具相对运动的测量系统进行标定和控制。其位置由机械挡块或行程开关来确定。机床参考点对机床原点的坐标是一个已知定值,也就是说,可以根据机床参考点在机床坐标系中的坐标值来间接确定机床原点的位置。在机床接通电源后,通常都要做回零操作,使刀具或工作台退离到机床参考点。当回零操作完成后,显示器即显示出机床参考点在机床坐标系中的坐标值,表明机床坐标系已自动建立。可以说回零操作是对基准的重新核定,可消除由于种种原因产生的基准偏差。机床参考点已由机床制造厂测定后输入数控系统,并且记录在机床说明书中,用户不得更改。第章 数控编
21、程基础通常在数控铣床上机床原点和机床参考点是重合的,而在数控车床上机床参考点是离机床原点最远的极限点。如图1.7所示为数控车床的参考点与机床原点。第章 数控编程基础图1.7 数控车床的参考点与机床原点第章 数控编程基础1.2.3 工件坐标系工件坐标系1.工件坐标系工件坐标系工件坐标系是由编程人员根据零件图样及加工工艺,以零件上某一固定点为原点建立的坐标系,又称为编程坐标系。工件坐标系一般供编程使用。确定工件坐标系时,不必考虑工件在机床上的实际装夹位置。第章 数控编程基础工件坐标系的原点称为工件原点或编程原点。工件原点在工件上的位置虽可任意选择,但一般应遵循以下原则:(1)工件原点选在工件图样的
22、设计基准或工艺基准上,以利于编程。(2)工件原点尽量选在尺寸精度高、粗糙度值低的工件表面上。(3)工件原点最好选在工件的对称中心上。(4)要便于测量和检验。第章 数控编程基础在数控车床上加工工件时,工件原点一般设在主轴中心线与工件右端面(或左端面)的交点处,如图1.8(a)所示。在数控铣床上加工工件时,工件原点一般设在进刀方向一侧工件外轮廓表面的某个角上或对称中心上,如图1.8(b)所示。对于形状较复杂的工件,有时为编程方便可根据需要通过相应的程序指令随时改变新的工件坐标原点;对于在一个工作台上装夹加工多个工件的情况,在机床功能允许的条件下,可分别设定编程原点独立地编程,再通过工件原点预置的方
23、法在机床上分别设定各自的工件坐标系。第章 数控编程基础图1.8 工件原点设置(a)数控车床;(b)数控铣床第章 数控编程基础对于编程和操作加工采取分开管理机制的生产单位,编程人员只需要将其编程坐标系和程序原点填写在相应的工艺卡片上即可。而操作加工人员则应根据工件装夹情况适当调整程序上建立工件坐标系的程序指令,或采用原点预置的方法调整修改原点预置值,以保证程序原点与工件原点的一致性。第章 数控编程基础2对刀、对刀点与换刀点对刀、对刀点与换刀点1)对刀在数控加工中,工件坐标系确定后,还要确定刀尖点在工件坐标系中的位置。每把刀具的半径与长度尺寸都是不同的,刀具装在机床上后,应在控制系统中设置刀具的基
24、本位置,即常说的对刀问题。数控机床的装备不同,所采用的对刀方法也不同。如果数控机床自带对刀仪或配有机外对刀仪,那么对刀问题会比较简单,对刀精度也较高;否则,只能采用手动对刀,对刀过程相对复杂,效率也低。在数控车床上,常用的对刀方法为试切对刀。对于数控铣床来说,通常工件坐标系的确定是通过对刀的过程来实现的,即使用对刀点来确定工件原点。第章 数控编程基础2)对刀点对刀点是指通过对刀确定刀具与工件相对位置的基准点。对刀点可以设在工件上,也可以设在与工件的定位基准有一定关系的夹具某一位置上。其选择原则是:(1)所选的对刀点应使程序编制简单。(2)对刀点应选在容易找正、便于确定工件原点的位置。(3)对刀
25、点应选在加工过程中检查方便、可靠的位置。(4)对刀点的选择应有利于提高加工精度。当对刀精度要求较高时,对刀点应尽量选在零件的设计基准或工艺基准上。对于以孔定位的工件,一般取孔的中心作为对刀点。对刀点往往与工件原点重合。若二者不重合,在设置机床零点偏置时,应当考虑到两者的差值。第章 数控编程基础3)换刀点换刀点是为加工中心、数控车床等采用多刀加工的机床而设置的,因为这些机床在加工过程中要自动换刀,在编程时应考虑选择合适的换刀位置。对于手动换刀的数控铣床,也应确定相应的换刀位置。为防止换刀时碰伤零件、刀具或夹具,换刀点常常设置在被加工零件的轮廓之外,并留有一定的安全量。第章 数控编程基础1.2.4
26、 绝对坐标编程与增量坐标编程绝对坐标编程与增量坐标编程1绝对坐标编程绝对坐标编程若所有坐标点的坐标值均从某一固定的坐标原点计量,则称之为绝对坐标表达方式。若按这种方式进行编程,则称之为绝对坐标编程。第章 数控编程基础2增量坐标编程增量坐标编程若运动轨迹的终点坐标是相对于线段的起点来计量,则称之为增量坐标或相对坐标表达方式。若按这种方式进行编程,则称之为增量或相对坐标编程。例例1.2 从图1.9中的A点走到B点。用绝对坐标编程为:X12 Y15若用增量坐标编程则为:X18 Y20采用绝对坐标编程时,程序指令中的坐标值随着程序原点的不同而不同;而采用相对坐标编程时,程序指令中的坐标值则与程序原点的
27、位置没有关系。同样的加工轨迹,既可用绝对编程,也可用相对编程,但有时候采用恰当的编程方式,可以大大简化程序的编写。因此,实际编程时应根据使用状况选用合适的编程方式。第章 数控编程基础图1.9 绝对坐标和增量坐标第章 数控编程基础1.3 程序编制中的数学处理程序编制中的数学处理1.3.1 基点基点零件的轮廓是由许多不同的几何要素所组成的,如直线、圆弧、二次曲线等,各几何要素之间的连接点称为基点。基点坐标是编程中必需的重要数据。第章 数控编程基础例1.3 图1.10所示零件中,A、B、C、D、E为基点。A、B、D、E的坐标值从图中很容易找出,C点是直线与圆弧的切点,要联立方程求解。以B点为计算坐标
28、系原点,联立下列方程:直线方程:Ytan()X圆弧方程:(X80)2(Y14)2302解上述方程可求得C点坐标为(64.2786,51.5507)。由此可见,对于简单的零件,基点的计算很麻烦。对于复杂的零件,其计算可想而知,为提高编程效率,可应用CAD/CAM软件进行自动编程。第章 数控编程基础图1.10 零件图样的基点第章 数控编程基础1.3.2 节点节点数控系统一般只能作直线插补和圆弧插补的切削运动。如果工件轮廓是非圆曲线,数控系统就无法直接实现插补,而只能用直线段或圆弧段去逼近非圆曲线。逼近线段与被加工曲线的交点称为节点。例例1.4 对图1.11所示的曲线用直线逼近时,其交点A、B、C、
29、D、E、F等即为节点。第章 数控编程基础图1.11 零件图样的节点第章 数控编程基础在编程时,首先要计算出节点的坐标,因节点的计算一般都比较复杂,靠手工计算已很难胜任,必须借助计算机辅助处理。求得各节点后,就可按相邻两节点间的直线来编写加工程序。这种通过求得节点,再编写程序的方法,使得节点数目决定了程序段的数目。如图1.11中有6个节点,即用5段直线逼近了曲线,因而就有5个直线插补程序段。节点数目越多,由直线逼近曲线产生的误差越小,程序的长度则越长。因此,节点数目的多少决定了加工的精度和程序的长度。故正确确定节点数目很关键,为此,可应用CAD/CAM软件进行自动编程。第章 数控编程基础1.3.
30、3 数控加工误差的组成数控加工误差的组成数控加工误差数加是由编程误差编、机床误差机、定位误差定、对刀误差刀等误差综合形成的。即数加=f(编机定刀)1编程误差编程误差编编编程误差编由逼近误差、圆整误差组成。逼近误差是在用直线段或圆弧段去逼近非圆曲线的过程中产生的误差,如图1.12所示。圆整误差是在数据处理时,将坐标值四舍五入圆整成整数脉冲当量值而产生的误差。脉冲当量是指每个单位脉冲对应坐标轴的位移量。普通精度级的数控机床的脉冲当量值一般为0.01 mm;较精密数控机床的脉冲当量值为0.005 mm或0.001 mm等。第章 数控编程基础图1.12 逼近误差第章 数控编程基础2机床误差机床误差机机
31、机床误差机由数控系统误差、进给系统误差等原因产生。3定位误差定位误差定定当工件在夹具上定位、夹具在机床上定位时会产生定位误差定。4对刀误差对刀误差刀刀对刀误差刀是在确定刀具与工件的相对位置时产生的。第章 数控编程基础小小 结结本章主要介绍了数控机床程序的编制步骤和方法,程序段的格式,机床坐标系、编程坐标系和加工坐标系,常用G功能代码指令、常用M功能代码指令等。这些都是编制数控加工程序的重要基础。通过本章的学习,应对数控编程的基本概念、数控机床的坐标系、程序编制中的数学处理有所掌握,为学习数控机床的程序编制打下基础。第章 数控编程基础思考与练习题思考与练习题1-1 数控机床与普通机床加工的过程有什么区别?1-2 简述手工编程和自动编程的区别以及适用场合。1-3 数控机床常用的程序输入方法有哪些?1-4 简要说明数控机床坐标轴的确定原则。1-5 简述数控机床加工程序的编制步骤。1-6 数控车床、数控铣床的机械原点和参考点之间的关系各是什么?1-7 试画出表示数控机床各坐标系零点及参考点的图形符号。1-8 绝对值编程和增量值编程有什么区别?1-9 试标出下图中各机床的坐标系。第章 数控编程基础题1-9图