编程篇第一章编程概要数控机床的自动加工过程,就是按照事先编写好的零件程序自动运行的过程。所谓编程,就是根据加工零件的图纸和工艺要求,把它用数控语言描述出来,编制成零件的加工程序。本篇主要说明本数控系统加工程序的指令含义及编制方式,在编制程序之前,请先详细阅读本篇内容。1.1坐标轴及其运动方向的定义本数控系统按照JB/T3051-1999《数字控制机床坐标和运动命名》中关于普通车床的坐标和命名定义了系统的控制轴及运动。本系统对可控制的两个坐标轴定义为X、Z轴,两个坐标轴相互垂直构成X—Z平面直角坐标系.如图1:X坐标:X坐标定义为与主轴旋转中心线相垂直,X正方向为刀具离开主轴旋转中心方向。Z坐标:Z坐标定义为与主轴旋转中心线重合,Z正方向为刀具远离主轴箱方向。1.2机械原点机械原点为机床上固定位置的一点,通常数控车床的机械原点设置在X轴和Z轴的正方向最大行程处,并安装相应的机械原点开关和撞块,如果机床上没有安装机械原点开关和撞块,请不要使用本系统中回机械原点功能,或将P12参数的MZRO设置成0.1.3编程坐标本系统编程可用绝对坐标(X、Z字段),相对坐标(U、W字段)或混合坐标(X/W、U/Z字段)进行编程。对于X轴坐标,本系统使用直径编程(所有X轴方向的尺寸和参数均用直径量表示)。第二章程序结构为使机床能按要求运动而编写的CNC指令集合称之为程序,数控系统按指令顺序使刀具沿线圆弧运动或使主轴启动停止,冷却液开关等,程序中的指令顺序就是按工件工艺要求的顺序而编制的。2.1字符字符是构成程序的最基本的元素。本系统字符包括英文字母,数字和一些符号。z英文字母是每一个指令或数据的地址符,共有17个:DEFGIKLMNPRSTUWXZz数字是每个地址符的具体数据:0,1,2,3,4,5,6,7,8,9z符号:%—.%:仅作为程序号的开始符—:表示负的数据.:表示小数点地址符定义及数据范围如下表所示地址符功能意义单位数据范围%工件号加工工件的程序号00~99(整数)N程序段号程序段的程序段号0000~9999(整数)G准备功能指令执行的方式00~99(整数)M辅助功能辅助动作指令00~99(整数)T刀具功能选择刀具号及刀补号00~89(整数)0~4(多速电机)0~15S主轴功能主轴转速指令0~P11/12(变频主轴)F速度功能切削进给速度mm/min0~9999(整数)XZ绝对坐标X、Z轴绝对坐标值mm-8000.000~+8000.000UW相对坐标X、Z轴相对坐标值mm-8000.000~+8000.000IK圆心坐标X、Z轴圆心对圆弧起点坐标mm-8000.000~+8000.000R圆弧半径或固定循环锥度及圆弧半径及循环锥度mm半径0~4199.000E螺纹导程英制螺纹导程牙/英寸100~0.25牙/英寸D延时时间延时指令延时时间0.001s0.001~65.535P螺纹导程,程序段入口公制螺纹导程或调用跳转指令入口0.25~100(螺纹导程)0000~9999(整数)L复合地址指定循环次数、螺纹头数、循环包含的轮廓段数1~992.2字段字段是由一个地址符和其后所带的数字构成。如N0100X12.8W-23.45等。zzzz每一个字段必须有一个地址符(英文字母)和数字符串。数字符串的无效0可以省去。指令前导0,可以省去。如G00可以写成G0。数字的正号可以省去,但负号不能省略。2.3程序段号程序段号是由字符N后带四位整数构成,在编辑时由系统自动产生但可以修改。范围为0000-9999。2.4程序段一个程序段由程序段号和若干字段组成。每个程序段最多可包含255个字符(包括字段之间的空格)。程序段的程序段号是必需的,由系统自动产生,但可以在编辑状态下修改。下面是一个完整的程序段示例:N0120G1X130W-40F50EnterzN0120程序段号zG1准备功能zX130W-40?运动数据zF50运动速度zEnter程序段结束,在屏幕上不显示,但每个程序都是以按Enter键作为结束。注1:程序段中每个字段之间都由空格分开,在输入时系统会自动产生.但在编辑过程中无法区分时必须由操作者输入,以保证程序的完整性。注2:字段在程序段中的位置可以任意放置。2.5程序的构成把实现加工过程中一个或几个工艺动作的指令排列起来构成一个程序段.按加工工艺顺序排列的多个程序段构成一个加工程序.为识别各程序段所加的编号称之为程序段号(也可称为行号).为识别各个不同的程序而加的编号称之为程序名(或文件名).每个加工程序由一个程序号和若干个程序段组成,每个程序最大有9999个程序段。程序段号由字母?N?带四位整数构成。程序号由?%?带二位整数构成。第三章指令代码及其功能本章详细介绍GSK928TE数控系统中所有指令代码的功能及其使用方法。3.1G功能—准备功能G功能定义为机床的运动方式,由字符G及后面两位数字构成,GSK928TE数控系统所用G功能代码如下表所示:指令功能模态编程格式说明G00快速定位初态G00X(U)Z(W)G01直线插补*G01X(U)Z(W)FF:5-6000mm/minG02顺圆插补*G02X(U)Z(W)RFG02X(U)Z(W)IKFF:5-3000mm/minG03逆圆插补*G03X(U)Z(W)RFG03X(U)Z(W)IKFF:5-3000mm/minG33螺纹切削*G33X(U)Z(W)P(E)IKG32攻牙循环G32ZP(E)G90外圆内圆柱面循环*G90X(U)Z(W)RFG92螺纹切削循环*G92X(U)Z(W)P(E)LIKRG94外圆内圆锥面循环*G94X(U)Z(W)RFG74端面钻孔循环G74X(U)Z(W)IKEFG75外圆内圆切槽循环G75X(U)Z(W)IKEFG71外圆粗车循环G71XIKFLG72端面粗车循环G72ZIKFLG22局部循环开始G22LG80局部循环结束G80G50设置工件绝对坐标系G50XZG26X、Z轴回参考点G26按G00方式快速移动G27X轴回参考点G27按G00方式快速移动G29Z轴回参考点G29按G00方式快速移动G04定时延时G04DG93系统偏置G93X(U)Z(W)G98每分进给*G98F1~6000mm/minG99每转进给G99F0.01~99.99mm/r注1:表中带*指令为模态指令,即在没有指定其它G指令的情况下一直有效。注2:表中指令在每个程序段只能有一个G04之外的G代码,仅G04指令可和其它G代码在同一程序段中出现。注3:通电及复位时系统处于G00,G98状态。3.1.1G00—快速定位指令格式:G00X(U)?Z(W);G00指令使刀具以快速移动速度移动到指定位置。3.1.2G01—直线插补指令格式:G01X(U)Z(W)F;G01指令使刀具按设定速度沿当前点到X(U),Z(W)指定点的连线同时到达指定的终点位置.其中X(U)Z(W)为指定的终点坐标。F-进给速度.单位:mm/min3.1.3G02G03—圆弧插补指令格式:G02X(U)Z(W)IKF;圆心坐标编程G03X(U)Z(W)IKF;或G02X(U)Z(W)RF;半径编程G03X(U)Z(W)RF;指令中字段说明:字段指定内容意义G02圆弧回转方向顺时针圆弧CWG03圆弧回转方向逆时针圆弧CCWX,Z绝对坐标圆弧终点绝对坐标值U,W相对坐标圆弧起点到终点的距离I.K圆心坐标圆心到圆弧起点距离R圆弧半径圆弧上任一点到圆心的距离F进给速度沿圆弧的速度3.1.4G33—螺纹切削指令格式:G33X(U)Z(W)P(E)KI;其中:X(U)Z(W)——螺纹终点的绝对/相对坐标.(省略X时为直螺纹)P——公制螺纹导程,单位:?mm?范围:0.25-100mmE——英制螺纹导程,单位:牙/英寸范围:100-0.25牙/英寸K——螺纹退尾起始点距螺纹终点在Z方向的长度。单位:mm.省略时无退尾。加工中直螺纹K>0时,螺纹退尾时X轴向正方向移动,K<0时,螺纹退尾时X轴向负方向移动,锥螺纹加工中K的符号必须与X的移动方向相同。I——螺纹退尾时X方向的移动总量(直径值)单位mm。有K值但省略I时,系统默认为I=2×K即45°退尾。I不能为负值。G33指令可以加工公英制等螺距的直螺纹,锥螺纹,内螺纹,外螺纹,等常用螺纹.当G33指令中X(U)坐标值非零时表示加工锥螺纹。在主轴正转情况下,正方向切削为右旋螺纹。负方向切削为左旋螺纹,主轴反转时则相反。一般加工螺纹时从粗车到精车同一轨迹要进行多次螺纹切削。因为螺纹切削开始是从检测到主轴编码器的一转信号后才开始的,因此进行多次螺纹切削零件圆周上的切削点是仍是相同的,但必须保证主轴转速不变,当主轴转速发生变化时螺纹会产生少许误差。螺纹加工需要与主轴速度相适应。主轴转速过高会因系统响应不上使螺纹乱牙。推荐主轴转速应满足下式:N×P≦3000其中:N—主轴转速?单位:转/分??最高转速小于2000转/分P—螺纹导程?单位:mm?英制螺纹时将其换算成公制单位计算。在螺纹切削开始及结束部份,一般由于升降速的原因,会出现导程不正确部份,考虑此因素影响,指令螺纹长度时应比实际需要的螺纹长度要长些。一般情况下,升速长度1.3mm注1:螺纹切削过程中,进给保持键无效,进给倍率无效。注2:螺纹切削过程中,主轴停止,进给随之停止。注3:螺纹切削必须配置1200线或1024线光电编码器并使编码器与主轴同步旋转,编码器线数选择必须与实际安装的编码器线数相同,当编码器为1200线时参数P11的SCOD应设置为0,当编码器为1024线时参数P11的SCOD应设置为1,若SCOD设置错误则加工螺纹时螺距会不正确。注4:对于带退尾的螺纹,主轴转速、螺距,X轴加速时间,X轴的起始速度,程序中I/K的比值对螺纹的退尾长度都有影响,转速越高螺距越大,X轴加速时间越大,X轴起始速度越低,I/K比值越小螺纹的退尾长度越长,反之螺纹退尾长度就越短。相对而言I/K的比值对螺纹的退尾长度影响较大。注5:前一个程序段为螺纹切削指令,且现在程序段也是螺纹切削指令在切削开始时,不检测螺头信号(每转一个)直接开始移动。如:G33W-20P3;螺纹切削检测一转信号。G33W-30P2;螺纹切削不检测一转信号。3.1.6G50—工件坐标系设定指令格式:G50XZ;G50指令定义一个坐标系并确定刀具当前位置为坐标系中X、Z的坐标值。G50建立的坐标系称为工件坐标系,一旦建立起工件坐标系,后面指令中绝对坐标的位置都是在此坐标系中的坐标值。建立工件坐标系时一般是把工件坐标系的Z轴定义在工件旋转中心,而工件坐标系的X轴则可根据习惯将其定义在卡盘端面或工件的端面.图12G50工件坐标系设定图12a中指令:?G50X100Z80;加工时Z坐标为正值。图12b中指令:G50X10Z30;加工时Z坐标为负0值。注1:执行G50时,系统自动检查当前坐标与G50定义的坐标是否相同,若相同,则继续执行下一段程序。若不相同,则提示:回程序零点??此时若按Enter键,则先回到G50指令的程序起始点,再执行下一段程序。若按运行?键,则不执行回到程序起始点动作,而直接将当前坐标修改为G50定义的坐标值(执行新程序时)。若按其他键,则不执行任何操作,按ESC键返回按运行键之前的状态。回程序起始点的过程按G00的执行方式进行。注2:若使用G50指令编程在上电以后没有执行G50指令之前不能使用从程序中间某一段开始执行的功能,否则坐标数据可能不正确。G50只能单独一段,不能与其他指令共段,若共段,则其他指令不执行。注3:如程序第一段不用G50指令,则必须用G00对X、Z两轴绝对坐标同时进行定位。当第一个移动指令使用相对编程时系统须按绝对坐标处理。注4:如果前一个程序使用G50指令,而后一个程序不使用G50指令,则程序参考点仍然保留上一个程序定义的点。执行回参考点指令时,将仍然回到原来的位置。3.1.7G26—返回参考点指令格式:G26;G26指令使刀具回到参考点(加工起点)G26指令回参考点的方式与G00指令的执行方式相同。如图13所示:回参考点过