1数控加工程序2.1程序编制的基本概念一、数控编程的方法1、手工编程手工编程是指在编程的过程中,全部或主要由人工进行。对于加工形状简单、计算量小、程序不多的零件,采用手工编程较简单、经济、效率高。2、自动编程(APT语言)为了解决数控加工中的程序编制问题,50年代,MIT设计了一种专门用于机械零件数控加工程序编制的语言,称为APT(AutomaticallyProgrammedTool)。是编程人员根据零件图纸要求用一种直观易懂的编程语言(包括几何、工艺等语句定义)手工编写一个简短的零件源程序,然后输给计算机,计算机经过翻译处理和刀具运动轨迹处理,再经过后置处理,自动生成数控系统可以识别的加工程序。由此可见,APT语言不能直接控制机床。APT几经发展,形成了诸如APTII、APTIII(立体切削用)、APT(算法改进,增加多坐标曲面加工编程功能)、APTAC(Advancedcontouring)(增加切削数据库管理系统)和APT/SS(SculpturedSurface)(增加雕塑曲面加工编程功能)等先进版。采用APT语言编制数控程序具有程序简炼,走刀控制灵活等优点,使数控加工编程从面向机床指令的“汇编语言”级,上升到面向几何元素.APT仍有许多不便之处:采用语言定义零件几何形状,难以描述复杂的几何形状,缺乏几何直观性;缺少对零件形状、刀具运动轨迹的直观图形显示和刀具轨迹的验证手段;难以和CAD数据库和CAPP系统有效连接;不容易作到高度的自动化,集成化。2针对APT语言的缺点,1978年,法国达索飞机公司开始开发集三维设计、分析、NC加工一体化的系统,称为CATIA。随后很快出现了象EUCLID,UGII,INTERGRAPH,Pro/Engineering,MasterCAM及NPU/GNCP等系统,这些系统都有效的解决了几何造型、零件几何形状的显示,交互设计、修改及刀具轨迹生成,走刀过程的仿真显示、验证等问题,推动了CAD和CAM向一体化方向发展。APT语言格式举例:点的定义:P=POINT/10,20,15;直线的定义:L=LINE/16,8,0,16,32,0。机床主轴转数及旋转方向的定义:SPINDL/n,CLW轮廓加工的外容差和内容差的定义:OUTTOL/τINTOL/τ刀具起始点为P:From/P;刀具从P点以最短距离运动向L运动,直至与L相切:GO/TO,L这里用“语言”编写的源程序和手工编程的加工程序有本质差别:手工编程的加工程序可直接控制数控机床进行零件加工;自动编程的源程序要经编译处理后才可被数控机床接受.3零件图样编写零件源程序制定工艺过程前置处理后置处理加工程序单或纸带翻译程序数值计算按自动编程系统规定的“语言”描述被加工零件的几何形状,加工时刀具相对于工件的运动轨迹刀具中心轨迹计算选用设计工夹具,安排工艺路线,选择工艺参数刀位数据将刀位数据及工艺参数等信息转换成数控机床要求的指令代码NC接口图2.1APT自动编程的基本步骤43、CAD/CAM采用人机交互功能的计算机图形显示器,在图形显示系统软件和图像编程应用软件的支持下,只要给出一些必要的工艺参数,发出相应的命令或“指点”菜单,然后根据应用软件提示的操作步骤,实时“指点”被加工零件的图形元素,就能得到零件的各轮廓点的位置坐标值,并立即在图像显示屏上显示出刀具加工轨迹,再连接适当的后置处理程序,就能输出数控加工程序单。这种编程方法称为计算机图像数控编程(ComputerGraphicsAidedNCProgramming),简称图像编程。图像编程是目前主要的自动编程方式,国内外图形交互自动编程软件的很多,流行的集成CAD/CAM(ComputerAidedDesign/ComputerAidedManufacturing)系统大都具有图形自动编程功能。以下是目前市面上流行的几种CAD/CAM系统软件:(1)Pro/Engineer(简称Pro-E)软件。Pro-E是美国PTC公司开发的机械设计自动化软件,也是最早实现参数化技术商品化的软件,在全球拥有广泛影响须我国也是使用最为广泛的CAD/CAM软件之一。(2)UG软件。UG是美国EDS公司的产品,多年来,该软件汇集了美国航空航天,以及汽车工业丰富的设计经验,发展成为一个世界一流的集成化CAD/CAE/CAM系统,在世界和我国都占有重要的市场份额。(3)Solidworks软件。Solidworks公司的CAD/CAM系统从一开始就是面向微机系统,并基于窗口风格设计的,同时它采用了著名的Parasolid为造型引擎,因此该系统的性能先进,主要功能几乎可以和上述大型CAD/CAM系统5相媲美。(4)MasterCAM软件。MasterCAM是美国CNCSoftwareNC公司研制开发的一套PC级套装软件,可以在一般的计算机上运行。它既可以设计绘制所要加工的零件,也可以产生加工这个零件的数控程序,还可以将AutoCAD、CADKEY、SolidWorks等CAD软件绘制的图形调入到MasterCAM中进行数控编程。该软件简单实用。(5)Catia软件。(5)国内市场信誉较好的CAD/CAM软件有北航海尔软件有限公司开发CAXA和广州红地公司推出的金银花系统。4、语音编程语音数控自动编程是利用人的声音作为输入信息,并与计算机和显示器直接对话,令计算机编出加工程序的一种方法。语音编程系统的构成,如图2-1所示。编程时,程编员只需对着话筒讲出所需的指令即可。编程前应使系统“熟悉”编程员的“声音”,即首次使用该系统时,编程员必须对着话筒讲该系统约定的各种词汇和数字,让系统记录下来并转换成计算机可以接受的数字指令。小型话筒显示器打字机/键盘外部设备计算机预信息处理机5、视觉系统编程采用计算机视觉系统来自动阅读、理解图样,由程编员在编辑过程中实时给定起刀点、下刀点和退刀点,然后自动计算出刀位点的有关坐标值,并经后置处理,最后输出数控加工的程序单。视觉系统编程首先由图样扫描器(常用图2-2语音编程系统的构成6的CCD传感器扫描器和扫描鼓两种)扫描图样,取得一幅图像,对该图像进行预处理是为了校正图像的几何畸变和灰度畸变,并将它转化为易处理的二值图像,同时作断口校正、几何交点部分检测、细线化处理,以消除输入部分分辨率的影响;然后分离并识别图样上的文字、符号、线划等元素,并记忆它们之间的关系,对线划还需进行矢量化处理,并用直线或曲线拟合,得到端点和分支点;将这些信息综合处理,确定图样中每条线的意义及其尺寸大小,最后作编辑处理及刀位点坐标计算。再连接适当的后置处理,就能输出数控加工程序单。视觉系统在编程时不需要零件源程序和编程员,只要事先输入工艺参数即可,操作简单,能直接与CAD的数据相连接,实现高度自动化。下面主要讲解手工编程方法。手工编程方法步骤:分析工件的零件图及技术要求,确定工艺路线,计算刀具轨迹坐标,用数控代码编程。二、程序代码国际标准化组织ISO(internationalstandardorganization)美国电子工业协会EIA(electronicindustriesassociation)国际上通用的数控代码有ISO、EIA两种。穿孔纸带的系统已过时。三、程序结构A、加工程序由若干个程序段组成。B、程序段由一个或若干个指令字组成,字是数控程序的最小单位。C、每个指令字由地址符和数字组成(字―地址结构),代表机床的一个位置或一个动作。地址符由字母组成,每个字母、数字、符号(正负号)称为字符。D、程序的起始符:%E、程序结束符:M02或M30。F、每一行程序以分号结尾。G、注释符:括号“()”内或分号“;”后的内容为注释文字。7表2-1程序段结构字字字地址数值地址数值地址数值例如G01Z40F500注释直线插补Z轴位移或终点位置40mm进给速度500mm/min具体要求:1、程序名:格式:O____说明:1)‘O’:文件名首字母,如‘O001,O002’;2)O1、O01、O001、O0001等价;3)范围O1~O7999用户区O8000~O8999用户区(加密、加锁)O9000~O9999扩展区(厂方修改)2、顺序号(标识作用)格式:N____(注释)说明:1)范围:N1~N99992)N1、N01、N001、N0001等价83、准备功能(简称G功能):由地址符‘G’和两位数字组成,G01,G02等等,G功能的代号已标准化。4、尺寸字(坐标字):由坐标地址符和数字组成,各组数字必须有作为地址代码的字母开头。X、Y、Z、U、V、W、P、Q、R;A、B、C、D、E;I、J、K。其中,X50.X50.0在相对坐标编程时,都表示沿X轴移动50mmX500005、进给功能字:F,由进给地址符和数字组成,单位一般为‘mm/min’或‘mm/r’F指令表示刀具中心运动时的进给速度。由F和其后的若干数字组成。数字的单位取决于每个系统所采用的进给速度的指定方法。具体内容见所用机床的编程说明书。注意事项如下:1)当编写程序时,第一次遇到直线(G01)或圆弧(G02/G03)插补指令时,必须编写进给率F,如果没有编写F功能,CNC采用F0。当工作在快速定位(G00)方式时,机床将以通过机床轴参数设定的快速进给率移动,与编写的F指令无关。2)F指令为模态指令,实际进给率可以通过CNC操作面板上的进给倍率旋钮,在0~120%之间调整。6、主轴转速功能字:S,由主轴地址符和数字组成,单位为‘r/min’9S指令表示机床主轴的转速。由S和其后的若干数字组成,其表示方法有以下三种:①转速S表示主轴转速,单位为r/min。如S1000表示主轴转速为1000r/min。②线速在恒线速状态下,S表示切削点的线速度,单位为m/min。如S60表示切削点的线速度恒定为60m/min。③代码用代码表示主轴速度时,S后面的数字不直接表示转速或线速的数值,而只是主轴速度的代号。如某机床用S00~S99表示100种转速,S40表示主轴转速为1200r/min,S41表示主轴转速为1230r/min,S00表示主轴转速为0r/min,S99表示最高转速。7、刀具功能字:T,由刀具地址符和数字组成,数字表示刀具库中刀具号。刀具和刀具参数的选择是数控编程的重要内容,其编程格式因数控系统不同而异,主要格式有以下两种:①采用T指令编程由T和数字组成。有T××和T××××两种格式,数字的位数由所用数控系统决定,T后面的数字用来指定刀具号和刀具补偿号。例如:T04表示选择4号刀;T0404表示选择4号刀,4号偏置值;T0400表示选择第4号刀,刀具偏置取消。②采用T、D指令编程利用T功能选择刀具,利用D功能选择相关的刀偏。在定义这两个参数时,其编程的顺序为T、D。T和D可以编写在一起,也可以单独编写,例如:T4D04表示选择4号刀,采用刀具偏置表第4号的10偏置尺寸;D12表示仍用4号刀,采用刀具偏置表第12号的偏置尺寸;T2表示选择2号刀,采用与该刀具相关的刀具偏置尺寸。8、辅助功能字:M,由辅助操作地址符和两位数字组成。M功能的代码已标准化。M指令是控制数控机床“开、关”功能的指令,主要用于完成加工操作时的辅助动作。M功能有非模态M功能和模态M功能二种形式。●非模态M功能(当段有效代码):只在书写了该代码的程序段中有效;●模态M功能(续效代码):一组可相互注销的M功能,这些功能在被同一组的另一个功能注销前一直有效。如:M02或M30、M03、M04、M05等。模态M功能组中包含一个缺省功能,系统上电时将被初始化为该功能。M功能还可分为前作用M功能和后作用M功能二类。●前作用M功能:在程序段编制的轴运动之前执行;●后作用M功能:在程序段编制的轴运动之后执行。M00、M02、M30、M98、M99用于控制零件程序的走向,是CNC内定的辅助功能,不由机床制造商设计决定,也就是说,与PLC程序无关;其余M代码用于机床各种辅助功能的开关动作,其功能不由CNC内定,而是由PLC程序指定,所以有可能因机床制造商不同而有差异(使用时须参考机床使用说明