1一、准备功能代码(G代码)二、辅助功能代码(M代码)三、进给速度功能指令(F代码)四、主轴速度功能指令(S代码)五、刀具功能指令(T代码)2一、准备功能代码(G代码)作用:准备功能是建立机床或控制系统工作方式的一种命令,一般用来规定刀具和工件的相对运动轨迹(即插补功能)、机床坐标系、坐标平面、刀具补偿、坐标偏置和暂停等多种加工操作方式,以及厂家自定义的多种固定循环指令和宏指令调用等。组成:它由地址符G及其后的两位数字或三位数字组成,也可以带一位小数。一个数控系统的G代码多少可衡量其功能的强弱。3FANUC数控系统常用的G代码4G指令按其功能的不同分为若干组,不同组的G指令,在同一程序段中可指定多个。如果在同一程序段指定了两个或两个以上同组的模态指令,则只有最后指定的G指令有效,或有的数控系统报警。如:N20G54G90G00X0Y0Z10G指令有模态指令和非模态指令两种。1.模态指令:该指令一经在程序段中指定就在其后续程序段中一直有效,直到后续程序段中使用同组的G代码取代它。模态指令又称续效指令。2.非模态指令:只在书写了该代码的程序段中有效,下一程序段需要时,必须重新写出。非模态指令也称为程序段有效指令、非续效指令。56作用:用于控制机床及其辅助装置的通、断的指令。如主轴的开、停,冷却液的开、闭,运动部件的夹紧与松开等辅助动作。组成:M后跟两位数字组成(见P59)二、辅助功能代码(M代码)7(1)M00程序停止暂停指令,当执行有M00指令的程序段后,主轴停转、进给停止、切削液关、程序停止。代码模态功能说明代码模态功能说明M00非模态程序停止M03模态主轴正转起动M01非模态选择停止M04模态主轴反转起动M02非模态程序结束M05*模态主轴停止转动M30非模态程序结束并返回程序起始点M06非模态换刀M98非模态调用子程序M07模态切削液打开M99非模态子程序结束M09*模态切削液停止81.程序停止(1)M00——程序停止当CNC执行到M00指令时,将暂停执行当前程序,暂停时机床的主轴、进给及冷却液停止,而全部现存的模态信息保持不变。当重新按下控制面板上的循环启动按钮,可使机床继续运转。加工中需停机检查、测量零件或手动变速、换刀和交接班等,可使用M00指令。一般情况下,M00指令单独位于一个程序段内。9(2)M01——计划(任选)停止该指令的作用与M00相似。不同的是,除非操作人员预先按下操作面板上的“任选停止”按钮确认这个指令,否则这个指令不起作用,继续执行以下程序。该指令常用于加工一批工件时,对工件上关键尺寸的抽样检查或有时需要临时停车。102.程序结束(1)M02——程序结束。写在主程序的最后一个程序段中,当CNC执行到M02指令时,机床的主轴、进给、冷却液等所有动作全都自动停止,整个系统复位,加工结束。执行后,程序的内部指针停在程序的最后;若要再次运行程序,需要重新调用。(2)M30——程序结束并返回到零件程序头M30和M02功能基本相同,也是表示程序结束。但该指令执行后,程序的内部指针停在程序的开头,若要再次运行程序,不需要重新调用,只要按下控制面板上“循环启动”键即可。该指令常用于批量加工(换工件时用)。M00、M01、M02、M30均为非模态的后作用指令。113.主轴转动指令M03——主轴正转M04——主轴反转M05——主轴停转一般在主轴停止的同时,进行制动和关闭冷却液。M19——主轴定向停止。指令执行后,主轴停在预定的角度位置上。M03、M04为前作用指令,M05、M19为后作用指令。4.M06——换刀指令M06用于在加工中心上调用一个安装在刀库中的刀具,刀具将被自动地安装在主轴上。M06为非模态后作用指令。125.切削液指令M07——2号切削液(雾状)开(冷却泵启动)M08——1号切削液(液状)开(冷却泵启动)M09——切削液停M07、M08为模态前作用指令,M09为模态后作用指令。13三、进给速度功能指令(F代码)进给功能字的地址符是F,所以又称F功能或F指令。它由进给地址符F及数字组成,数字表示刀具相对于工件的合成进给速度。对于车床系统,可分为每分钟进给和每转进给两种方式表示,对于铣床系统,一般只用每分钟进给方式表示。F后带若干位数字,如F150、F3500等。后面所带的数字表示实际的速度值,上述两个指令分别表示F=150mm/min;F=3500mm/min;F0.1表示0.1mm/r。F代码为模态代码。F地址在螺纹切削程序段中还常用来指定螺纹导程。1415四、主轴速度功能指令(S代码)作用:S指令用于指定主轴转速。组成:由主轴转速地址符S及数字组成,数字表示主轴转速,单位为r/min。由于现今数控机床的主轴都采用高性能的伺服驱动,可用直接法指定任何一种转速,即可用地址符S的后续数字直接指定主轴转数。例如,若要求1200r/min,则编程指令为S1200。S代码为模态代码。16五、刀具功能指令(T代码)作用:用于选刀。组成:T代码和数字组成,其后的数值表示选择的刀具号。在加工中心上执行T指令刀库转动选择所需的刀具,然后等待直到M06指令作用时自动完成换刀。对于数控车床,执行T指令即可完成换刀动作。如加工中心中使用T01M06;数控车床中使用T01,实现换1号刀动作。T代码为模态代码。当一个程序段同时包含T代码与刀具移动指令时,先执行T代码指令,而后执行刀具移动指令。第四节数控加工程序的格式与组成17一、零件加工程序的结构1.程序名2.程序主体3.程序结束部分P0001N10T01M06S1000M03N20G54G90G00X0Y0Z10N30G01Z-5F80M07N40G41G01X10Y5N50G01X10Y30N60G01X20Y30N70G02X30Y20CR=5N80G01X30Y10N90G01X5Y10N100G40X0Y0N110G00Z200N120M09M05N130M30第四节数控加工程序的格式与组成181.程序名程序名也叫程序号,是一个程序必需的标识符。绝大多数数控系统的程序名由地址符后带若干位数字组成。常见的地址符有:“%”、“O”、“P”等,视具体数控系统而定,国产华数控系统用“%”,日本FANUC系统用“O”。后面所带的数字一般为4~8位。如:O2000。德国SINUMIRIK数控系统的程序名直接用数字和字母命名。PKJ85N10T01M06S1000M03N20G54G90G00X0Y0Z10……………第四节数控加工程序的格式与组成192.程序主体数控加工要完成的全部动作,是整个程序的核心由若干个程序段组成,每个程序段由一个或多个指令构成。N10T01M06S1000M03N20G54G90G00X0Y0Z10N30G01Z-5F80M07N40G41G01X10Y5N50G01X10Y30N60G01X20Y30…………第四节数控加工程序的格式与组成20每个程序段是由若干指令字(codeword)组成,每个指令字是由文字(地址符)或与其后所带的数字一起组成。N20G54G90G00X0Y0Z10;指令字指令字G90地址符数字结束符第四节数控加工程序的格式与组成21字符意义字符意义A关于X轴的角度尺寸M辅助功能B关于Y轴的角度尺寸N顺序号C关于Z轴的角度尺寸O不用,有的定为顺序编号D第二刀具功能,也有定为偏置号P平行于X轴的第三尺寸,也有定为固定循环的参数E第二进给功能Q平行于Y轴的第三尺寸,也有定为固定循环的参数F第一进给功能R平行于Z轴的第三尺寸,也有定为固定循环的参数,圆弧的半径等G准备功能S主轴速度的功能H暂不指定,有的定为偏置号T第一刀具功能I平行于X轴的插补参数或螺纹导程U平行于X轴的第二尺寸J平行于Y轴的插补参数或螺纹导程V平行于Y轴的第二尺寸K平行于Z轴的插补参数或螺纹导程W平行于Z轴的第二尺寸L不指定,有的定为固定循环返回次数,也有的定为子程序返回次数X、Y、Z基本尺寸地址字母表第四节数控加工程序的格式与组成22三、程序的分类主程序和子程序有时被加工零件上,有多个形状和尺寸都相同的部位,若按通常的方法编程,则有一定量的连续程序段在几处完全重复的出现,则可以将这些重复的程序串,单独地提出来按一定格式做成子程序,程序中子程序以外的部分便称为主程序。第四节数控加工程序的格式与组成23两次调用子程序的示意图第四节数控加工程序的格式与组成24例:在某工件上要铣出10个几何形状完全相同的台阶,如下图所示,可采用子程序编程:第四节数控加工程序的格式与组成25O2002N01G91G00G41D01X50Y35S400M03M08;N02M98P01L10;N03M02;#01N01G00Z-25;N02G01Y60F100;N03X50;N04G02Y-50J-25;N05G01X-55;N06G00Z25;N07X165Y-10;N08M99;第六节数控编程中的数值处理26数学处理:根据被加工零件图样,按照已经确定的加工工艺路线和允许的编程误差,计算数控系统所需要输入的数据数学处理一般包括两个内容:•根据零件图样给出的形状,尺寸和公差等直接通过数学方法(如三角、几何与解析几何法等),计算出编程时所需要的有关各点的坐标值;•当按照零件图样给出的条件不能直接计算出编程所需的坐标,也不能按零件给出的条件直接进行工件轮廓几何要素的定义时,就必须根据所采用的具体工艺方法、工艺装备等加工条件,对零件原图形及有关尺寸进行必要的数学处理或改动,才可以进行各点的坐标计算和编程工作。第六节数控编程中的数值处理27一、编程原点的选择为了换算尺寸尽可能简便,减少计算误差,应选择一个合理的编程原点。编程原点的确定原则为:(1)将编程原点选在设计基准上并以设计基准为定位基准(2)容易找正对刀,对刀误差小;(3)编程方便;(4)在毛坯上的位置能够容易、准确地确定,并且各面的加工余量均匀;(5)对称零件的编程原点应选在对称中心。编程原点选定后,就应把各点的尺寸换算成以编程原点为基准的坐标值。为了在加工过程中有效的控制尺寸公差,按尺寸公差的中值来计算坐标值。第六节数控编程中的数值处理28二、未知点坐标的计算1.基点坐标的计算基点:任何一个零件的轮廓都是由不同的几何元素(如直线、圆弧及特形曲线等)组成的,各个元素间的连接点。如直线与直线的交点、直线与圆弧的交点或切点、圆弧与圆弧的交点与切点等。下图中的A、B、C、D、E等即为基点。YBC80110ED26X12AR30O1O2零件的基点第六节数控编程中的数值处理29求C点的坐标值可用多种方法,在此选用下面两种方法。方法一:求出直线BC的方程,然后与以O2为圆心、半径为30的圆的方程联立求解。为了计算方便,可先将坐标原点选在A点上,即A点坐标为(0,0)。YBC80110ED26X12AR30O1O2第六节数控编程中的数值处理30方法二:如果以B和O2两点连线的中点O1为圆心、以O1O2的距离为半径作一个圆,这个圆与以O2为圆心、半径为30的圆相交于C点和另一对称点C′。将这两个圆的方程联立求解也能求出C点的坐标值。可以看出,对于如此简单的零件,基点的计算都很麻烦对于复杂的零件,其计算工作量可想而知,为提高编程效率,可应用CAD/CAM软件辅助编程。YBC80110ED26X12AR30O1O2第六节数控编程中的数值处理312.节点坐标的计算当被加工零件的轮廓形状与机床的插补功能不一致时,就只能采用逼近法,即用多个直线段或圆弧段去逼近被加工曲线。这时,逼近线段与被加工曲线的交点就称为节点如下图所示的曲线PE用直线段逼近时,其交点A、B、C、D就是节点。PABCDE非圆曲线是用直线段(等间距法、等步长法和等误差法等)或圆弧段(曲率圆法、三点圆法和相切圆法等)逼近加工的。节点坐标计算:计算机、人工、AutoCAD绘图。第六节数控编程中的数值处理323.刀位点轨迹的计算对没有刀具偏置功能的数控系统,应计算出刀位点(对铣刀来讲为刀具中心)轨迹的基点和节点,作为编程的输入数据。下图中的a、b、c、d和e都是刀具中心轨迹的基点零件