第3章数控编程基础知识本章学习数控编程基本概念、数控指令、数控程序的结构以及坐标系知识,为学习各种数控设备的手工编程、自动编程建立基础。3.1数控编程概述3.1.1数控编程的基本概念零件程序的编制过程,称为数控编程。具体地说,数控编程是指根据被加工零件的图纸和技术要求、工艺要求,将零件加工的工艺顺序、工序内的工步安排、刀具相对于工件运动的轨迹与方向(零件轮廓轨迹尺寸)、工艺参数(主轴转速、进给量、切削深度)及辅助动作(变速,换刀,冷却液开、停,工件夹紧、松开等)等,用数控系统所规定的规则、代码和格式编制成文件(零件程序单),并将程序单的信息制作成控制介质的整个过程。从广义上讲,数控加工程序的编制包含了数控加工工艺的设计过程。数控编程有为手工编程和自动编程。3.1.2数控编程的内容和步骤数控编程的主要内容包括零件几何尺寸及加工要求分析、数学处理、编制程序、程序输入与试切。1.图纸工艺分析2.数学处理3.编写程序单及初步校验4.制备控制介质5输入数控系统6.程序的校验和试切3.1.3数控编程的方法1.手工编程手工编程就是从分析零件图样、确定工艺过程、数值计算、编写零件加工程序单、程序输入到程序检验等各步骤均由人工完成。2.自动编程3.2数控机床的坐标系3.2.1坐标轴的运动方向及其命名根据图样确定机床的加工过程,永远假定刀具相对于静止的工件坐标系而运动。右手直角笛卡儿坐标系3.运动方向的确定JB3051—1999中规定:机床某一部件运动的正方向是增大工件和刀具之间距离的方向。(1)z坐标的运动与主轴轴线平行的坐标轴即为Z坐标。对于工件旋转的机床,如车床、外圆磨床等,平行于工件轴线的坐标为Z坐标。而对于刀具旋转的机床,如铣床、钻床、镗床等,则平行于旋转刀具轴线的坐标为Z坐标,如图3.3a、b所示,对于工件和刀具都不旋转的机床(如牛头刨床),Z轴垂直于工件装卡面。Z坐标的正方向为增大工件与刀具之间距离的方向。(2)X坐标的运动X坐标一般是水平的,它平行于工件的装夹面且与Z轴垂直。X坐标是在刀具或工件定位平面内运动的主要坐标。对于工件旋转的机床(如车床、磨床等),X坐标的方向是在工件的径向上,且平行于横滑座。刀具离开工件旋转中心的方向为X轴正方向,如图3.3a、d所示。对于刀具旋转的机床(如铣床、镗床、钻床等),如Z轴是垂直的,当从刀具主轴向立柱看时,X运动的正方向指向右,如图3.3b所示。如Z轴(主轴)是水平的,当从刀具主轴后端向工件方向看时,X轴的正方向指向右方,如图3.3c所示(3)Y坐标的运动其运动的正方向根据X和Z坐标的正方向,按照右手直角迪卡儿坐标系统来判断。(4)旋转运动A、B、C(5)附加坐标如果在X、Y、Z主要坐标以外,还有平行于它们的坐标,可分别指定为U、V、W。如还有第三组运动,则分别指定为P、Q、R。(6)对于工件运动的方向规定对于工件运动而不是刀具运动的机床,必须将前述为刀具运动所作的规定作相反的安排。用带“′”的字母,如“+X′”,表示工件相对于刀具的正向运动指令。(7)主轴旋转运动的方向主轴的顺时针旋转运动方向(正转),是按照右旋螺纹旋入工件的方向。3.2.2机床坐标系与工件坐标系3.2.3绝对坐标与增量(相对)坐标1.绝对坐标系刀具(或机床)运动轨迹的坐标值是以相对于固定的坐标原点O给出的,即称为绝对坐标。2.增量坐标系1.尺寸字的输入制式尺寸字的输入制式(即单位)有两种,英制输入制式和公制输入制式,两种制式下的线性轴、旋转轴的尺寸单位如表3.1所示。表3.1尺寸输入制式及其单位制式线性轴旋转轴英制英寸(in)度(°)公制毫米(mm)度(°)3.2.4数控机床的最小设定单位3.3程序编制的代码及格式3.3.1数控加工程序的结构及格式1结构:一个完整的程序由程序号、程序的内容和程序结束三部分组成,例如:%1000程序号N01G91G00X50Y60N10G01X100Y500F150S300M03程序内容N……N200M02程序结束2.程序段格式现行数控系统中最常采用字—地址程序段格式。表3.2程序段书写顺序格式1234567891011N-G-X-U-A-Y-V-B-Z-W-C-I-J-K-R-F-S-T-M-结束字符程序段序号准备功能坐标字进给功能主轴功能刀具功能辅助功能结束符号数据字例如:N10G01X100Y500F150S300M03(1)程序段序号(2)数据字(3)程序段结束符3.3.2G指令、M指令和其它常用指令在数控编程中,使用G指令、M指令及F、S、T指令代码来描述数控机床的运行方式、加工类别,主轴的启、停,冷却液的开、闭等辅助功能以及规定进给速度,主轴转速,选择刀具等。1.准备功能准备功能也叫G功能或G代码,它是使数控机床或数控系统建立起某种加工方式的指令。G代码由地址符G和其后面的两位数字组成,从G00—G99共100种。G功能的代号已标准化,表3.4为我国JB3208—99标准中规定的G功能的含义。G代码按照功能的不同分为模态代码(又称续效代码)和非模态代码。2.辅助功能辅助功能也叫M功能或M代码。辅助功能表示一些机床辅助动作及状态的指令,由地址码M和后面的两位数字表示,从M00—M99共100种。M代码指令也有续效指令与非续效指令,一个程序段中一般有一个M代码指令,如同时有多个M代码指令,则最后一个有效。此类指令是控制数控机床或数控系统的开、关功能的命令。如主轴的转向与启停,冷却液系统开、关,工作台的夹紧与松开,程序结束等,表3.5为我国JB3208—1999标准中规定的M代码。3.进给功能(F)进给功能也称F功能,用于指定机床进给速度的大小,它由地址码F和后面若干位数字组成。该指令是续效代码,一般有两种表示方法:(1)代码法F后面跟两位数字,表示机床进给速度数列的序号,它不直接表示进给速度的大小。(2)直接代码法F后面的数字就是进给速度的大小。目前大多数数控机床采用这种方法。4.主轴转速功能(S)用来指定主轴的转速,用字母S和其后的1—4位数字表示。有恒转速和恒线转速两种指令。S代码只是设定主轴转速的大小,并不会使主轴转动,必须用M03(主轴正转)指令或M04(主轴反转)指令时,主轴才开始转动。该指令也为续效代码。5.刀具功能(T)刀具功能也称T功能,主要用来选择刀具,也可用来选择刀具偏置和补偿,由地址码和若干位数字组成。在自动换刀的数控机床中,该指令用于选择所需的刀具,同时还用来指定刀具补偿值。一般加工中心程序中T代码的数值直接表示选择的刀具号码。例如T15表示15号刀。在数控车床中的T代码后面的数字即包含所选刀具号,也包含刀具补偿号,例如T0402表示选择04号刀,调用02号刀补偿参数进行刀具长度和半径的补偿。不同的数控系统有不同的指定方法和含义,具体应用时应参照所用数控机床说明书中的有关规定进行。3.3.3常用基本指令1.坐标指令(1)绝对值编程G90和相对值编程G91G90表示程序段中的编程尺寸按绝对坐标给定,所有的坐标尺寸数字都是相对于固定的编程原点(工件原点)的。G91表示程序段中的编程尺寸按相对坐标给定,程序段的终点坐标都是相对于起点给出的。一般数控系统在初始状态(开机时状态)时自动设置为G90绝对值编程状态。G90编程N010X20Y15N020X40Y45N030X60Y25G91编程N010X20Y15N020X20Y30N030X20Y-20(2)工件坐标系设定指令G92格式:G92X_Y_Z_加工起点工件原点XYZO406050G92X40Y60Z50(3)工件坐标系选择指令G54—G59还可用G54—G59在6个预定的工件坐标系中选择当前工件坐标系。这些坐标系的坐标原点在机床坐标系中的值(工件原点偏置值)用MDI方式预置到数控系统中。一旦用G54—G59中的一个指令指定了工件原点,该工件坐标系就建立了,后续程序段中的刀具运动绝对坐标值均为相对此工件原点的值。(4)插补平面选择指令G17,G18,G19格式:G17/G18/G19说明:该指令选择一个平面,在此平面中进行圆弧插补和刀具半径补偿。G17:选择XY平面插补G18:选择XZ平面插补G19:选择YZ平面插补如图3.10所示注意:①用G17、G18、G19定义轨迹插补的平面,以免发生混用错误。②当存在G41、G42、G43、G44刀补(刀具半径补偿)时,不得变换定义平面。③考虑加工方便,Z坐标可单独编程,而不必考虑平面的定义。但编入二轴联动时,必须考虑平面选择问题。④进给指令与平面选择无关,例如在规定了G17Z_时,Z轴照样会移动。⑤系统通电时,自动处于G17状态,G17为缺省值。⑥G17、G18、G19为模态指令,可相互注销。2.快速点定位指令G00格式G00X_Y_Z_G00指令刀具相对于工件从当前位置以各轴预先设定的快移进给速度移动到程序段所指定的下一个定位点。在编程中常用来作快速接近工件切削起点或快速返回换刀点等。G00指令中的快进速度由机床参数对各轴设定,不能用程序规定。因此,程序中使用了G00后,进给速度指令F无效,刀具从所在点以数控系统预先规定的最大进给速度,快速移至坐标系的另一点。G00只是快速定位,而无运动轨迹要求,一般用于加工前快速定位或加工后快速退刀。3.直线插补指令G01格式:G01X_Y_Z_F_刀具作两点间的直线运动加工时用该指令,G01指令表示刀具从当前位置开始以给定的速度(切削速度),沿直线移动到规定的位置。刀具的当前位置是起点,为已知点,因此程序段中只要指定终点,就给定线性进给的必要条件。G01和F都是模态代码,若后续的程序段不改变加工的线型和进给速度,则不再书写这些代码。编程实例3-4:刀具从A点到B点的直线进给路线的程序,数据见图3.11。G90G01X90Y45F500线性进给,绝对值编程G91G01X70Y30F500线性进给,增量值编程4.圆弧插补指令G02、G03说明:G02/G03指定刀具以联动的方式,按F规定的合成进给速度,在G17/G18/G19规定的平面内,从当前位置按顺/逆时针圆弧路线(联动轴的合成轨迹为圆弧)移动到程序段指令的终点。注意:X、Y、Z分别为圆弧终点,在G90时为圆弧终点在工件坐标系中的坐标;在G91时为圆弧终点相对于圆弧起点的位移量;I、J、K分别为圆心村对于圆弧起点的偏移值(等于圆心的坐标减去圆弧起点的坐标,如图3.13所示),在G90/G91都是以增量方式来指定;R为圆弧半径,当圆弧圆心角小于180º时,R为正值;否则,R为负值;F为被编程的两个轴的合成进给速度。编程实例3-5:刀具轨迹为图3.14所示圆弧的程序段。(1)圆弧a(180º以下)G91时:G91G02X30.0Y30.0R30.0F100G90时:G90G02X0Y30.0R30.0F100(2)圆弧b(180º以上)G91时:G91G02X30.0Y30.0R-30.0F100G90时:G90G02X0Y30.0R-30.0F100用圆弧半径编程起点(-30,0)终点(0,30)G90G02X0Y30I30J0F100