数控加工编程方法及应用
2015-02-24贾利晓,黄广霞
贾利晓黄广霞
(洛阳理工学院机电工程系,洛阳471023)
引言
数控加工是指是用数字信息控制零件和刀具位移在数控机床上进行零件加工的一种机械加工方法 [1],可有效解决零件品种多、生产批量小、轮廓形状复杂、加工精度高等难题,并有益于实现自动化加工。随着科学技术的发展和数控机床日益广泛的应用,其应用模式也在不断发生变化。由早期的以单个数控机床为单元、只解决复杂型面的加工为目的,逐渐发展为以提高加工效率、改善产品精度为目的的各种加工中心的应用,再到目前为适应产品多样化、缩短产品生产周期而进行的柔性制造系统和集成制造系统的应用。数控技术的飞速发展,使数控编程的重要性更加突出。数控编程是数控加工的基础,数控机床之所以能加工出各种形状、尺寸和精度的零件,与编制程序密不可分。选择适当的编程方法,制订有效的编程策略,不仅能减少程序长度,提高加工效率,更能使零件的加工精度和表面加工质量得到改善。而如何采用简单高效的数控程序来加工出高质量的产品,是编程人员面临的一个科学难题,寻求合理的编程方法以得到便于加工生产的优质程序,始终是编程技术人员面临的自我挑战。常用的数控编程方法主要有手工编程、参数编程和自动编程三种,本文针对这三种编程方法进行比较分析,讨论各自的优缺点及其应用场合,便于工程技术人员作参考。
1 手工编程
手工编程是指从零件的图样分析、工艺处理、数据计算、编写程序单、输入程序到程序校验等各步骤主要由人工来完成的编程方法 [2]。此种方法对编程人员的要求较高,不仅要熟悉数控指令和编程规则,而且还要具备丰富的数控加工工艺知识和较高的数值计算能力。对于形状简单、计算量小、所需程序段数少的零件的加工,采用手工编程较容易,而且经济、及时。
手工编程的主要步骤包括零件图样分析和加工过程确定、数学处理、编写程序清单、程序输入、校验和首件试切等 [3]。
(1)零件图样分析和工艺过程确定。编制程序前要先分析零件的几何形状和尺寸以及技术图纸上对零件所作的技术要求等参量进行详细分析,明确加工内容;进而确定加工方案和加工顺序、设计加工所需要的夹具、选择合适的加工刀具、确定合理的走刀路线及切削用量等技术参数;同时还应充分发挥数控系统的性能、合理选择对刀点和进刀方式、尽量减少辅助加工时间。
(2)数学处理。加工过程确定之后要对工件进行数学处理,也就是根据零件的几何特征,建立工件坐标系,然后根据图纸要求制定加工路线,在工件坐标系上计算出刀具的运动轨迹。对于简单形状的零件,只需计算几何元素的起点、终点、圆弧的圆心以及两几何元素的交点或切点的坐标值。对于形状复杂的零件,如果数控系统的插补功能不能满足零件的几何形状需求,则需要计算出曲面或曲线上一定数量的离散点,在离散点之间用直线或圆弧进行逼近,在根据要求的加工精度计算出节点间的距离。
(3)编写零件程序单。加工路线和加工工艺参数确定后,根据数控系统所规定的指令代码和程序段格式,逐段编写零件程序。
(4)程序输入、校验与首件试切。编制好的程序要经过校验和试切才能正式使用。校验方法是将编制好的加工程序通过键盘输入到数控机床的计算机中或者由计算机接口将编制好的加工程序传送到有通信控制数控机床的数控装置中,然后机床进行空刀运转,以检查机床的运动轨迹是否正确。但校验过程只能检验出机床的运动是否正确,不能检查被加工零件的精度,故必须进行首件试切。首件试切既可以验证程序,如刀具运动轨迹是否正确、切削参数是否合适、换刀点选择是否合理。也可以验证刀具选择是否合适,如刀位安排是否恰当、刀具工作时是否对工件、卡爪、尾座等有干涉。首次试切应以单程序段的运行方式进行加工,监控加工状况,调整切削参数和状态。
2 自动编程
自动编程是利用专门的计算机软件编制数控加工程序 [4]。编程人员只需根据零件图样的要求,使用数控语言由计算机自动进行数值计算及后置处理,编写出零件加工程序单,然后通过直接通信的方式将加工程序单输入数控机床,进而指挥机床工作。
自动编程步骤包括零件图样分析、加工工艺和几何造型的确定、对几何图形进行定义、输入必要的工艺参数、自动生成数控程序、输出程序等 [5]。常用的自动编程软件有Unigraphics、Pro-Engineer、MasterCAM等,其中,MasterCAM较常用 [6]。
自动编程可分为语言自动编程、图形交互自动编程、语音自动编程和数字化自动编程四种。
(1)语言自动编程是指将待加工零件的几何尺寸、工艺参数、切削用量等原始信息用数控语言编写成源程序后,输入到计算机中由计算机通过语言自动编程系统进一步处理后得到零件加工程序单 [7]。在语言自动编程中,技术人员的主要工作是用数控语言编写零件源程序。数控语言由基本符号、字母、词汇及数字组成,有一定的语法要求,它是自动编程系统的一部分,所以不同的自动编程系统有着不同的数控语言。
(2)图形交互自动编程是计算机配备了图形终端和必要软件的一种编程方法 [8]。图形终端由鼠标器、显示屏和键盘组成,兼具输入和输出功能,利用它能实现人机实时对话,发现错误可及时改正。编程时可在终端屏幕上显示出待加工零件的图形,用户利用键盘和鼠标来确定进给路线和切削用量后,计算机便可按预先存储的图形自动编程系统计算刀具轨迹、自动编制加工程序、输出程序单。图形交互自动编程可简化编程过程、减少编程错误、缩短编程时间、降低编程费用,是一种有较大发展空间的编程方法。
(3)语音自动编程是利用人声作为输入信息,与计算机和显示器直接对话,使计算机编制加工程序的一种方法 [9]。语音自动编程的主要优点是便于操作,编程速度快、效率高。
(4)数字化自动编程
数字化自动编程适用于有模型或实物而无尺寸的零件的加工程序编制,因此也叫做实物编程 [10]。这种编程方法应有一台坐标测量仪或装有探针和相应扫描软件的数控机床,对模型或实物进行扫描。由计算机将所测数据进行处理后控制输出设备,输出零件加工程序单。数字化自动编程需要专用编程软件,可分为以批处理命令方式为主的APT语言和以CAD软件为基础的CAD/CAM-NC编程集成系统。
3 参数化编程
参数化编程也称为零件类编程,即对于同一类的相似零件,可使用变量而不是特定的尺寸数据和加工数据来进行编程 [11]。在机械零件加工过程中,经常遇到形状相似的零件,或在不同零件上有形状相同或相似的几何形状体,在编程中如果把这些几何形状体所需的程序一一编写出来,不但程序大、数据多,而且不易及时检查、纠正错误。如果在编写程序时,把一组命令(宏指令体)构成的某种特定功能,象子程序一样记录在存储器中,然后用一个命令(宏指令)来代表其功能并使用该命令进行调用,这样,用户就不需记忆宏指令体的一组命令,而只需记忆代表宏指令体的宏指令即可。用宏程序的特点是宏程序中有变量,并且变量之间可进行运算,通过宏指令给变量设定实际参数值。把某个功能作为宏程序编程时,可将变化的值作为变量,这种改变变量参数的编程方法称为参数化编程。在参数化编程中,以变量代替特定尺寸,每次使用时只需给变量赋值即可。
参数化编程的流程包括:确定宏程序的功能→确定图样特征,包括零件的材料、装夹方法、使用的机床和刀具等→画出示意图以展示宏程序的全部特征→确定走刀路线,考虑加工的安全性→确定变量数据,画出变量赋值表→画出程序流程图→编写宏程序→程序校验。
在批量生产中,可以将加工步骤定义为一个参数,将各个加工步骤中所用到的可变参数定义到若干二维数组中,程序执行时,利用循环依次完成各个加工步骤,就可实现参数化编程的自动化拓展。
4 三种编程方法的特点及应用
三种编程方法各有特点,因此适用于不同的场合。手工编程有以下优点:
(1)对于形状简单、计算量小、程序段数较少的零件,采用手工编程较容易,而且经济、及时。
(2)在点位加工或由直线和圆弧组成的轮廓加工中,手工编程仍广泛应用,而且所编的程序相对较短 [12]。以上两个优点使手工编程较多地应用于点位加工和几何形状不太复杂的零件的加工,以及计算较简单、程序段不多、编程易于实现的场合。
与手工编程相比,自动编程有以下优点 [13]:
(1)数字处理能力强。对复杂零件、特别是空间曲面零件,以及几何要素虽不复杂但程序量很大的零件,采用自动编程既快速又准确。
(2)能快速自动生成程序。在完成计算刀具运动轨迹后,后置处理程序能在极短时间内自动生成数控程序,且不会出现语法错误。
(3)后置处理程序灵活多变。同一个零件在不同的数控机床上加工时需要采用不同的数控程序,但前置处理过程中的大量数学处理和轨迹计算都相同。因此,将前置处理通用化,采用不同的后置处理程序,就能自动生成适用于不同数控机床的程序,使自动编程的应用范围得到极大扩展。
(4)程序自检、纠错能力强。自动编程能够借助于计算机在屏幕上对程序进行动态模拟,连续而逼真地显示刀具的运动轨迹和零件的加工轮廓,可使技术人员及时发现问题并改正,快速又方便。
(5)便于实现与数控系统的通讯。自动编程系统可以把生成的程序经通讯接口直接输入数控系统,控制机床进行加工,而且可以边输入、边加工,不必担心系统内存不够而将程序分段。因此,自动编程的通讯功能进一步提高了编程效率,缩短了生产周期。
自动编程可大大减轻编程人员的劳动强度,显著提高编程效率和程序的准确性,同时也解决了手工编程无法客服的许多难题。而且工作表面形状越复杂,加工工艺过程越繁琐,自动编程的优势就越突出。但是,自动编程产生的程序一般比较长,加工同样的零件,自动编程的程序长度可能是手工编程的程序的长度的几倍甚至几十倍,其加工时间也会相应延长,这是无法修正的根本缺陷;另外,自动编程产生的加工程序难以判断、分析和修改。主要由简单的加工指令如直线、圆弧等组合而成,没有全面应用数控系统的丰富指令,例如子程序、固定循环、镜像指令、宏指令等,更谈不上编程技巧的应用,程序质量也存在一定的缺陷;再者,自动编程不能实现通用化,目前市场上的数控系统种类繁多,但各种系统的兼容性较差,并且自动编程软件也只能针对某些品牌、某种型号的数控系统应用。因此,虽然自动编程提供了功能更强、效率更高的编程方法,但是手工编程在实际生产中仍占据主导地位 [14]。
参数化编程从本质上来说仍属于手工编程,但又使手工编程得到了简化和丰富。首先,由于更改参数就可改变程序,因此参数编程可大大增加程序的柔性,从而实现用同一程序加工不同形状或不同材料的零件。其次,对于零件图中未直接给出的数据(如线段交点的坐标),只需将一个参数定义为这个算式的结果,就可避免繁杂的计算。第三,如果将几个参数在数学表达式中相联系,就可方便地编制出复杂轮廓的加工程序,而不必进行逐点计算。最后,如果程序中的某些数据或指令需要更改,就在编程时把它们作为参数,在更改程序时,只需调出参数表即可方便地进行修改,从而避免了由于程序长、更改处多而带来的重复工作,同时也可避免错改和漏改。鉴于以上特点,参数化编程主要用于加工形状相似的零件,从而减少重复工作量,减轻编程人员的工作负担,提高工作效率。
5 结束语
数控编程是数控加工赖以生存的基础,而采用何种编程方法来提高工作效率是编程人员必须面对的选择。三种编程方法各有特点,手工编程是自动编程的基础,自动编程是手工编程的发展,参数化编程又使手工编程的应用得到简化。因此,在工作过程中,编程人员应根据待加工零件的实际特点,选用适当的编程方法,以减轻自身的工作量,提高工作效率,并能保证加工出高质量的零件。