您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 制造加工工艺 > 数控车宏程序编程方法及技巧
数控车宏程序编程方法及技巧山东劳动职业技术学院数控教研室在数控车床编程中,宏程序编程灵活、高效、快捷。宏程序不仅可以实现象子程序那样,对编制相同加工操作的程序非常有用,还可以完成子程序无法实现的特殊功能,例如:系列零件加工宏程序、椭圆加工宏程序、抛物线加工宏程序、双曲线加工宏程序等。主要内容数控车床宏程序编程特征宏程序中的变量宏程序变量间的运算指令宏程序的控制语句数控车床宏程序编程技巧编程实例宏程序用于系列零件的加工椭圆类零件的宏程序编制抛物线类零件的宏程序编制双曲线过渡类零件的宏程序编制变量的类型和功能(FANUC系统为例)变量号变量类型功能#0空该变量值总为空#1-#33局部变量只能在一个宏程序中使用#100~#149(#199)#500~#531(#999)公共变量在各宏程序中可以公用的#1000系统变量固定用途的变量一、数控车床宏程序编程特征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被指令。数学运算功能加法:#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格式:#jEQ#k不等于:NE格式:#jNE#k大于:GT格式:#jGT#k小于:LT格式:#jLT#k大于等于:GE格式:#jGE#k小于等于:LE格式:#jLE#k3.宏程序的控制语句(1)、无条件转移(GOTO语句)格式:GOTOn;式中:n——顺序号(1~9999),可用变量表示。举例:GOTO1;GOTO#10;条件转移语句1IF[条件表达式]GOTOn当条件满足时,程序就跳转到同一程序中语句标号为n的语句上继续执行当条件不满足时,程序执行下一条语句(2).条件转移条件转移语句2WHILE[条件表达式]DOm...…ENDm当条件满足时,从DOm到ENDm之间的程序就重复执行。当条件不满足时,程序就执行ENDm下一条语句循环嵌套:DO—END循环嵌套:WHILE[条件式1]DO1;……WHILE[条件式2]DO2;……WHILE[条件式3]DO3;……END3;……END2……END1;二、数控车床宏程序编程技巧编程实例1.宏程序用于系列零件的加工宏程序用于系列零件的加工,此系列零件形状相同,但是部分尺寸不同,如果将这些不同的尺寸用宏变量表示,由程序自动将相关基点坐标进行计算则可用同一个程序完成一个系列零件的加工。以上图为例。该系列零件的右端面半球球径可取R10与R15,可将球径用变量表示,编程原点设在工件右端面中心,毛坯直径¢45.从图中可以看出编程所需基点A·D·E三点外,B·C点均与球径R相关,下面给出各基点坐标:XZA00B2R-RC2R-[60-2*[40-2R]D40-60E40-90程序如下:O0034T0101;M03S800;G98;G00X42Z0;G71U2R1;G71P10Q20U0.5W0F150;N10G01X0;#1=10;G03X[2*#1]Z[-#1]R[#1];G01Z[-[-60-[80-4*#1]]];G01X40Z-60;N20G01Z-90;G00X100;Z100;M05;M30;2.椭圆类零件的宏程序编制椭圆的标准方程:12222aZbX椭圆的参数方程:][*][*COSaZSINbX其中为椭圆的离心角,为椭圆的旋转角两者不为一个值,关系为tantanba椭圆宏程序结构流程:1.开始2.给常量赋值3.给变量赋值4.计算坐标值5.指令机床沿曲线移动X,Z坐标6.变量递增或递减7.判断是否到达终点8.到终点结束未到终点返回4.计算坐标值椭圆加工:零件材料45钢,毛坯为φ50mm×100mm,按图要求完成数控加工程序。O0001;T0101;M03S800;G0X51.Z2.;G71U1.5R1.;(粗车右端外形轮廓)G71P10Q20U0.5W0.1F150;N10G1X25.966;(椭圆处外径)Z0.;Z-19.;X35.988Z-29.;Z-46;X44.;X45.992Z-47.;N20Z-55.;G70P10Q20S1000F120;(精车右端外形轮廓)G00X100.;Z50.;【解答】S800F150;#150=26.;(定义椭圆加工余量)N30IF[#150LT1]GOTO40;(如果余量小于1,跳到40句)M98P0003;(调用椭圆加工宏程序)#150=#150-2;(每次递减2mm)GOTO30;(无条件跳转到30句)N40G0X30.Z2.;S1500F80;#150=0;(开始精加工椭圆轮廓)M98P0003;G0X100.Z5.;M30;O0003;(椭圆加工子程序)#101=20.;(椭圆长半轴)#102=13.;(椭圆短半轴)#103=20.;(起点处Z坐标)N20IF[#103LT1]GOTO50;(如果Z值小于1跳转到50句)#104=SQRT[#101*#101-#103*#103];(构造)#105=#102*#104/#101;(构造)G01X[2*#105+#150]Z[#103–20];(直径值定义加上加工余量,Z向偏移椭圆长半轴)#103=#103–0.5;(Z坐标递减0.5mm)GOTO20;(绝对跳转到20句)N50G00U2.Z2.;(退刀)M99;22Za22Zaab椭圆轮廓编程技巧O0027;T0101;G98;M43;M03S800;G0X80.Z5.;G73U25R25;(调用粗车循环加工椭圆轮廓)G73P10Q20U0.5W0F150;N10G1X30Z0;(轮廓起点)Z-8.79;#100=-8.79;(椭圆起点Z坐标)N15#102=[#100+44]*[#100+44];#103=SQRT[36*36-#102];(构造)#104=10+2/3*#103;(构造X向半径偏移10mm)#105=2*#104;22Za22ZaabG01X#105Z#100;#100=#100-2;(Z向递减2mm)IF[#100GT-72.102]GOTO15(如果Z坐标值大于-72.102跳转到15句)G00U30;N20X70;G00X80Z5;G70P10Q20F100;(精加工椭圆轮廓)G00X100;Z100;M05;M30;MOV007.MOD参数方程编写椭圆宏程序:O0271;T0101;M03S800;G0X36Z26;#20=26;(X向总加工余量)N56G0U2;Z26;(Z向加工起点)N100#20=[#20-2];(X向递减2mm)#1=12.5;(椭圆短半轴)#2=25;(椭圆长半轴)#3=0.5;(起始处椭圆离心角)#5=90;(终止处椭圆离心角)WHILE[#3LT#5]DO2;(当起始角小于终止角时执行DO2到END2之间的程序段)#6=#2*COS[#3];(构造)#7=2*#1*SIN[#3];(构造)G1X[#7+#20]Z#6F150;(椭圆X坐标加余量值))(*COSa)(**2SINb#3=#3+#4;(椭圆离心角递增)#10=#7+#20;(X向当前点坐标)IF[#10GT26]GOTO56;(如果X向当前点坐标大于26跳转到56句从新定起点)END2G0U2;Z26;(退刀)IF[#20GE0]GOTO100;(如果余量大于等于0跳转到100句)G0X100;M05;M30;抛物线的一般方程:PXZ2/2)或P2/ZX(2)(或PX2ZPZ2X22可转化为:3.抛物线类零件的宏程序编制抛物线宏程序结构流程:开始给常量赋值给变量赋初值进入循环体X变量递加计算Z坐标值指令机床沿抛物线轮廓移动X,Z坐标判断X值是否小于抛物线终点处直径一半若小于返回进入循环体若不小于刀具退离到工件右端结束抛物线宏程序编制:O0272;M03S800;G98;G00X90Z100;N10#24=0;(抛物线顶点处X值)#26=0;(抛物线顶点处Z值)#17=-10;(常量)#22=42;(抛物线开口处直径)#6=1;(每次步进量)#9=100;(进给率)G00X#24Z[#26+5];(加工起点)G01Z#26F[2*#9];N30#24=#24+#6;(X向递增)#26=[#24*#24]/[#17];(构造)G01X2*#24Z#26F#9;N60IF[#24LT#22/2]GOTO30;(如果X值小于开口处直径一半跳转到30句)G01X#22Z#26F[3*#9];M05;M30;102X焦点在X轴上的双曲线,其标准方程为)0,0(12222babYaXTANBYCOSAX*/参数方程为:4.双曲线过渡类零件的宏程序编制焦点在Y轴上的双曲线,其标准方程为)0,0(12222babXaY参数方程为:sin/tan/aYbX双曲线宏程序结构流程:开始给常量赋值给自变量Z赋初值指令机床移动X,Z坐标Z向均值递减双曲线上任意一点X坐标值计算动点Z值是否大于等于双曲线终点Z值若大于等于返回移动X,Z坐标若小于结束焦点在Y轴上的双曲线宏程序编制:程序编制:O0273;T0101;M03S500;G98;G01X10;Z-5.05;X17.524;#1=20;N10#2=38-10/SIN[#1];#3=-60+20/TAN[#1];G01X2*#2Z#3;#1=#1+1;IF[#1LT80]GOTO10;G01X56Z-56.473;X60;G00X100;Z100;M05;M30;焦点在X轴上的双曲线宏程序编程:O0045;T0101;G98;M03S500;G00X60Z0;G01X0;#100=0;N15#101=4/3*SQRT[[#100-6]*[#100-6]-36];G01X2*#101Z#100;#100=#100-1;IF[#100GT-16.594]GOTO15;G01X58Z-16.594;X60;G00Z0;G00X100;Z100;M05;M30;练习图2:练习图3:总结编写宏程序的步骤:1.写出曲线的方程。(一般方程、参数方程、极坐标方程等)2.确定变量。(自变量、因变量)3.确定变量符号的用法。(局部变量、全局变量、系统变量)4.确定自变量的变化范围。(初值和终值)5.把变量初值用变量符号表示。6.确定要使用的控制语句。(WHILE...DOm、IF...GOTO、GOTO等)7.写条件表达式。表达式的构成是用变量初值与终值相比较,使用逻辑运算符号。(GE、LE、GT、LT、EQ、NQ)8.按曲线的方程编写程序。(X、Y、Z坐标用方程式表示)9.确定移动歨距,把变化后的值再赋予变量,进行循环计算。10.把特征点带入方程中进行验算,检查程序是否正确。
本文标题:数控车宏程序编程方法及技巧
链接地址:https://www.777doc.com/doc-288707 .html