实例一毛坯为70㎜×70㎜×18㎜板材,六面已粗加工过,要求数控铣出如图3-23所示的槽,工件材料为45钢。
1.根据图样要求、毛坯及前道工序加工情况,确定工艺方案及加工路线)以已加工过的底面为定位基准,用通用台虎钳夹紧工件前后两侧面,台虎钳固定于铣床工作台上。 2)工步顺序 ① 铣刀先走两个圆轨迹,再用左刀具半径补偿加工50㎜×50㎜四角倒圆的正方形。 ② 每次切深为2㎜,分二次加工完。 2.选择机床设备 根据零件图样要求,选用经济型数控铣床即可达到一定的要求。故选用XKN7125型数控立式铣床。 3.选择刀具 现采用φ10㎜的平底立铣刀,定义为T01,并把该刀具的直径输入刀具参数表中。 4.确定切削用量 切削用量的具体数值应根据该机床性能、相关的手册并结合实际经验确定,详见加工程序。 5.确定工件坐标系和对刀点 在XOY平面内确定以工件中心为工件原点,Z方向以工件表面为工件原点,建立工件坐标系,如图2-23所示。 采用手动对刀方法(操作与前面介绍的数控铣床对刀方法相同)把点O作为对刀点。 6.编写程序 按该机床规定的指令代码和程序段格式,把加工零件的全部工艺过程编写成程序清单。 考虑到加工图示的槽,深为4㎜,每次切深为2㎜,分二次加工完,则为编程方便,同时减少指令条数,可采用子程序。该工件的加工程序如下(该程序用于XKN7125铣床): N0010 G00 Z2 S800 T1 M03 N0020 X15 Y0 M08 N0030 G20 N01 P1.-2 ;调一次子程序,槽深为2㎜ N0040 G20 N01 P1.-4 ;再调一次子程序,槽深为4㎜ N0050 G01 Z2 M09 N0060 G00 X0 Y0 Z150 N0070 M02 ;主程序结束 N0010 G22 N01 ;子程序开始 N0020 G01 ZP1 F80 N0030 G03 X15 Y0 I-15 J0 N0040 G01 X20 N0050 G03 X20 YO I-20 J0 N0060 G41 G01 X25 Y15 ;左刀补铣四角倒圆的正方形 N0070 G03 X15 Y25 I-10 J0 N0080 G01 X-15 N0090 G03 X-25 Y15 I0 J-10 N0100 G01 Y-15 N0110 G03 X-15 Y-25 I10 J0 N0120 G01 X15 N0130 G03 X25 Y-15 I0 J10 N0140 G01 Y0 N0150 G40 G01 X15 Y0 ;左刀补取消 N0160 G24 ;主程序结束
实例二毛坯为120㎜×60㎜×10㎜板材,5㎜深的外轮廓已粗加工过,周边留2㎜余量,要求加工出如图2-24所示的外轮廓及φ20㎜的孔。工件材料为铝。
看了上面的例子,我们对普通的指令有了了解,但是跟高级语言比较,其功能显得薄弱,为了与高级语言相匹配,特地介绍宏指令。利用宏指令能够直接进行算术运算,逻辑运算和函数的混合运算,此外,宏、程序还提供了循环语句,分支语句和子程序调用语句。 在宏语句中: 变量: #0--#49是当前局部变量 #50--#99是全局局部变量 常量: PI,TRUE(真),FALSE(假) 算术运算符: +,-, *,/ 条件运算符: EQ “=”,NE “!=”, GT “”,GE “=”,LT “”,LE “=” 逻辑运算符: AND, OR, NOT 函数: SIN[],COS[],TAN[],ATAN[],ATAN2[],ABS[],INT[],SIGN[],SQRT[], EXP[] 表达式: 用运算符连接起来的常量,宏变量构成表达式。例如:100/SQRT[2]*COS[55*PI/180] 赋值语句:宏变量=表达式。例如:#2=100/SQRT[2]*COS[55*PI/180] 条件判别语句:IF,ELSE,ENDIF 格式: IF 条件表达式 ELSE ENDIF 循环语句:WHILE,ENDW 格式: WHILE 条件表达式 ENDW 下面就以宏指令编程为例,做两个练习。实例三毛坯为150㎜×70㎜×20㎜块料,要求铣出如图2-25所示的椭球面,工件材料为蜡块。
实例四毛坯200㎜×100㎜×30㎜块料,要求铣出如图2-26所示的四棱台,工件材料为蜡块。
掌握数控编程基本方法并在此基础上有更大的提高,一定要进行大量的编程练习和实际操作,在实践中积累丰富的经验。编程前,要做大量的准备工作,如: 了解数字控制机床的性能和规格; 熟悉数控系统的功能及操作; 加强工艺、刀具和夹具知识的学习,掌握工艺编制技术,合理选择刀具、夹具及切削用量等,将工艺等知识融入程序,提高程序的质量; 养成良好的编程习惯和风格,如程序中要使用程序段号、字与字之间要有空格、多写注释语句等,使程序清晰,便于阅读和修改; 编程时尽量使用分支语句、主程序及宏功能指令,以减少主程序的长度。
2)参数地址中存储的内容,可以由编程员赋值,也可通过运算得出。通过 用数值、算术表达式或参数,对已分配计算参数或参数表达式的NC地址赋值来 增加NC程序通用性。
3)赋值时在地址符之后写入符号“=”。给坐标轴地址赋值时要求有一独 立的程序段。
加工循环是用于特定的工艺流程的工艺子程序,通过给规定的计算参数赋 值就能轻松实现各种具体的加工。
用下面的程序,可以加工一个长度为60毫米,宽度为40毫米,圆角半径8毫米,深度为17.5毫米的凹槽。使用的铣刀不能切削中心,因此要求预加工凹槽中心孔(LCYC82)。凹槽单边精加工余量为0.75毫米,深度为0.5毫米,Z轴上到参考平面的安全距离为5毫米。凹槽的中心点坐标为X60 Y40,最大进刀深度为4毫米。加工分粗加工和精加工(图6-14)。
解:1)图有四个凹槽,为了尽最大可能避免编程中的尺寸换算,可利用零点偏置功 能,在编制四个局部图形程序时,分别将工件零点偏置到O1,O2,O3,O4点。工件起始零点设在O点,建立工件坐标系如图。
例6-2:在图6-18所示块料上,用球头铣刀粗铣型腔,每次正向切深ap〈= 5mm,工件材料为LH11。请编程。
解:1)确定工艺方案及路线:采用刀具半径补偿功能在XOZ平面内插补运动,用循环程序或子程序,在Z向深度逐层增加。每层次刀具起点为A1、A2、A3、 A4、A5,刀心轨迹为“1-2-3-4-5-6-2…”,将“1-…2”作为一循环单元。图6-19为二维刀心轨迹。
2)刀具及切削用量选择:T01球头铣刀(直径16mm),主轴转速1500
用户宏功能是多数数控系统所具备的辅助功能,合理地使用好该功能能使加工程序得到大大简化。用户宏功能有A类和B类两种,用A类宏功能编译的加工程序,程序主体最简单,但需记忆较多的宏指令,程序的可读性差,而用B类宏功能编译的程序,则具有较好的可读性,且只需记忆较少的指令代码。本例就使用B类宏功能编程,并通过详细的数学分析来说明用宏指令编程如何构建合理的数学模型。
一、应用实例 如图1所示的零件为一盘片零件的铸造模具,现要求在加工中心上加工15条等分槽(图中仅标注编程所需尺寸)。 图1示例零件图该零件决定在带有FANUC 15M数控系统的3000V上加工。该加工中心为3MX1.1M工作台的龙门加工中心。槽锥度14°及槽底圆弧由球头成形铣刀加工保证,不考虑刀具半径补偿(加工坐标如图中所示)。本例只编制最终精加工程序,之前的粗加工则能够最终靠该程序在Z方向上的抬刀来实现。 经过对FANUC15M数控系统功能的分析发现,加工R380圆弧时,由于R380不在某一基准平面,即无法用G17、G18或G19指定加工平面,因此R380圆弧不能直接用G02或G03指令加工,只能将该圆弧分解为若干段直线段分别计算各端点坐标,再指令刀具按X、Y、Z方向进行直线加工,用直线逼近圆弧的方法最终形成R380圆弧。 首先计算出第一条槽各交点座标,并用极座标表示,圆周上各条槽对应点的极半径及Z深度均一致,仅角度有变化。图1中各点位置如下: a点极半径105,Z坐标-50;b点极半径282.417,Z坐标-34.478;c点极半径382,Z坐标-12;R380圆弧的圆心角为15.44°。 在加工时需将极坐标转换为直角坐标,转换时只要将各点极半径分别按偏移角度(程序中参数#2)投影至X、Y轴即可。 在加工R380时应将该圆弧分解成若干直线方式来近似加工圆弧结合实际加工要求,圆弧每隔0.5°圆心角确定一点,计算出各点坐标然后以G01连接各点即可加工出R380圆弧(实际加工后圆弧符合图纸要求),如图2所示。 图2 实际加工尺寸图2中,b点为R380与直线切点,其极半径已求出;#9为圆弧上待求点圆心角变量。由图可先求得:d点极半径=282.417-380sin5°=249.298,高度Z=-34.478-(380/cos5°-380cos5°)=-37.376,则e点极半径=249.298+380sin(5°+#9),高度Z=-37.376+(380/cos5°-380cos(5°+#9)) 同样求出的各点极坐标也需转换成直角坐标才能加工。求出第一点位置后,再使圆心角#9增加0.5°计算下一点位置。R380圆弧加工结束后,再转入下一条槽的加工。本程序需使用二重循环,在每一条槽中先用循环计算并加出圆弧,然后跳出该循环继续加工下一条槽。 本例中循环采用 WHILE[条件表达式]DOm . . ENDm 当条件被满足时,DOm至ENDm间的程序段被执行,当条件不被满足时,则执行ENDm之后的程序。 由以上分析,可画出该宏程序的结构流程图,如图3所示。 图3 程序的结构流程图根据程序流程图可编写出零件的加工程序如下: T1 M06 G0G90G54X0Y0 G43H01Z100.0M03S400 #1=15; #2=360/#1; WHILE [#2LE360]Do1; #3=80.0*COS[#2]; #4=80.0*SIN[#2]; #5=105.0*COS[#2]; #6=105.0*SIN[#2]; #7=282.417* COS[#2]; #8=282.417*SIN[#2]; G0X#3Y#4; G1Z-50.0F500; X#5Y#6F100; X#7Y#8Z-34.478; #9=0.5; WHILE [#9LT16]Do2; #10=380.0*SIN[5+#9]; #11=380.0*COS[5+#9]; #12=(249.298+#10)* COS[#2]; #13=(249.298+#10)* SIN[#2]; #14=-37.376+(380/COS5-#11); G1X#12Y#13Z#14; #9=#9+0.5; END2; G0Z50.0; #2=#2+360/#1; END1; G91G28Z0M05; G91G28X0Y0; M30; 注:程序中X#3,Y#4点为落刀点位置。 二、结束语 在本例的编程过程中数学计算较繁琐,相比较而言,若使用坐标系旋转的方法编程则可省去R380圆弧的相关计算,使程序更为简洁,但坐标系旋转功能在不同的数控系统中其相应的功能指令不完全一样,因此需针对具体数控系统编写相应的加工程序,而通过本例主要是为了阐述数控宏功能在实际应用时所需遵循的编程原则与思路。另外对程序的分析还显而易见:若零件中均布槽由15条改为18条(或任意条数n),则只需将程序中参数变量#1改为18(或n)即可,而不需再对程序作其它任何改动,这一点相对于一些自动编程软件(如MasterCAM等)则要灵活得多。