第2章数控加工程序1天津工程师范学院机械系2第2章数控加工程序第1节程序编制的基本概念一数控编程概述编程就是将加工零件的加工顺序、刀具运动轨迹的尺寸数据、工艺参数(主运动和进给运动速度、切削深度)以及辅助操作(换刀、主轴正反转、冷却液开关、刀具夹紧、松开等)加工信息,用规定的文字、数字、符号组成的代码,按一定格式编写成加工程序。数控机床程序编制过程主要包括:分析零件图纸、工艺处理、数学处理、编写零件程序、程序校验。3第2章数控加工程序第1节程序编制的基本概念二、编程方法分类程序编制可分成手工编程和自动编程两类。1、手工编程:整个程序的编制过程是由人工完成的。要求编程人员不仅要熟悉数控代码及编程规则,而且还必须具备机械加工工艺知识和数值计算能力。对于点位加工或几何形状不太复杂的零件,数控编程计算较简单,程序段不多,手工编程即可实现。2、自动编程:指在编程过程中,除了分析零件图样和制定工艺方案由人工进行外,其余工作均由计算机辅助完成。根据输入方式的不同,可将自动编程分为图形数控自动编程、语言数控自动编程(APT)和语音数控自动编程、视觉系统编程等。1)图形数控自动编程:目前,图形数控自动编程是使用最为广泛的自动编程方式。4第2章数控加工程序图形数控自动编程软件CAXA制造工程师-----------北航海尔软件有限公司5第2章数控加工程序Mastercam---------------------美国CNCSoftware公司图形数控自动编程软件6第2章数控加工程序PRO/E--------------------------美国PTC公司图形数控自动编程软件7第2章数控加工程序其它:Solidworks软件Catia软件广州红地公司推出的金银花系统UG软件8第2章数控加工程序2)语言自动编程(APT语言)•为了解决数控加工中的程序编制问题,50年代,MIT设计了一种专门用于机械零件数控加工程序编制的语言,称为APT(AutomaticallyProgrammedTool)。是编程人员根据零件图纸要求用一种直观易懂的编程语言(包括几何、工艺等语句定义)手工编写一个简短的零件源程序,然后输给计算机,计算机经过翻译处理和刀具运动轨迹处理,再经过后置处理,自动生成数控系统可以识别的加工程序。由此可见,APT语言不能直接控制机床。APT语言不能直接控制机床。APT几经发展,形成了诸如APTII、APTIII(立体切削用)、APT(算法改进,增加多坐标曲面加工编程功能)、APTAC(Advancedcontouring)(增加切削数据库管理系统)和APT/SS(SculpturedSurface)(增加雕塑曲面加工编程功能)等先进版本。•采用APT语言编制数控程序具有程序简炼,走刀控制灵活等优点,使数控加工编程从面向机床指令的“汇编语言”级,上升到面向几何元素.。APT仍有许多不便之处:采用语言定义零件几何形状,难以描述复杂的几何形状,缺乏几何直观性;缺少对零件形状、刀具运动轨迹的直观图形显示和刀具轨迹的验证手段;难以和CAD数据库和CAPP系统有效连接;不容易作到高度的自动化,集成化。•针对APT语言的缺点,1978年,法国达索飞机公司开始开发集三维设计、分析、NC加工一体化的系统,称为CATIA。随后很快出现了象EUCLID,UGII,INTERGRAPH,Pro/Engineering,MasterCAM及NPU/GNCP等系统,这些系统都有效的解决了几何造型、零件几何形状的显示,交互设计、修改及刀具轨迹生成,走刀过程的仿真显示、验证等问题,推动了CAD和CAM向一体化方向发展。9第2章数控加工程序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,L10第2章数控加工程序制定工艺过程前置处理后置处理翻译程序数值计算零件图样编写零件源程序按自动编程系统规定的“语言”描述被加工零件的几何形状,加工时刀具相对于工件的运动轨迹这里用“语言”编写的源程序和手工编程的加工程序有本质差别:手工编程的加工程序可直接控制数控机床进行零件加工;自动编程的源程序要经编译处理后才可被数控机床接受.刀具中心轨迹计算将源程序翻译成计算机能接受和处理的形式选用设计工夹具,安排工艺路线,选择工艺参数加工程序单或纸带刀位数据将刀位数据及工艺参数等信息转换成数控机床要求的指令代码NC接口APT自动编程的基本步骤11第2章数控加工程序3)语音编程:语音数控自动编程是采用语音识别器,将编程人员发出的加工指令声音转变为加工程序。4)视觉系统编程:采用计算机视觉系统来自动阅读、理解图样,由程编员在编辑过程中实时给定起刀点、下刀点和退刀点,然后自动计算出刀位点的有关坐标值,并经后置处理,最后输出数控加工的程序单。视觉系统编程首先由图样扫描器(常用的CCD传感器扫描器和扫描鼓两种)扫描图样,取得一幅图像,对该图像进行预处理是为了校正图像的几何畸变和灰度畸变,并将它转化为易处理的二值图像,同时作断口校正、几何交点部分检测、细线化处理,以消除输入部分分辨率的影响;然后分离并识别图样上的文字、符号、线划等元素,并记忆它们之间的关系,对线划还需进行矢量化处理,并用直线或曲线拟合,得到端点和分支点;将这些信息综合处理,确定图样中每条线的意义及其尺寸大小,最后作编辑处理及刀位点坐标计算。再连接适当的后置处理,就能输出数控加工程序单。视觉系统在编程时不需要零件源程序和编程员,只要事先输入工艺参数即可,操作简单,能直接与CAD的数据相连接,实现高度自动化。12第2章数控加工程序二、程序代码国际标准化组织ISO(internationalstandardorganization)美国电子工业协会EIA(electronicindustriesassociation)国际上通用的数控代码有ISO、EIA两种。13第2章数控加工程序三、程序结构A、加工程序由若干个程序段组成。B、程序段由一个或若干个指令字组成,字是数控程序的最小单位。C、每个指令字由地址符和数字组成(字―地址结构),代表机床的一个位置或一个动作。地址符由字母组成,每个字母、数字、符号(正负号)称为字符。D、程序的起始符:%E、程序结束符:M02或M30。F、每一行程序以分号结尾。G、注释符:括号“()”内或分号“;”后的内容为注释文字。注:一个零件程序是按程序段的输入顺序执行的,而不是按程序段号的大小顺序执行的,但书写或输入程序时,建议按升序。14第2章数控加工程序一个零件程序是由遵循一定结构、句法和格式规则的若干个程序段组成的,而每个程序段是由若干个指令字组成的。如图2.1所示。程序O1000N01G00U50W60;N10G01U100W500F150S300M03;N……程序段N200M30;指令字图2.1程序的结构15第2章数控加工程序1、程序的文件名(程序名)格式:O____说明:1)‘O’:文件名首字母,后面必须有四位数字或字母,如日本FANUC系统如‘O001,O002’;华中数控HNC-21/22T系统扩展了标识程序文件的方法,可以使用任意DOS文件名(即8+3文件名:1至8个字母或数字加小数点,再加0至3个字母或数字组成,如“MYPART.001”、“O1234”等)标识零件程序。2)O1、O01、O001、O0001等价;3)范围O1~O7999用户区O8000~O8999用户区(加密、加锁)O9000~O9999扩展区(厂方修改)(FANUC0i)16第2章数控加工程序2、顺序号(标识作用)格式:N____说明:1)范围:N1~N99992)N1、N01、N001、N0001等价3、准备功能(简称G功能)由地址符‘G’和两位数字组成,G01,G02等等,G功能的代号已标准化;G1、G01等价。17第2章数控加工程序4、尺寸字(坐标字):由坐标地址符和数字组成,各组数字必须有作为地址代码的字母开头。X、Y、Z、U、V、W、P、Q、R;A、B、C、D、E;I、J、K。其中,X50.X50.0在相对坐标编程时,都表示沿X轴移动50mmX5000018第2章数控加工程序5、进给功能字:F由进给地址符和数字组成,单位一般为‘mm/min’或‘mm/r’F指令表示刀具中心运动时的进给速度。由F和其后的若干数字组成。数字的单位取决于每个系统所采用的进给速度的指定方法。具体内容见所用机床的编程说明书。注意事项如下:1)当编写程序时,第一次遇到直线(G01)或圆弧(G02/G03)插补指令时,必须编写进给率F,如果没有编写F功能,CNC采用F0。当工作在快速定位(G00)方式时,机床将以通过机床轴参数设定的快速进给率移动,与编写的F指令无关。2)F指令为模态指令,实际进给率可以通过CNC操作面板上的进给倍率旋钮,在0~120%之间调整。19第2章数控加工程序6、主轴转速功能字:S由主轴地址符和数字组成,单位为‘r/min’S指令表示机床主轴的转速。由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表示最高转速。20第2章数控加工程序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号的偏置尺寸;D12表示仍用4号刀,采用刀具偏置表第12号的偏置尺寸;T2表示选择2号刀,采用与该刀具相关的刀具偏置尺寸。21第2章数控加工程序8、辅助功能字:M由辅助操作地址符和两位数字组成。M功能的代码已标准化。M指令是控制数控机床“开、关”功能的指令,主要用于完成加工操作时的辅助动作。M功能有非模态M功能和模态M功能二种形式。●非模态M功能(当段有效代码):只在书写了该代码的程序段中有效;●模态M功能(续效代码):一组可相互注销的M功能,这些功能在被同一组的另一个功能注销前一直有效。如:M02或M30、M03、M04、M05等。22第2章数控加工程序M代码及功能表代码模态功能说明代码模态功能说明M00非模态程序暂停M03模态主轴正转M02非模态程序结束M04模态主轴反转M30非模态程序结束并返回程序起点M05模态主轴停止M07模态冷却液打开M98非模态调用子程序M08模态冷却液打开M99非模态子程序结束M09模态冷却液关闭23第2章数控加工程序模态M功能组中包含一个缺省功能,系统上电时将被初始化为该功能。M功能还可分为前作用M功能和后作用M功能二类。●前作用M功能:在程序段编制的轴运动之前执行;●后作用M功能:在程序段编制的轴运动之后执行。M00、M