《数控车宏程序编程方法及技巧》由会员分享,可在线阅读,更多相关《数控车宏程序编程方法及技巧(41页珍藏版)》请在金锄头文库上搜索。
1、数控车宏程序编程数控车宏程序编程方法及技巧方法及技巧 在数控车床编程中,宏程序编在数控车床编程中,宏程序编程灵活、高效、快捷。宏程序不仅程灵活、高效、快捷。宏程序不仅可以实现象子程序那样,对编制相可以实现象子程序那样,对编制相同加工操作的程序非常有用,还可同加工操作的程序非常有用,还可以完成子程序无法实现的特殊功能,以完成子程序无法实现的特殊功能,例如:例如: 系列零件加工宏程序、椭圆系列零件加工宏程序、椭圆加工宏程序、抛物线加工宏程序、加工宏程序、抛物线加工宏程序、双曲线加工宏程序等。双曲线加工宏程序等。 主要内容主要内容l数控车床宏程序编程特征数控车床宏程序编程特征宏程序中的变量宏程序中的
2、变量宏程序变量间的运算指令宏程序变量间的运算指令宏程序的控制语句宏程序的控制语句l数控车床宏程序编程技巧编程实例数控车床宏程序编程技巧编程实例宏程序用于系列零件的加工宏程序用于系列零件的加工椭圆类零件的宏程序编制椭圆类零件的宏程序编制抛物线类零件的宏程序编制抛物线类零件的宏程序编制双曲线过渡类零件的宏程序编制双曲线过渡类零件的宏程序编制变量的类型和功能变量的类型和功能(FANUC(FANUC系统为例系统为例) )变量号变量号变量类型变量类型功能功能#0空空该变量值总为空该变量值总为空#1#33局部变量局部变量只能在一个宏程序中使只能在一个宏程序中使用用#100#149(#199)#500#53
3、1(#999)公共变量公共变量在各宏程序中可以公用在各宏程序中可以公用的的#1000系统变量系统变量固定用途的变量固定用途的变量一、数控车床宏程序编程特征一、数控车床宏程序编程特征1 宏程序中的变量宏程序中的变量变量及变量的引用变量及变量的引用(1)、变量的表示)、变量的表示#i#表达式表达式(2)、变量的引用)、变量的引用#1 - #1(变量号(变量号i=0,1,2,3,4) 例:例:#8、#110、#1100 表达式必须用括号括起来表达式必须用括号括起来 例:例:#1#212例:例:F#10当当#10=20时,时,F20被指令。被指令。 X- #20当当#20=100.时,时,X-100.
4、被指令。被指令。 G#130当当#130=2时,时,G2被指令被指令。数学运算功能加法:#i=#j + #k减法: #i=#j - #k乘法: #i=#j * #k除法: #i=#j / #k运算的优先顺序:函数;乘除、逻辑与;加减、逻辑或、逻辑异或。可以用 来改变顺序。2.宏程序变量间的运算宏程序变量间的运算函数运算功能正弦 #i=SIN #j 单位:度余弦 #i=COS #j 单位:度正切 #i=TAN #j 单位:度反正切 #i=ATAN #j / #k 单位:度平方根 #i=SQRT #j 绝对值 #i=ABS #j 取整 #i=ROUND #j 逻辑判断功能等于:EQ 格式: #j
5、EQ #k不等于: NE格式: #j NE #k大于:GT格式: #j GT #k小于:LT格式: #j LT #k大于等于:GE格式: #j GE #k小于等于:LE格式: #j LE #k3.3.宏程序的控制语句宏程序的控制语句(1)(1)、无条件转移(、无条件转移(GOTOGOTO语句)语句)格式:格式:GOTO nGOTO n;式中:式中:nn顺序号(顺序号(1 199999999),可),可用变量表示。用变量表示。举例:举例:GOTO 1GOTO 1; GOTO #10GOTO #10;条件转移语句I F 条件表达式 GOTO n当条件满足时,程序就跳转到同一程序中语句标号为的语句上
6、继续执行当条件不满足时,程序执行下一条语句(2).条件转移条件转移条件转移语句WHILE 条件表达式 DO m.END m 当条件满足时,从DO m到END之间的程序就重复执行。当条件不满足时,程序就执行END下一条语句循环嵌套:DOEND循环嵌套:循环嵌套:WHILE 条件式1 DO 1; WHILE 条件式2 DO 2; WHILE 条件式3 DO 3; END 3; END 2 END 1;二、数控车床宏程序编程技巧编程实例二、数控车床宏程序编程技巧编程实例二、数控车床宏程序编程技巧编程实例二、数控车床宏程序编程技巧编程实例1.宏程序用于系列零件的加工宏程序用于系列零件的加工宏程序用于系
7、列零件的加工,此系列零件形状相同,但是部分尺寸不同,如果将这些不同的尺寸用宏变量表示,由程序自动将相关基点坐标进行计算则可用同一个程序完成一个系列零件的加工。 以上图为例。该系列零件的右端面半球球径可取R10与R15,可将球径用变量表示,编程原点设在工件右端面中心,毛坯直径45.从图中可以看出编程所需基点A D 三点外, 点均与球径相关,下面给出各基点坐标:XZA00B2R-RC2R-60-2*40-2RD40-60E40-90程序如下:O0034T0101;M03 S800;G98;G00 X42 Z0;G71 U2 R1;G71 P10 Q20 U0.5 W0 F150;N10 G01 X
8、0;#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;2.椭圆类零件的宏程序编制椭圆类零件的宏程序编制椭圆的标准方程:椭圆的标准方程:椭圆的参数方程椭圆的参数方程:其中为椭圆的离心角, 为椭圆的旋转角两者不为一个值,关系为椭圆宏程序结构流程:椭圆宏程序结构流程:椭圆宏程序结构流程:椭圆宏程序结构流程:1.开始2.给常量赋值3.给变量赋值4.计算坐标值5.指令机床沿曲线移动X,Z坐标6.变量递增或递减7.判断是否到达终点8.到终点结束未到终点返回4.计算坐标值椭圆加工
9、:椭圆加工:零件材料45钢,毛坯为50mm100mm,按图要求完成数控加工程序。O0001;T0101 ;M03 S800;G0 X51. Z2.;G71 U1.5 R1. ;(粗车右端外形轮廓)(粗车右端外形轮廓)G71 P10 Q20 U0.5 W0.1 F150 ;(椭圆处外径)(椭圆处外径)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.;【解答解答】S800 F150;#150 = 26.;(定义椭圆加工
10、余量)(定义椭圆加工余量)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;O0003;(椭圆加工子程序)(椭圆加工子程序)#101=20.;(椭圆长半轴)(椭圆长半轴)#102=13.;(椭圆短半
11、轴)(椭圆短半轴)#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;(Z坐标递减)坐标递减)GOTO 20;(绝对跳转到(绝对跳转到20句)句)N50 G00 U2. Z2.;(退刀)(退
12、刀)M99;椭圆轮廓编程技巧椭圆轮廓编程技巧O0027;T0101 ;G98;M43;M03 S800;G0 X80. Z5.;G73 U25 R25;(调用粗车循环加工椭圆轮廓调用粗车循环加工椭圆轮廓)G73 P10 Q20 U0.5 W0 F150 ;N10 G1 X30 Z0;(轮廓起点)轮廓起点);#100=-8.79;(椭圆起点(椭圆起点Z坐标)坐标)N15 #102=#100+44* #100+44; #103=SQRT36*36-#102; (构造(构造 )#104=10+2/3*#103; (构造(构造 X向半径偏移向半径偏移10mm)#105=2*#104;G01 X#105
13、 Z#100;#100=#100-2;(Z向递减向递减2mm)IF #100GT-72.102 GOTO 15(如果(如果Z坐标值大于跳转到坐标值大于跳转到15句)句)G00 U30;N20 X70;G00 X80 Z5;G70 P10 Q20 F100;(精加工椭圆轮廓)(精加工椭圆轮廓)G00 X100;Z100;M05;M30;参数方程编写椭圆宏程序:参数方程编写椭圆宏程序:O0271;T0101;M03 S800;G0 X36 Z26;#20=26;(X向总加工余量)向总加工余量)N56 G0 U2;Z26;(Z向加工起点)向加工起点)N100 #20=#20-2;(X向递减向递减2m
14、m)#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;(椭圆坐标加余量值)(椭圆坐标加余量值)#3=#3+#4;(椭圆离心角递增)(椭圆离心角递增)#10=#7+#20;(向当前点坐标)(向当前点坐标)IF
15、#10 GT 26 GOTO 56;(如果向当前点坐标大于跳转到句从(如果向当前点坐标大于跳转到句从新定起点)新定起点)END 2G0 U2;Z26;(退刀)(退刀)IF #20 GE 0 GOTO 100;(如果余量大于等于跳转到句)(如果余量大于等于跳转到句)G0 X100;M05;M30;抛物线的一般方程:抛物线的一般方程:可转化为:3.3.抛物线类零件的宏程序编制抛物线类零件的宏程序编制抛物线类零件的宏程序编制抛物线类零件的宏程序编制抛物线宏程序结构流程:抛物线宏程序结构流程:抛物线宏程序结构流程:抛物线宏程序结构流程:开始给常量赋值给变量赋初值进入循环体变量递加计算坐标值指令机床沿抛
16、物线轮廓移动X,Z坐标判断X值是否小于抛物线终点处直径一半若小于返回进入循环体若不小于刀具退离到工件右端结束抛物线宏程序编制:抛物线宏程序编制:抛物线宏程序编制:抛物线宏程序编制: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
17、#26 F#9;N60 IF #24 LT #22/2 GOTO 30;(如果X值小于开口处直径一半跳转到30句)G01 X#22 Z#26 F3*#9;M05;M30;焦点在X轴上的双曲线,其标准方程为参数方程为:4.4.双曲线过渡类零件的宏程序编制双曲线过渡类零件的宏程序编制双曲线过渡类零件的宏程序编制双曲线过渡类零件的宏程序编制焦点在Y轴上的双曲线,其标准方程为参数方程为:双曲线宏程序结构流程:双曲线宏程序结构流程:开始给常量赋值给自变量Z赋初值指令机床移动X,Z坐标Z向均值递减双曲线上任意一点坐标值计算动点值是否大于等于双曲线终点值若大于等于返回移动,坐标若小于结束焦点在Y轴上的双曲线
18、宏程序编制:程序编制:O0273;T0101;M03 S500;G98;G01 X10;Z-5.05;X17.524;#1=20;N10 #2=38-10/SIN#1;#3=-60+20/TAN#1;G01 X2*#2 Z#3;#1=#1+1;IF #1 LT 80 GOTO 10;G01 X56 Z-56.473;X60;G00 X100;Z100;M05;M30;焦点在X轴上的双曲线宏程序编程:O0045;T0101;G98;M03 S500;G00 X60 Z0;G01 X0;#100=0;N15 #101=4/3*SQRT#100-6*#100-6-36;G01 X2*#101 Z#100;#100=#100-1;IF #100 GT -16.594 GOTO 15;G01 X58 Z-16.594;X60;G00 Z0;G00 X100;Z100;M05;M30;练习图2:练习图3: