第一章 数控编程基础
第三节 数控程序编程基础
数控编程是以数控加工中的编程方法作为研究对象的一门加工技术,它以机械加工中的工艺和编程理论为基础,针对数控机床的特点,综合运用相关的知识来解决数控加工中的工艺问题和编程问题。
数控编程人员必须掌握与数控加工内容相关的知识,包括数控加工原理、数控机床及其原理、机床坐标系、数控程序结构和常用数控指令等。
数控加工工艺分析和规划将影响数控加工的加工质量和加工效率,因此,数控加工工艺分析和规划是数控编程的核心内容。主要包括加工区域的划分和规划、刀轨形式与走刀方式的选择、刀具及机械参数的设置和加工工艺参数的设置。
1.3.1 数控程序编制方法
数控机床程序编制方法有手工编程和自动编程两种。
手工编程是编程员直接通过人工完成零件图工艺分析、工艺和数据处理、计算和编写数控程序、输入数控程序到程序验证整个过程的方法。手工编程非常适合于几何形状不太复杂、程序计算量较少的零件的数控编程。相对而言,手工编程的数控程序较短,编制程序的工作量较小。因此,手工编程广泛用于形状简单的点位加工和直线、圆弧组成的平面轮廓加工中。
自动编程是一种利用计算机辅助编程技术的方法,它是通过专用的计算机数控编程软件来处理零件的几何信息,实现数控加工刀位点的自动计算。对于复杂的零件,特别是具有非圆曲线曲面的加工表面,或者零件的几何形状并不复杂,但是程序编制的工作量很大,或者是需要进行复杂的工艺及工序处理的零件,由于这些零件在编制程序和加工过程中,数值计算非常烦琐,程序量很大,如果采用手工编程往往耗时多、效率低、出错率高,甚至无法完成,这种情况下就必须采用自动编程。
现在广泛使用的自动编程是CAD/CAM图形交互自动编程,CAD/CAM图形自动编程系统的特点是利用CAD软件的图形编辑功能将零件的几何图形绘制到计算机上,在图形交互方式下进行定义、显示和编辑,得到零件的几何模型;然后调用CAM数控编程模板,采用人机交互的方式定义几何体、创建加工坐标系、定义刀具,指定被加工部位,输入相应的加工参数,确定刀具相对于零件表面的运动方式,确定加工参数,生成进给轨迹,经过后置处理生成数控加工程序。整个过程一般都是在计算机图形交互环境下完成的,具有形象、直观和高效的优点。
高质量的数控加工程序源于周密、细致的技术可行性分析,总体工艺规划和数控加工工艺设计。
1.3.2 数控程序的特点
数控机床是一种用计算机实施控制的机床,用来控制机床的系统称为数控系统。数控机床的运动和辅助动作均受控于数控系统发出的指令。在数控机床上加工零件与在普通机床上加工零件,从加工方法上讲没有多大差异,区别在于机床运动的控制方面,在普通机床上加工零件时,机床的运动由操作工人控制;而在数控机床上加工零件时,机床的运动和辅助动作的实现均受控于数控系统发出的指令。数控系统的指令是由程序员根据零件的材料、加工要求、机床的特性和系统所规定的指令格式(数控语言或符号)编制的。
数控程序是指从零件设计图纸或零件三维模型直到获得数控加工程序的全过程,在输出数控程序前,往往要进行多次验证检查和相应的程序调整,通过仿真加工或试切加工,以观察零件的全加工过程,校验刀位计算是否正确,加工过程是否存在过切现象,所选刀具、走刀路线、进退刀方式是否合理,刀具、刀柄、夹具之间是否存在干涉与碰撞现象等,以及根据仿真加工和试切的结果所需的反复修改或调整程序的时间,从而降低所耗费的人力和物力。
使用CAD/CAM软件完成的数控程序效率高、准确、可靠,同时对数控编程人员提出了更高的要求。数控加工路线清晰、准确,刀具及切削参数选择合理,调试时需要调整的时间和内容少,数控程序固化率高。
在计算机上通过CAD/CAM软件把实现数控编程的全过程生成并保存为一个文本文件,然后输入到数控机床的整个过程称为离线编程。如何编制完善的数控加工程序,加工高质量的零件,同时使设备安全、稳定地运行,是数控加工工艺人员、数控加工操作人员最关心的问题。
1.3.3 数控编程的主要工作程序
使用数控机床加工零件,最主要的工作就是编制零件的数控加工程序。数控编程过程可以归结为工艺方案的理解、工件装夹、建立坐标系、输入刀具参数、输入数控程序、程序验证、调整和机床操作等几个基本步骤。
数控工艺方案是加工的灵魂,对于一般工件,工艺方案的重点在于提高效率,降低成本。而对于关键件、重要件、复杂工件,工艺方案直接关系到零件的加工质量,编程人员应在工艺方案上多下工夫,总结经验,踏实、认真地从每一个细节做起。在明确目标后,再进行工艺分析,确定相应的工序和工步以及关键部位的工艺保证措施,同时也应考虑操作者的技能水平,现有工艺装备的配置状况,刀具、量具和设备等因素。
数控程序编制主要工作内容如下:
1.零件数控加工工艺性分析
零件数控加工工艺性分析是根据加工零件的设计图纸及相关技术文件,对零件的材料、毛坯种类、形状、尺寸、精度、表面质量以及热处理要求等进行综合分析。
零件设计图定义了零件的几何形状和结构特点、尺寸及其公差、形位公差、技术要求、材料、热处理要求等方面的内容。在进行零件数控编程时,还应了解零件的毛料状态,包括毛料的类型、规格、形状、热处理状态以及硬度等,这两部分构成了加工零件数控加工工艺分析的主要内容,也决定了哪些是零件的技术关键、加工中的难点和数控编程的难易程度。
在利用以上所有原始信息的基础上,综合考虑其他的相关因素,以确定合理的数控加工方案和数控加工方法。初步拟定定位和夹紧基准,合理选择机床,确定加工刀具和切削用量等。
2.数控机床及其控制系统性能分析
数控机床及其控制系统性能分析包括工作台的加工范围、机床主轴转速范围、机床的功率、机床采用的刀柄类型和规格、刀具系统的构成、夹具与机床的连接方式、数控程序输入方式等方面的内容。
首先考虑的是数控机床的工作区域或工作空间能否满足零件的数控加工要求,零件必须安装在夹具里,所以数控机床应该足够大。零件及其工装夹具总的重量也不应超过机床的规定值。
其次,还应该掌握和了解数控机床额定功率的大小、主轴速度和进给速度限定范围、刀位数量、刀具系统以及机床其他附件等方面的内容。通常小型数控机床具有较高的主轴速度和较低的额定功率,而大型机床具有较低的主轴速度和较高的额定功率。
3.数控系统性能分析
数控系统性能分析包括控制系统的类型、坐标系的定义方式、主轴转速范围、进给速度的定义、刀具的识别和编号方法、对圆弧插补的要求、轴的连动方式、拐角控制方法、刀具运动(快速运动、直线运动和圆弧运动)的模式等方面的内容;还包括数控程序的格式、数控程序的语法结构、常见的数控编程指令及其使用规则。
控制系统作为数控机床的核心部分,在进行数控程序规划时,编程人员必须对控制系统的标准指令有一个清晰的了解,只有这样,才能使用数控系统的特有功能和科学的编程方法,比如加工循环、子程序、宏指令和其他功能。
建议编程人员很好地了解数控机床和数控系统,这对于编写高水平、高质量的数控程序非常有用。同样,数控系统功能的有效利用和数控程序的质量,反映了编程人员对数控机床及其数控系统功能的了解程度,而且编程人员在进行零件数控程序规划过程中(包括后续的数控编程),能增加个人经验和专业知识。
4.零件数控编程数据处理
由于零件设计图主要反映了设计人员的设计思想,在零件的形状特点、尺寸,以及零件表面之间的相互位置关系等方面考虑得多一些。在零件结构、加工工艺性等方面,很少或没有考虑对加工的影响。这包括以下内容:
(1)设计基准转换数据处理表现为零件图上的设计基准由反映设计思想的特征元素——点、线、面组成,也是建立零件坐标系的依据,加工坐标系的建立过程即是将设计基准和零件坐标系联系起来的过程。加工坐标系作为加工的基准,一是考虑设计基准是否适合建立零件的加工坐标系,即能否根据设计基准来建立;如果不适合,如何进行转换。二是考虑由设计基准确定的加工坐标系,其位置是否方便找正。三是考虑坐标系原点对于数控编程计算是否简单。
(2)零件加工图形处理主要考虑零件的数控加工工艺性,对零件图形进行必要的数学处理和数值计算。具体可以概括为以下内容:简化零件图形提取零件设计图中的曲线和曲面(特征)作为数控加工图形;或者压缩某些与制造无关的特征,例如不需加工及不能加工的特征(如孔、槽、圆角、螺纹等)。这些特征被压缩后,可明显感觉到编程直观,同时提高运算速度和使刀位轨迹合理。补全零件图形,根据零件数控加工的要求,重新构造或补充满足要求的图形。增加一些加工辅助线或辅助面,构建刀具轨迹限制边界。
(3)基点、节点和刀位点的计算表现为零件的轮廓曲线由直线、圆弧、二次曲线等不同的几何元素组成,在编制程序前,必须对加工轨迹的一些坐标值进行计算,作为程序刀位点的输入数据。数据计算包括基点计算、节点计算等。对于复杂的加工曲线和曲面,必须使用计算机辅助计算。
5.数控工艺路线设计
数控工艺路线设计是编程人员结合机床具体情况,考虑工件的定位,设计夹具或选用夹具和辅助工装及数控加工方案设计的整个构思过程。
首先确定最终零件的数控加工图形或模型;然后确定零件的加工坐标系,为减少定位误差,加工坐标系应尽量与设计基准重合;最后进行数控加工方案设计,包括加工区域划分、加工路线确定和加工工序设计等方面的内容。
6.编写数控加工程序
根据确定的加工路线、刀具号、切削用量、辅助动作以及数值计算的结果,按照数控机床规定的使用功能指令代码及程序段格式,逐段编写加工程序。此外还应附上必要的加工示意图、刀具布置图、机床调整卡、工序卡及必要的说明等。
数控编程的过程是逐步完善数控工艺方案的过程,由于工艺方案是预先设想的,不一定全面,因此在数控编程中要不断调整和改进。
7.数控程序校验
数控程序的验证工作是不可缺少的环节。不能因为时间来不及或思想上的侥幸心理,放弃验证工作。程序校验的主要内容包括:
- 数控程序是否存在语法错误,输入数据是否有效,即数控系统能否识别。
- 数控程序是否完整、合理。
- 刀具运动轨迹是否正确。
编好的数控程序通常可以通过在机床显示屏上显示刀具路径即刀具的运动轨迹,来检验程序的正确性。
首件试切削程序校验部分的内容只能证明刀具轨迹运动的正确性,因此要对工件进行首件试切,以检验以下方面的内容:
- 刀具、刀柄与夹具、机床之间是否存在干涉,能否发生碰撞。
- 选择刀具是否合理,能否满足加工要求,是否存在过切现象。
- 切削用量是否合理,程序中的主轴转速、进给速度和切削深度等给定数值能否满足加工要求。
根据实际验证的内容,如干涉、过切区域,刀具、工件和夹具的刚度和弹性变形情况,以及刀具的磨损情况等因素进行必要的处理和调整。对于加工误差应分析其产生的原因并予以修正,以便最终达到满足零件的精度要求和加工质量的目标。
8.数控文件固化
完成以上工作后,就必须对所有的数控工艺文件进行完善、固化并存档。以下列举了常见的数控工艺文件,这些文件可以根据具体情况加以完善和增减。
- 数控程序清单。
- 数控程序文本,也可以为存储介质。
- 加工路径图。
- 数控工步卡。
- 数控工艺规程或工序图表。
- 操作说明书。
- 工装清单。
- 刀具清单。
- 毛坯图。
- 零件定位及装夹示意图、操作说明书。
- 数控调试和加工注意事项。
1.3.4 数控编程的基本概念
1.刀位点
刀位点是刀具上的一个基准点,刀位点相对运动的轨迹即加工路线,也称编程轨迹。
2.对刀和对刀点
对刀是指操作员在启动数控程序之前,通过一定的测量手段,使刀位点与对刀点重合。可以用对刀仪对刀,其操作比较简单,测量数据也比较准确。还可以在数控机床上定位好夹具和安装好零件之后,使用量块、塞尺、千分表等,利用数控机床上的坐标对刀。对于操作者来说,确定对刀点将是非常重要的,会直接影响零件的加工精度和程序控制的准确性。在批生产过程中,更要考虑到对刀点的重复精度,操作者有必要加深对数控设备的了解,掌握更多的对刀技巧。
(1)对刀点的选择原则
在机床上容易找正,在加工中便于检查,编程时便于计算,而且对刀误差小。
对刀点可以选择零件上的某个点(如零件的定位孔中心),也可以选择零件外的某一点(如夹具或机床上的某一点),但必须与零件的定位基准有一定的坐标关系。
提高对刀的准确性和精度,即便零件要求精度不高或者程序要求不严格,所选对刀部位的加工精度也应高于其他位置的加工精度。
选择接触面大、容易监测、加工过程稳定的部位作为对刀点。
对刀点尽可能与设计基准或工艺基准统一,避免由于尺寸换算导致对刀精度甚至加工精度降低,增加数控程序或零件数控加工的难度。
为了提高零件的加工精度,对刀点应尽量选在零件的设计基准或工艺基准上。例如以孔定位的零件,以孔的中心作为对刀点较为适宜。
对刀点的精度既取决于数控设备的精度,也取决于零件加工的要求,人工检查对刀精度以提高零件数控加工的质量。尤其在批生产中要考虑到对刀点的重复精度,该精度可用对刀点相对机床原点的坐标值来进行校核。
(2)对刀点的选择方法
对于数控车床或车铣加工中心类数控设备,由于中心位置(X0,Y0,A0)已由数控设备确定,确定轴向位置即可确定整个加工坐标系。因此,只需要确定轴向(Z0或相对位置)的某个端面作为对刀点即可。
对于三坐标数控铣床或三坐标加工中心,相对数控车床或车铣加工中心复杂很多,根据数控程序的要求,不仅需要确定坐标系的原点位置(X0,Y0,Z0),而且要同加工坐标系G54、G55、G56、G57等确定有关,有时也取决于操作者的习惯。对刀点可以设在被加工零件上,也可以设在夹具上,但是必须与零件的定位基准有一定的坐标关系,Z方向可以简单地通过确定一个容易检测的平面确定,而X、Y方向的确定需要根据具体零件选择与定位基准有关的平面、圆。
对于四轴或五轴数控设备,增加了第4、第5个旋转轴,同三坐标数控设备选择对刀点类似,由于设备更加复杂,同时数控系统智能化,提供了更多的对刀方法,需要根据具体数控设备和具体加工零件确定。
对刀点相对机床坐标系的坐标关系可以简单地设定为互相关联,如对刀点的坐标为(X0,Y0,Z0),同加工坐标系的关系可以定义为(X0+Xr,Y0+Yr,Z0+Zr),加工坐标系G54、G55、G56、G57等,只要通过控制面板或其他方式输入即可。这种方法非常灵活,技巧性很强,为后续数控加工带来很大方便。
3.零点漂移现象
零点漂移现象是数控设备受周围环境因素影响引起的,在同样的切削条件下,对同一台设备来说,使用相同一个夹具、数控程序、刀具,加工相同的零件,发生的一种加工尺寸不一致或精度降低的现象。
零点漂移现象主要表现为数控加工过程的一种精度降低现象或者可以理解为数控加工时的精度不一致现象。零点漂移现象在数控加工过程中是不可避免的,对于数控设备是普遍存在的,一般受数控设备周围环境因素的影响较大,严重时会影响数控设备的正常工作。影响零点漂移的原因很多,主要有温度、冷却液、刀具磨损、主轴转速和进给速度变化大等。
4.刀具补偿
经过一定时间的数控加工后,刀具的磨损是不可避免的,其主要表现在刀具长度和刀具半径的变化上,因此,刀具磨损补偿主要是指刀具长度补偿和刀具半径补偿。
5.刀具半径补偿
在零件轮廓加工中,由于刀具总有一定的半径如铣刀半径,刀具中心的运动轨迹并不等于所需加工零件的实际轨迹,而是需要偏置一个刀具半径值,这种偏移习惯上称为刀具半径补偿。因此,进行零件轮廓数控加工时必须考虑刀具的半径值。需要指出的是,NX CAM数控程序是以理想的加工状态和准确的刀具半径进行编程的,刀具运动轨迹为刀心运动轨迹,没有考虑数控设备的状态和刀具的磨损程度对零件数控加工的影响。因此,无论对于轮廓编程还是刀心编程,NX CAM数控程序的实现必须考虑刀具半径磨损带来的影响,合理使用刀具半径补偿。
6.刀具长度补偿
在数控铣、镗床上,当刀具磨损或更换刀具,使刀具刀尖位置不在原始加工的编程位置时,必须通过延长或缩短刀具长度方向一个偏置值的方法来补偿其尺寸的变化,以保证加工深度或加工表面位置仍然达到原设计所要求的尺寸。
7.机床坐标系
数控机床的直线运动坐标轴采用笛卡儿坐标系命名,其坐标命名分别为X、Y、Z,统称为基本坐标系。以X、Y、Z坐标轴或以与X、Y、Z坐标轴平行的坐标轴线为中心旋转的运动,分别称为A轴、B轴、C轴,A、B、C的正方向按右手螺旋定则确定。
Z轴:通常把传递切削力的主轴规定为Z坐标轴。对于刀具旋转的机床,如镗床、铣床、钻床等,刀具旋转的轴称为Z轴。
X轴:X轴通常平行于工件装夹面并与Z轴垂直。对于刀具旋转的机床,如卧式铣床、卧式镗床,从刀具主轴向工件方向看,右手方向为X轴的正方向,当Z轴为垂直时,对于单立柱机床如立式铣床,则沿刀具主轴向立柱方向看,右手方向为X轴的正方向。
Y轴:Y轴垂直于X轴和Z轴,其方向可根据已确定的X轴和Z轴,按右手直角笛卡儿坐标系确定。
旋转轴的定义也按照右手螺旋定则,绕X轴旋转为A轴,绕Y轴旋转为B轴,绕Z轴旋转为C轴。
数控机床的坐标轴如图1-4所示。

图1-4 数控机床的坐标轴
机床原点就是机床坐标系的坐标原点。机床上有一些固定的基准线,如主轴中心线;也有一些固定的基准面,如工作台面、主轴端面、工作台侧面等。
当机床的坐标轴手动返回各自的原点以后,用各坐标轴部件上的基准线和基准面之间的距离便可确定机床原点的位置,该点在数控机床的使用说明书上均有说明。
8.零件加工坐标系和坐标原点
工件坐标系又称编程坐标系,是由编程人员在编制零件加工程序时,以工件上某一固定点为原点建立的坐标系。零件坐标系的原点称为零件零点(零件原点或程序零点),而编程时的刀具轨迹坐标是按零件轮廓在零件坐标系的坐标确定的。
加工坐标系的原点在机床坐标系中称为调整点。在加工时,零件随夹具安装在机床上,零件的装夹位置相对于机床是固定的,所以零件坐标系在机床坐标系中的位置也就确定了。这时测量的零件原点与机床原点之间的距离称作零件零点偏置,该偏置需要预先存储到数控系统中。
在加工时,零件原点偏置便能自动加到零件坐标系上,使数控系统可按机床坐标系确定加工时的绝对坐标值。因此,编程人员可以不考虑零件在机床上的实际安装位置和安装精度,而利用数控系统的偏置功能,通过零件原点偏置值,补偿零件在机床上的位置误差,现在的数控机床都有这种功能,使用起来很方便。零件坐标系的位置以机床坐标系为参考点,在一个数控机床上可以设定多个零件坐标系,分别存储在G54/G59等中,零件零点一般设在零件的设计基准、工艺基准处,便于计算尺寸。
一般数控设备可以预先设定多个工作坐标系(G54~G59),这些坐标系存储在机床存储器内,工作坐标系都是以机床原点为参考点,分别以各自与机床原点的偏移量表示,需要提前输入机床数控系统,或者说是在加工前设定好的坐标系。
加工坐标系(MCS)是零件加工时所有刀具轨迹输出点的定位基准。加工坐标系用OM-XM-YM-ZM表示。有了加工坐标系,在编程时,无需考虑工件在机床上的安装位置,只要根据工件的特点及尺寸来编程即可。
加工坐标系的原点即为工件加工零点。工件加工零点的位置是任意的,是由编程人员在编制数控加工程序时根据零件的特点选定的。工件零点可以设置在加工工件上,也可以设置在夹具上或机床上。为了提高零件的加工精度,工件零点尽量选在精度较高的加工表面上;为方便数据处理和简化程序编制,工件零点应尽量设置在零件的设计基准或工艺基准上,对于对称零件,最好将工件零点设在对称中心上,容易找准,检查也方便。
9.装夹原点
装夹原点常见于带回转(或摆动)工作台的数控机床和加工中心,比如回转中心,与机床参考点的偏移量可通过测量存入数控系统的原点偏置寄存器中,供数控系统原点偏移计算用。