(二)第2章数控编程基础知识2.1数控程序编制的概念2.1.1数控编程的定义数控程序编制简称:数控编程英文:NCProgramming定义:指编制数控加工程序的过程,即从分析零件图样到获得数控机床所需控制介质的全过程。2.1.2数控编程的步骤(1)分析零件图样和制定工艺方案这项工作的内容包括:对零件图样进行分析,明确加工的内容和要求;确定加工方案;选择适合的数控机床;选择或设计刀具和夹具;确定合理的走刀路线及选择合理的切削用量等。(2)数学处理在确定了工艺方案后,就需要根据零件的几何尺寸、加工路线等,计算刀具中心运动轨迹,以获得刀位数据。(3)编写零件加工程序在完成上述工艺处理及数值计算工作后,即可编写零件加工程序。程序编制人员使用数控系统的程序指令,按照规定的程序格式,逐段编写加工程序。程序编制人员应对数控机床的功能、程序指令及代码十分熟悉,才能编写出正确的加工程序。数控编程员(CNC编程)(4)程序检验将编写好的加工程序输入数控系统,就可控制数控机床的加工工作。一般在正式加工之前,要对程序进行检验。通常可采用机床空运转的方式,来检查机床动作和运动轨迹的正确性,以检验程序。在具有图形模拟显示功能的数控机床上,可通过显示走刀轨迹或模拟刀具对工件的切削过程,对程序进行检查。对于形状复杂和要求高的零件,也可采用铝件、塑料或石蜡等易切材料进行试切来检验程序。通过检查试件,不仅可确认程序是否正确,还可知道加工精度是否符合要求。若能采用与被加工零件材料相同的材料进行试切,则更能反映实际加工效果,当发现加工的零件不符合加工技术要求时,可修改程序或采取尺寸补偿等措施。1.手工编程(ManualProgramming)手工编程主要由人工来完成数控机床程序编制各个阶段的工作。一般被加工零件形状不复杂和程序较短时,可以采用手工编程的方法。零件图样工艺人员夹具表机床表刀具表工艺规程编程人员加工程序初稿加工程序修改编程手册2.1.3数控编程的方法2.自动编程(AutomatedProgramming)自动编程是指在编程过程中,除了分析零件图样和制定工艺方案由人工进行外,其余工作均由计算机辅助完成。采用计算机自动编程时,数学处理、编写程序、检验程序等工作是由计算机自动完成的,由于计算机可自动绘制出刀具中心运动轨迹,使编程人员可及时检查程序是否正确,需要时可及时修改,以获得正确的程序。又由于计算机自动编程代替程序编制人员完成了繁琐的数值计算,可提高编程效率几十倍乃至上百倍,因此解决了手工编程无法解决的许多复杂零件的编程难题。主要用于解决具有非圆曲线之类的复杂零件、具有多孔或多段圆弧的大程序量零件、不具备刀具半径补偿功能的轮廓铣削零件等情况。2.2数控机床坐标系2.2.1坐标系及运动方向1.机床坐标轴(CoordinateAxes)的命名右手直角笛卡尔坐标系2.机床坐标轴的确定方法确定机床坐标轴时,一般是先确定Z轴,再确定X轴和Y轴。(1)Z轴一般是选取产生切削力的轴线作为Z轴(ZAxis),同时规定刀具远离工件的方向作为Z轴的正方向。(2)X轴X轴(XAxis)一般是水平的,它与工件安装面相平行。(3)Y轴Y轴(YAxis)方向可根据已选定的Z、X轴,按右手直角笛卡尔坐标系来确定。(4)旋转坐标A、B、C当选定机床的X、Y、Z坐标轴后,根据右手螺旋定则来确定A、B、C三个转动的正方向。(5)附加坐标举例说明:下图所示为数控车床的坐标轴。根据数控立式铣床结构图,试确定X、Y、Z直线坐标轴。为了编程和加工的方便,有时还要设置附加坐标系。对于直线运动,通常建立的附加坐标系有:①指定平行于X、Y、Z的坐标轴可以采用的附加坐标系:第二组U、V、W坐标,第三组P、Q、R坐标。②指定不平行于X、Y、Z的坐标轴也可以采用的附加坐标系:第二组U、V、W坐标,第三组P、Q、R坐标。③如果在第一组A、B、C作回转运动的同时,还有平行或不平行于A、B、C回转轴的第二组回转运动,可命名为D、E、F。举例说明:2.2.2机床坐标系与工件坐标系1.机床坐标系机床坐标系(MachineCoordinateSystem)是机床上固有的坐标系,并设有固定的坐标原点,就是机床原点,又称机床零点,即X=0,Y=0,Z=0的点。机床原点是指在机床上设置的一个固定点,即机床坐标系的原点。它在机床装配、调试时就已确定下来,是数控机床进行加工运动的基准参考点。①数控车床的原点在数控车床上,机床原点一般取在卡盘端面与主轴中心线的交点处,见下图。同时,通过设置参数的方法,也可将机床原点设定在X、Z坐标的正方向极限位置上。②数控铣床的原点在数控铣床上,机床原点一般取在X、Y、Z坐标的正方向极限位置上。机床参考点是用于对机床运动进行检测和控制的固定位置点。机床参考点的位置是由机床制造厂家在每个进给轴上用限位开关精确调整好的,坐标值已输入数控系统中。因此参考点对机床原点的坐标是一个已知数。通常在数控铣床上机床原点和机床参考点是重合的;而在数控车床上机床参考点是离机床原点最远的极限点。右图所示为数控车床的参考点与机床原点。数控机床开机时,必须先确定机床原点,而确定机床原点的运动就是刀架返回参考点的操作,这样通过确认参考点,就确定了机床原点。只有机床参考点被确认后,刀具(或工作台)移动才有基准。2.工件坐标系工件坐标系是指以确定的加工原点为基准所建立的坐标系。工件原点也称为程序原点,是指零件被装夹好后,相应的工件原点在机床坐标系中的位置。编程坐标系是编程人员根据零件图样及加工工艺等建立的坐标系。编程坐标系一般供编程使用,确定编程坐标系时不必考虑工件毛坯在机床上的实际装夹位置。编程原点是根据加工零件图样及加工工艺要求选定的编程坐标系的原点。编程原点应尽量选择在零件的设计基准或工艺基准上,编程坐标系中各轴的方向应该与所使用的数控机床相应的坐标轴方向一致。对于简单零件,工件原点一般就是编程原点,这时的编程坐标系就是工件坐标系。而对于形状复杂的零件,需要编制几个程序或子程序。为了编程方便和减少坐标值的计算,编程原点就不一定设在工件原点上,而设在便于程序编制的位置。2.3字符与代码2.3.1字符字符是用来组织、控制或表示数据的一些符号(Symbol),如数字,字母、标点符号、数学运算符等。字符是机器能进行存储或传送的记号,也是组成加工程序的最小组成单位。常规加工程序用的字符分四类:第一类是文字,它由大写的26个英文字母组成。第二类是数字和小数点,它由0~9共10个数字及—个小数点组成。第三类是符号,它由正号(+)和负号(-)组成。第四类是功能字符,它由程序开始(结束)符、程序段结束符、跳过任选程序段符、机床控制暂停符、机床控制恢复符等组成。2.3.2代码在数控装置中,加工程序的内容总是以代码(Code)形式输入。功能较强的数控装置,输入方式可以是多样的,既能用穿孔纸带、磁带、磁盘或手动输入,又能与外围计算机互相通讯。穿孔纸带是在纸带上用穿孔的方式记录被加工零件的加工程序指令,它是人与机床之间的媒介,具有机械的固定代码孔,不易受环境(如磁场)的影响,便于长期保存和使用,且程序的存储量大。国际上通用的标准代码有两种,即ISO和EIA(a)所示为ISO代码,ISO的特点是每一行的孔数必须是偶数,数字码必须在第五列和第六列穿孔,字母码在第七列穿孔,各类符号码在第六列穿孔。若某行孔数为奇数,则第八列孔补偶,以保证每行孔均为偶数。(b)所示为EIA代码,EIA代码的特点是只有字符CR使用第八列,其余字符均不使用第八列,它的每一行孔都必须是奇数,第五列孔为补奇孔。2.4常用编程指令2.4.1准备功能指令准备功能(TraverseFunctions)指令,又称G功能或G指令,它是建立数控机床某种加工方式的指令。G指令大多数由地址符G和后续的两位数字组成,从G00~G99有100种。G指令通常可以分为模态指令和非模态指令两种,模态指令(ActingModally)又称续效指令,一旦被定义后,该指令一直有效,只有当同组的其它指令出现后该指令才失效,而非模态指令是指只在本程序段有效的指令。1.坐标系有关指令(1)工件坐标系设定指令(G92)功能:将加工原点设定在相对于刀具起始点的某一空间点上。指令格式:G92X__Y__Z__;如图所示加工中心坐标系,若将加工原点设定在O点,则程序如下:G92X45Y20Z10其确立的加工原点在距离刀具起始点X=-45,Y=-20,Z=-10的位置上,即O点。(2)零点偏置指令(G54~G59)G54~G59可设定的零点偏置给出工件零点在机床坐标系中的位置图示是工件零点偏置示例。假设编程人员使用G54设定工件坐标系编程,并要求刀具运动到工件坐标系中A(X100,Y50,Z300)点处的位置。程序可以写成:G54G00X100Y50Z300(3)坐标平面选择指令坐标平面选择指令是用来选择直线、圆弧插补的平面和刀具补偿平面的。G17表示选择XY平面G18表示选择ZX平面G19表示选择YZ平面各坐标平面如右图所示。一般,数控车床默认在ZX平面内加工,数控铣床默认在XY平面内加工。坐标平面选择2.快速点定位指令(G00)快速点定位指令控制刀具以点位控制的方式快速移动到目标位置,其移动速度由参数来设定。指令执行开始后,刀具沿着各个坐标方向同时按参数设定的速度移动,最后减速到达终点。编程格式:G00X~Y~Z~注意:在各坐标方向上有可能不是同时到达终点。刀具移动轨迹是几条线段的组合,不是一条直线。例如,在FANUC系统中,运动总是先沿45°角的直线移动,最后再在某一轴单向移动至目标点位置,如下图所示。编程人员应了解所使用的数控系统的刀具移动轨迹情况,以避免加工中可能出现的碰撞。例:从A点到B点快速移动的程序段为:G90G00X20Y303.直线插补指令(G01)直线插补指令用于产生按指定进给速度F实现的空间直线运动。程序格式:G01X_Y_Z_F_其中:X、Y、Z的值是直线插补的终点坐标值。例:实现右图中从A点到B点的直线插补运动,其程序段为:绝对方式编程:G90G01X10Y10F100增量方式编程:G91G01X-10Y-20F1004.圆弧插补指令(G02、G03)G02为按指定进给速度的顺时针圆弧插补。G03为按指定进给速度的逆时针圆弧插补。指令格式:G17G02/G03X__Y__R__(或I__J__)F__;(XY平面圆弧)G18G02/G03X__Z__R__(或I__K__)F__;(XZ平面圆弧)G19G02/G03Y__Z__R__(或J__K__)F__;(YZ平面圆弧)其中:X、Y、Z的值是指圆弧插补的终点坐标值;I、J、K是指圆弧起点到圆心的增量坐标,与G90,G91无关;R为指定圆弧半径,当圆弧的圆心角≤180o时,R值为正,当圆弧的圆心角>1800时,R值为负。例:在下图中,当圆弧A的起点为P1,终点为P2,圆弧插补程序段为:G02X321.65Y280I40J140F50或:G02X321.65Y280R-145.6F50当圆弧A的起点为P2,终点为P1时,圆弧插补程序段为:G03X160Y60I-121.65J-80F50或:G03X160Y60R-145.6F50如果R为145.6,结果如何?5.暂停(延迟)指令(G04)G04指令可以使刀具暂时停止进给(但主轴仍然在转动),经过指令的暂停时间后再继续执行下一程序段。此指令常用于车削环槽、钻孔、锪平底孔等对表面粗糙度有要求的场合。指令格式:G04X(或P)__;式中,X或P后面的暂停时间单位为s或ms,也可以是刀具或工件的转数,具体参见数控系统的规定。6.刀具补偿功能指令刀具半径补偿:在零件轮廓铣削加工时,由于刀具半径尺寸影响,刀具的中心轨迹与零件轮廓往往不一致。为了避免计算刀具中心轨迹,直接按零件图样上的轮廓尺寸编程,数控系统提供了刀具半径补偿功能,见下图。刀具半径补偿编程指令:G41为左偏刀具半径补偿,定义为假设工件不动,沿刀具运动方向向前看,刀具在零件左侧的刀具半径