资源描述
,单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,数控车宏程序编程方法及技巧,数控车宏程序编程方法及技巧,1,在数控车床编程中,宏程序编程灵活、高效、快捷。宏程序不仅可以实现象子程序那样,对编制相同加工操作的程序非常有用,还可以完成子程序无法实现的特殊功能,例如:系列零件加工宏程序、椭圆加工宏程序、抛物线加工宏程序、双曲线加工宏程序等。,在数控车床编程中,宏程序编程灵活、高效,2,主要内容,数控车床宏程序编程特征,宏程序中的变量,宏程序变量间的运算指令,宏程序的控制语句,数控车床宏程序编程技巧编程实例,宏程序用于系列零件的加工,椭圆类零件的宏程序编制,抛物线类零件的宏程序编制,双曲线过渡类零件的宏程序编制,主要内容数控车床宏程序编程特征,3,变量的类型和功能,(FANUC,系统为例,),变量号,变量类型,功能,#0,空,该变量值总为空,#1,#33,局部变量,只能在一个宏程序中使用,#100,#149,(,#199,),#500,#531,(,#999,),公共变量,在各宏程序中可以公用的,#1000,系统变量,固定用途的变量,一、数控车床宏程序编程特征,变量的类型和功能(FANUC系统为例)变量号变量类型功能#0,4,1,宏程序中的变量,变量及变量的引用,(,1,)、变量的表示,#i,#,表达式,(,2,)、变量的引用,#1,-#1,(变量号,i=0,1,2,3,4,)例:,#8,、,#110,、,#1100,表达式必须用括号括起来 例:,#1,#2,12,例:,F#10,当,#10=20,时,,F20,被指令。,X-#20,当,#20=100.,时,,X-100.,被指令。,G#130,当,#130=2,时,,G2,被指令,。,1 宏程序中的变量变量及变量的引用(变量号i=0,1,5,数学运算功能,加法:,#i=#j,+,#k,减法:,#i=#j-#k,乘法:,#i=#j*#k,除法:,#i=#j,/,#k,运算的优先顺序:,函数;,乘除、逻辑与;,加减、逻辑或、逻辑异或。,可以用,来改变顺序。,2.,宏程序变量间的运算,数学运算功能运算的优先顺序:2.宏程序变量间的运算,6,函数运算功能,正弦,#i=SIN#j,单位:度,余弦,#i=COS#j,单位:度,正切,#i=TAN#j,单位:度,反正切,#i=ATAN#j,/,#k,单位:度,平方根,#i=SQRT#j,绝对值,#i=ABS#j,取整,#i=ROUND#j,函数运算功能正弦#i=SIN#j,7,逻辑判断功能,等于:,EQ,格式:,#j EQ#k,不等于:,NE,格式:,#j NE#k,大于:,GT,格式:,#j GT#k,小于:,LT,格式:,#j LT#k,大于等于:,GE,格式:,#j GE#k,小于等于:,LE,格式:,#j LE#k,逻辑判断功能,8,3.,宏程序的控制语句,(1),、无条件转移(,GOTO,语句),格式:,GOTO n,;,式中:,n,顺序号(,1,9999,),可用变量表示。,举例:,GOTO 1,;,GOTO#10,;,3.宏程序的控制语句(1)、无条件转移(GOTO语句),9,条件转移语句,I F ,条件表达式,GOTO n,当条件满足时,程序就跳转到同一程序中语句标号为的语句上继续执行,当条件不满足时,程序执行下一条语句,(2).,条件转移,条件转移语句I F 条件表达式 GOTO,10,条件转移语句,WHILE ,条件表达式,DO m,.,END m,当条件满足时,从,DO m,到,END,之间的程序就重复执行。,当条件不满足时,程序就执行,END,下一条语句,条件转移语句WHILE 条件表达式 DO,11,循环嵌套:,DOEND,循环嵌套:,WHILE,条件式,1 DO 1,;,WHILE,条件式,2 DO 2,;,WHILE,条件式,3 DO 3,;,END 3,;,END 2,END 1,;,循环嵌套:DOEND循环嵌套:,12,二、数控车床宏程序编程技巧编程实例,1.,宏程序用于系列零件的加工,二、数控车床宏程序编程技巧编程实例1.宏程序用于系列零件的加,13,宏程序用于系列零件的加工,此系列零件形状,相同,但是部分尺寸不同,如果将这些不同的尺寸,用宏变量表示,由程序自动将相关基点坐标进行计,算则可用同一个程序完成一个系列零件的加工。,以上图为例。该系列零件的右端面半球球径可取,R10,与,R15,,可将球径用变量表示,编程原点设在工,件右端面中心,毛坯直径,45.,从图中可以看出编程所,需基点,A D,三点外,,点均与球径相关,,下面给出各基点坐标:,宏程序用于系列零件的加工,此系列零件形状,14,X,Z,A,0,0,B,2R,-R,C,2R,-60-2*40-2R,D,40,-60,E,40,-90,程序如下:,O0034,T0101;,M03 S800;,G98;,G00 X42 Z0;,G71 U2 R1;,G71 P10 Q20 U0.5 W0 F150;,N10 G01 X0;,#1=10;,G03 X2*#1 Z-#1 R#1;,G01 Z-60-80-4*#1;,G01 X40 Z-60;,N20 G01 Z-90;,G00 X100;,Z100;,M05;,M30;,XZA00B2R-RC2R-60-2*40-2RD40,15,2.,椭圆类零件的宏程序编制,椭圆的标准方程:,2.椭圆类零件的宏程序编制椭圆的标准方程:,16,椭圆的参数方程,:,其中,为椭圆的离心角,,为椭圆的旋转角,两者不为一个值,关系为,椭圆的参数方程:其中为椭圆的离心角,为椭圆的旋转角两者不为,17,椭圆宏程序结构流程:,1.,开始,2.,给常量赋值,3.,给变量赋值,4.,计算坐标值,5.,指令机床沿曲线移动,X,,,Z,坐标,6.,变量递增或递减,7.,判断是否到达终点,8.,到终点结束,未到终点返回,4.,计算坐标值,椭圆宏程序结构流程:1.开始2.给常量赋值3.给变量赋值4.,18,椭圆加工:,零件材料,45,钢,毛坯为,50mm100mm,,按图要求完成数控加工程序。,椭圆加工:零件材料45钢,毛坯为50mm100mm,按图,19,O0001,;,T0101;,M03 S800,;,G0 X51.Z2.,;,G71 U1.5 R1.,;,(粗车右端外形轮廓),G71 P10 Q20 U0.5 W0.1 F150,;,N10 G1 X25.966,;,(椭圆处外径),Z0.,;,Z-19.,;,X35.988 Z-29.;,Z-46,;,X44.,;,X45.992 Z-47.,;,N20 Z-55.,;,G70 P10 Q20 S1000 F120,;,(精车右端外形轮廓),G00 X100.,;,Z50.,;,【,解答,】,O0001;【解答】,20,S800 F150,;,#150=26.,;,(定义椭圆加工余量),N30 IF#150 LT 1 GOTO 40,;,(如果余量小于,1,,跳到,40,句),M98 P0003,;,(调用椭圆加工宏程序),#150=#150-2,;,(每次递减,2mm,),GOTO 30,;,(无条件跳转到,30,句),N40 G0 X30.Z2.,;,S1500 F80,;,#150=0,;,(开始精加工椭圆轮廓),M98 P0003,;,G0 X100.Z5.,;,M30,;,S800 F150;,21,O0003,;,(椭圆加工子程序),#101=20.,;,(椭圆长半轴),#102=13.,;,(椭圆短半轴),#103=20.,;,(起点处,Z,坐标),N20 IF#103 LT 1 GOTO 50,;,(如果,Z,值小于,1,跳转到,50,句),#104=SQRT#101*#101-#103*#103,;,(构造 ),#105=#102*#104/#101,;,(构造 ),G01 X2*#105+#150 Z#103 20,;,(直径值定义加上加工余量,,Z,向偏移椭圆长半轴),#103=#103 0.5,;,(,Z,坐标递减,0.5mm,),GOTO 20,;,(绝对跳转到,20,句),N50 G00 U2.Z2.,;,(退刀),M99,;,O0003;(椭圆加工子程序),22,椭圆轮廓编程技巧,椭圆轮廓编程技巧,23,O0027,;,T0101;,G98,;,M43;,M03 S800,;,G0 X80.Z5.,;,G73 U25 R25,;,(,调用粗车循环加工椭圆轮廓,),G73 P10 Q20 U0.5 W0 F150,;,N10 G1 X30 Z0,;,(,轮廓起点),Z-8.79,;,#100=-8.79;,(椭圆起点,Z,坐标),N15#102=#100+44*#100+44,;,#103=SQRT36*36-#102;,(构造 ),#104=10+2/3*#103;,(构造,X,向半径偏移,10mm,),#105=2*#104;,O0027;,24,G01 X#105 Z#100;,#100=#100-2;,(,Z,向递减,2mm,),IF#100GT-72.102 GOTO 15,(如果,Z,坐标值大于,-72.102,跳转到,15,句),G00 U30;,N20 X70;,G00 X80 Z5;,G70 P10 Q20 F100;,(精加工椭圆轮廓),G00 X100;,Z100;,M05;,M30;,MOV007.MOD,G01 X#105 Z#100;MOV007.MOD,25,参数方程编写椭圆宏程序:,参数方程编写椭圆宏程序:,26,O0271;,T0101;,M03 S800;,G0 X36 Z26;,#20=26;,(,X,向总加工余量),N56 G0 U2;,Z26;,(,Z,向加工起点),N100#20=#20-2;,(,X,向递减,2mm,),#1=12.5;,(椭圆短半轴),#2=25;,(椭圆长半轴),#3=0.5;,(起始处椭圆离心角),#5=90;,(终止处椭圆离心角),WHILE#3 LT#5 DO2;,(当起始角小于终止角时执行,DO2,到之间的程序段),#6=#2*COS#3;,(构造),#7=2*#1*SIN#3;,(构造),G1 X#7+#20 Z#6 F150;,(椭圆坐标加余量值),O0271;,27,#3=#3+#4;,(椭圆离心角递增),#10=#7+#20;,(向当前点坐标),IF#10 GT 26 GOTO 56;,(如果向当前点坐标大于跳转到句从新定起点),END 2,G0 U2;,Z26;,(退刀),IF#20 GE 0 GOTO 100;,(如果余量大于等于跳转到句),G0 X100;,M05;,M30;,#3=#3+#4;(椭圆离心角递增),28,抛物线的一般方程:,可转化为:,3.,抛物线类零件的宏程序编制,抛物线的一般方程:可转化为:3.抛物线类零件的宏程序编制,29,抛物线宏程序结构流程:,开始,给常量赋值,给变量赋初值,进入循环体,变量递加,计算坐标值,指令机床沿抛物线轮廓移动,X,,,Z,坐标,判断,X,值是否小于抛物线终点处直径一半,若小于返回进入循环体,若不小于刀具退离到工件右端,结束,抛物线宏程序结构流程:开始给常量赋值给变量赋初值进入循环体,30,抛物线宏程序编制:,抛物线宏程序编制:,31,O0272;,M03 S800;,G98;,G00 X90 Z100;,N10#24=0;,(抛物线顶点处值),#26=0;,(抛物线顶点处值),#17=-10;,(常量),#22=42;,(抛物线开口处直径),#6=1;,(每次步进量),#9=100;,(进给率),G00 X#24 Z#26+5;,(加工起点),G01 Z#26 F2*#9;,N30#24=#24+#6;,(向递增),#26=#24*#24/#17;,(,构造 ),G01X2*#24 Z#26 F#9;,N60 IF#24 LT#22/2 GOTO 30;,(如果,X,
展开阅读全文