提出问题如何采用手工编程完成下图所示的椭圆手柄的数控车削加工?分析问题前面学过的各种数控编程指令,其功能都是固定的,使用者只需按规定编程即可。但有时这些指令满足不了用户的要求,如加工椭圆、双曲线等,这时就需要使用用户宏程序功能,用户可以自己扩展数控系统的功能。解决问题用宏程序指令编程来加工如图所示工件。请进入第12章利用宏指令编程及加工知识、技能目标相关知识简介宏程序的调用和编写格式变量算术运算指令控制指令操作实训小结知识、技能目标知识目标了解宏程序应用范围。掌握宏指令编程技巧。技能目标通过对带椭圆、抛物线等二次曲线的零件实训加工,掌握用数控车床加工该类零件的主要步骤和合理的工艺路径,扩展数控车床的应用范围。能对工件加工质量进行正确分析处理。相关知识简介用户宏程序与子程序的相同之处用户宏程序是提高数控车床性能的一种特殊功能,使用中,通常把能完成某一功能的一系列指令像子程序一样存入存储器,然后用一个总指令代表它们,使用时只需给出这个总指令就能执行其功能。子程序是将零件中常会出现几何形状完全相同的加工轨迹,编制成有固定顺序和重复模式的程序段,通常在几个程序中都会使用它。用户宏程序的调用和子程序完全一样。不同之处用户宏程序的最大特点是:可以对变量进行运算,使程序应用更加灵活、方便。虽然子程序对编制相同加工操作的程序非常有用;用户宏程序由于允许使用变量算术和逻辑运算及条件转移,使得编制相同加工操作的程序更方便、更容易,可将相同加工操作编为通用程序。宏程序的调用和编写格式宏程序简单的调用格式指令格式:G65P(宏程序号)L(重复次数)(变量分配)式中:G65:宏程序调用指令;P(宏程序号):被调用的宏程序代号;L(重复次数):宏程序重复运行的次数,重复次数为1时,可省略不写;(变量分配):宏程序中使用的变量赋值。宏程序与子程序相同的一点是,一个宏程序可被另一个宏程序调用,最多可调用4重。宏程序的编写格式宏程序的编写格式与子程序相同。O~(0001~8999为宏程序号)N10指令……N~M99说明:程序内容,除通常的编程指令外,还可使用变量、算术运算指令及其他控制指令。变量变量的分配类型表12-1文字变量与数字序号变量的关系文字变量为除G、L、N、O、P以外的英文字母,一般可不按字母顺序排列,但I、J、K需要按字母顺序指定;#1~#26为数字序号变量。例如,G65P1000A1.0B2.0I3.0上述程序段为宏程序的简单调用格式,其含义为:调用宏程序号为1000的宏程序运行一次,并为宏程序中的变量赋值,其中:#1为1.0,#2为2.0,#4为3.0。变量的级别本级变量:#1~#33,作用于宏程序某一级中的变量通用变量#100~#144,#500~#531,可在各级宏程序中被共同使用算术运算指令变量之间进行运算的通常表达形式是:#i=(表达式)(1)变量的定义和替换#i=#j(2)加减运算#i=#j+#k加#i=#j#k减(3)乘除运算#i=#j×#k乘#i=#j÷#k除(4)函数运算#i=SIN[#j]正弦函数(单位为度)#i=COS[#j]余函数(单位为度)#i=TANN[#j]正切函数(单位为度)#i=ATAN[#j/#k]反正切函数(单位为度)#i=SQRT[#j]平方根#i=ABS[#j]取绝对值(5)运算的组合。以上算术运算和函数运算可以结合在一起使用,运算的先后顺序是:函数运算、乘除运算、加减运算。(6)括号的应用。表达式中括号的运算将优先进行。连同函数中使用的括号在内,括号在表达式中最多可用5层。控制指令条件转移程序格式:IF[条件表达式]GOTOn详细说明循环语句(WhileDO-END语句)程序格式:WHILE[条件表达式]DOm(m=1,2,3)……ENDm详细说明1)如果条件表达式的条件得以满足,则转而执行程序中程序号为n的相应操作,程序段号n可以由变量或表达式替代;2)如果表达式中条件未满足,则顺序执行下一段程序;3)如果程序作无条件转移,则条件部分可以被省略。4)表达式可按如下书写:#jEQ#k表示=#jNE#k表示≠#jGT#k表示#jLT#k表示#jGE#k表示≥#jLE#k表示≤IF语句说明WHILE语句说明1、条件表达式不满足时,程序转到ENDm后处执行;2、如果WHILE[条件表达式]部分被省略,则程序段DOm至ENDm之间的语句将一直重复执行。注意:条件表达式满足时,程序段DOm至ENDm即重复执行;1)WHILEDOm和ENDm必须成对使用;2)DO语句允许有3层嵌套,即:DO1DO2DO3END3END2END13)DO语句范围不允许交叉,即如下语句是错误的:DO1DO2END1END23、示例示例例:用宏程序编制如图所示抛物线Z=X2/8在区间[0,16]内的程序。%8002#10=0;X坐标#11=0;Z坐标N10G92X0.0Z0.0;M03S600;WHILE[#10LE16]DO1;G90G01X[#10]Z[#11]F100;#10=#10+0.08;#11=#10*#10/8;END1;G00Z0M05;G00X0;M30;椭圆编程与加工实例解决过程【案例】加工如图12-3所示的零件。工艺条件:工件材质为45#钢或铝;毛坯为直径30mm,长100mm的棒料。解决过程零件图工艺分析数值计算工件参考程序与加工操作过程安全操作和注意事项零件图工艺分析(1)技术要求分析。如图12-3所示,零件由圆柱面、椭圆面构成。零件材料为45#钢棒或铝棒。(2)确定装夹方案、定位基准、加工起点、换刀点。毛坯为棒料,用三爪自定心卡盘夹紧定位。工件零点设在工件右端,加工起点和换刀点可以设为同一点,在工件的右前方距工件右端面100mm,X向距轴心线50mm的位置。(3)制定加工工艺路线,确定刀具及切削用量。加工刀具的确定如表12-2所示,加工方案的制定如表12-3所示表12-2案例12.1刀具卡实训课题刀具补偿编程及加工零件名称综合件零件图号12-3序号刀具号刀具名称及规格刀尖半径数量加工表面备注1T010135°右偏粗、精车外圆刀0.4mm1外圆、椭圆面2T0202切断刀刀宽3.2mm1椭圆面、沟槽表12-3案例12.1工序和操作清单材料45#或Al零件图号12-3系统FANUC工序号093切削用量操作序号工步内容(走刀路线)G功能T刀具转速Sr/min进给速度Fmm/min切削深度mm主程序1夹住棒料一头,留出长度大约75mm(手动操作),车端面,对刀,找G50,调用主程序1加工(1)粗车工件外圆柱面等G90T01017001301.5(2)粗车椭圆右端宏程序T01017001301.0(3)粗车外沟槽G01T010112001300.3(4)粗车椭圆左端宏程序T01011200600.3(5)精车工件外轮廓宏程序T0303600(6)车外沟槽G01T040450020(7)切断G70G01T0404500200.2(8)检测、校核数值计算(1)设定程序原点,以工件右端面与轴线的交点为程序原点建立工件坐标系。(2)计算各节点位置坐标值。C点(X14,Z37.321),其余略。工件参考程序与加工操作过程(1)工件的参考程序如表12-4所示。(2)输入程序。(3)数控编程模拟软件对加工刀具轨迹仿真,或数控系统图形仿真加工,进行程序校核及修整。(4)安装刀具,对刀操作,建立工件坐标系。(5)启动程序,自动加工。(6)停车后,按图纸要求检测工件,对工件进行误差与质量分析。安全操作和注意事项(1)对刀时,切槽刀左刀尖作为编程的刀位点。(2)设定宏程序加工起点时要注意变量的选取方向。(3)为保证椭圆左右两部分无接合痕迹,精加工时利用外圆刀对整个外形轮廓采取连续车削。续表表12-4程序卡(供参考)编程原点工件右端面与轴线交点编写日期零件名称椭圆手柄零件图号12-3材料45#或Al数控车床程序卡车床型号CAK6150DJ夹具名称三爪卡盘实训车间数控中心程序号O6001编程系统FANUC0-TD序号程序简要说明N010G50X100Z50建立工件坐标系、换刀点N020S800M3主轴正转N030T0101选择1号外圆刀N040G0X30Z2N050G95G90X28.5Z70F0.18利用外圆切削循环精加工外圆N060#1=28定义变量#1为X,X是直径值N070#2=0定义变量#2为Z方向N080WHILE[#1GE0]DO1宏程序粗加工椭圆右端N090G0X[#1]N100G95G1Z[[#220]F0.18N110G0U1N120G0Z2N130#1=#12N140#2=20/28*SQRT[28*28#1*#1]N150END1椭圆右端粗加工结束N160G0X100Z50M5返回换刀点N170T0202(切断刀刀宽3.2,左刀尖)换切断刀N180M3S400N190G0X32Z45定位到沟槽左侧N200G94X14Z45F0.10利用端面切削循环加工沟槽续表续表1编程原点工件右端面与轴线交点编写日期零件名称椭圆手柄零件图号12-3材料45#或Al数控车床程序卡车床型号CAK6150DJ夹具名称三爪卡盘实训车间数控中心程序号O6001编程系统FANUC0-TD序号程序简要说明N210X14Z42N220X14Z40.521N230G0X32Z40.521定位在椭圆左端外面N240#1=14定义变量XN250#2=17.321定义变量ZN260WHILE[#2LE0]DO1宏程序粗加工椭圆左端N270G0Z[[#2]20]N280G1X[#1]N290G0W1N300G0X32N310#2=#2+3N320#1=28/20*SQRT[20*20#2*#2]N330END1N340G0X100Z50M5返回换刀点,停主轴N350T0101(35°尖刀)换1号刀N360M3S1000N370G0X0Z3N380G1X0Z0G41刀具左补偿N390#1=0定义变量XN400#2=20定义变量Z续表2编程原点工件右端面与轴线交点编写日期零件名称椭圆手柄零件图号12-3材料45#或Al数控车床程序卡车床型号CAK6150DJ夹具名称三爪卡盘实训车间数控中心程序号O6001编程系统FANUC0-TD序号程序简要说明N410WHILE[#2GE17.321]DO2以下为精车工件外形轮廓N420G95G1X[#1]Z[#220]F0.18精车椭圆N430#2=#20.1N440#1=28/20*SQRT[20*20#2*#2]N450END2N460G1X14Z37.321F0.18精车沟槽N470X14Z45N480X28C1精车平面、倒角N490Z70G40精车结束,取消刀补N500G00X100刀具返回换刀点N510Z50M05N520M00N530M3S300T0202换切断刀N540G0X32Z68.2N550G94X20Z68.2F0.1切槽N560X26Z68.2I3倒角N570X0.2Z68.2切断工件N580G00X100刀具返回换刀点N570Z50M5停主轴N580M30程序结束小结宏程序指令适合抛物线、椭圆、双曲线等没有插补指令的曲线的编程;适合图形一样、尺寸不同的系列零件的编程;适合工艺路径一样,只是位置数据不同的系列零件的编程。运用宏指令可大大简化程序;扩展数控车床手工编程应用范围。利用宏程序编程时,变量的选取非常重要,宏程序加工起点的位置与变量方向和数值紧密相关。考虑到刀尖圆弧半径对椭圆形状造成的误差,精加工时引入刀尖圆弧半径补偿编程。