FANUC 系统宏程序的设计.doc_第1页
FANUC 系统宏程序的设计.doc_第2页
FANUC 系统宏程序的设计.doc_第3页
FANUC 系统宏程序的设计.doc_第4页
FANUC 系统宏程序的设计.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业论文(设计)FANUC 系统宏程序的设计指导老师: 班 级: 系 (部): 专 业: 答辩时间: 摘要 随着数控技术以及计算机辅助制造软件的迅速发展,在数控编程方面,手工编程越来越多的被计算机自动编程所取代,从而使大家慢慢忽略了手工编程特别是宏程序的重要性,一个宏程序可以很方便地编制三维曲面的加工程序,而且程序非常简洁,通用性好,对于相同形状、不同尺寸的零件,只要在调用宏程序时赋不同的数值即可。宏程序的优越性同时体现在孔系加工、口袋及轮廓加工、各类圆柱面、斜面、内外球面、椭球面及倒R面加工。本文通过对FANUC Oi系统研究,以宏程序的理论知识及应用为基础,从宏程序编制的数学基础开始,涉及到了宏程序的编译,给出了一种典型的可以用于任意宏程序的编译方法,以及用户宏程序B的应用,并对其常见问题进行了归纳总结,并以典型车削及铣削实例的形式加以具体阐述,希望为宏程序的应用及推广起到一定的借鉴作用。 Along with the rapidly development of CNC technology and CAM software, manual programming has been mainly replaced by CAP.So many people ignore the importance of manual programming especially macro program. A macro program can workout 3-D curved face program easily, and the program will be concision and good at universal property. If the parts have same shap but different dimension, you can use different univerical value when transfer a macro program.The advantage of a macro program can incarnate on machini.目录摘要绪论第1章 宏程序应用概述1.1宏程序概述1.2 宏程序与普通程序的对比1.3 数控编程技术的应用现状1.4 宏程序编程的技术特点1.5 宏程序与CAD/CAM软件生成程序的加工性能对比第2章 宏程序的变量和数学基础的应用2.1宏程序基本变量2.2双轨迹的公共变量2.3算术和逻辑运算2.4 宏程序的控制指令2.5 FANUC-0i刀具补偿值的系统变量2.6宏程序报警、停止和信息显示、时间信息变量2.7自动运行控制可以改变自动运行的控制状态的变量第三章 非圆曲线宏程序加工工艺3.1、非圆曲线宏程序的使用步骤 3.2、非圆曲线宏程序的具体应用实例 3.3 用户宏程序应用举例第四章 宏程序编程实例4.1 编程实例4.2 加工实例的工艺分析4.3 数控车宏程序编程第5章 总结致谢参考文献附录一附录二绪论 数控加工程序编制的关键是刀具相对工作运动轨迹的计算,即计算加工轮廓的基点和节点坐标或刀具中心的基点和节点坐标。数控机床一般只提供平面直线和圆弧插补功能,对于非圆的平面曲线Y=f(X),采用的加工方法是按编程允许误差,将平面轮廓曲线分割成许多小段,然后用数学计算的方法求逼近直线或圆弧轮廓曲线的交点和切点坐标。随着计算机数控系统(CNC)的不断发展。CNC不仅能通过数字量去控制多个轴的机械运动,而且具有强大的数据计算和处理能力,编程时只要建立加工轮廓的基点和节点的数学模型,按加工的先后顺序。由数控系统即时计算出加工节点的坐标数据。进而控制加工,这就是数控系统提供的宏编程。宏指令编程像高级语言一样,可以使用变量惊醒算术运算逻辑运算的函数混合运算进行编程。在宏程序形式中,一般都市提供循环判断分支和子程序调用的方法。可编制各种复杂的零件加工程序,熟悉应用宏程序指令进行编程,可大大精简程序量,还可以增强机床的加工适应能力。比如可以控制抛物线、椭圆的那个非圆曲线的算法标准化后做成内部宏程序,以后就可以像圆弧插补一样按照标准格式编程调用,相当于增加了系统的插补功能。 随着数控系统的不断更新,宏指令应用越来越广泛。以日本FANUC-0i系统为例。0i系统使用B类宏指令,包括宏变量的赋值、运算、条件调用等,其功能强大,编程直观。 宏指令编程虽然属于手工编程的范畴,但它不是直接算出轮廓各个节点的具体坐标数据,而是给出数学公式的算法,由CNC来即时计算节点坐标,因此对于简单直观的零件轮廓不具有优势。若零件结构不能用常规插补指令可以完成编程的,则可采用编制宏程序的方法,将计算复杂数据的任务交由数控系统来完成。对于加工方法和加工方式,零件的步骤,走刀路线及对刀点、起刀点的位置以及切入、切出方式的设计还是遵循一般手工编程的规则。编制宏程序时,应从零件的结构特点出发,分析零件加工表面之间的几何关系,应从零件的结构特点出发,分析零件上各加工表面之间的几何关系,据此推到出各参数之间的数量关系,建立准确的数学模型。第一章宏程序应用概述1.1宏程序概述1.1.1数控编程技术的分类数控编程方法可以分为两类:一类手工编程,另一类是自动编程。1.1.2手工编程手工编程是指编制零件数控加工程序的各个步骤,即从零件图纸分析,工艺决策,确定加工路线和工艺参数,计算刀尖轨迹坐标数据,编写零件的数控加工程序单直至程序的检验,均由人工完成。对于点位加工或几何形状不太复杂的轮廓加工,几何计算较简单,程序段不多,手工编程即可实现。如简单阶梯轴的车削加工,一般不需要复杂的坐标计算,往往可以由技术人员根据工序图纸数据直接编写数控加工程序。但对轮廓形状不是由简单的直线,圆弧组成的复杂零件,特别是空间复杂曲面零件,数值计算则相当繁琐,工作量大,容易出错,且很难孝对,采用手工编程是难以完成的。1.1.3自动编程 使用计算机编制数控加工程序,自动地输出零件加工程序单及自动的制作控制介质的过程称作自动编程。自动编程就是编程人员根据零件图纸和工艺要求,使用规定的数控语言编写一个较简短的零件加工源程序,输入到计算机中。计算机自动地进行数学处理,计算出刀具中心运动轨迹,编写出零件加工程序单,并生成控制介质。有预见在计算机上可自动地绘出所编程的图形及走刀轨迹,所以能及时的检查程序是否错误,并进行修改,得到正确的程序。在自动编程时,工艺处理部分工作还需编程人员来完成并按自动编程系统要求的格式输入。1.2 宏程序与普通程序的对比 一般意义上所讲的数控指令其实是指ISO代码指令编程。即每个代码的功能是固定的,由系统生产厂家开发,使用者只需(只能)按照规定编程即可。但有时候这些指令满足不了用户的需要,系统因此提供了用户宏程序功能,便用户可以对数控系统进行一定的功能扩展,实际上是数控系统对用户的开放,也可视为用户利用数控系统提供的工具,在数控系统的平台上进行二次开发,当然这里的开放和开发都是有条件和有限制的。 用户宏程序和与普通程序存在一定的区别,认识和了解这些区别,将有助于宏程序的学习理解和掌握运用,表一是用户宏程序与普通程序的简要对比。 表一普通程序宏程序 只能使用常量可以使用变量,并给变量赋值 常量之间不可以运算变量之间可以运算 程序只能顺序执行,不能跳转 程序运行可以跳转1.3 数控编程技术的应用现状在我国,六成以上的数控铣床(包括加工中心)都是应用在模具行业,由于模具加工的特殊性和一些非技术性原因,CAD/CAM软件的应用由来已久,且日趋成熟,特别是在数控三维曲面加工中,手工编程几乎已没有用武之地,而由于强大对我思维定势和使用习惯,使得编程人员不论程序大小、加工难易,都习惯并乐于使用各种CAD/CAM软件来编程加工。手工编程似乎被遗忘在角落里,大有无人问津之势。1.4 宏程序编程的技术特点尽管使用各种CAD/CAM软件来编制数控加工程序已经成为潮流(或主流),但手工编程毕竟还是基础,各种”疑难杂症“的解决往往还要利用手工编程;且手动编程还可以使用变量编程,即宏程序的运用。其最大特点就是将有规律的形状或尺寸用最短的程序段表示出来,具有极好的易读性和易修改性,编写出的程序非常简洁,逻辑严密,通用性极强,而且机床在执行此类程序时,较执行CAD/CAM软件生成的程序更加快捷,反应更迅速。随着技术的发展,自动编程逐渐取代手工编程,但宏程序简捷的特点使之依然具有使用价值,我个人认为,宏程序的运用应该是手工编程应用中最大的亮点和最后的堡垒。 宏程序具有灵活性、通用性和智能性等特点,例如对于规则曲面的编程来说,使用CAD/CAM软件编程一般都有工作量大,程序庞大,加工参数不容易修改等缺点,只要任何一个参数发生任何变化,再智能的软件也要根据变化后的加工参数重新计算刀具轨迹,尽管软件计算刀具轨迹的计算速度非常快,但始终是个比较麻烦的过程。而宏程序则注重把机床参数与编程语言结合,而且灵活的参数设置也使机床具有最佳的工作性能,同时也给予操作工人极大的自由调整空间。 从模块化加工的角度看,宏程序最具有模块化的思想和资质条件,编程人员只需要根据零件几何信息和不同的数学模型即可完成相应的模块化加工程序设计,应用时只需要把零件信息,加工参数等输入到相应的模块的调用语句中,就能使编程人员从繁琐的、打量重复性的编程工作中解脱出来,有中一劳用逸的效果。 另外,由于宏程序基本上包含了所有的加工信息(如所使用刀具的几何尺寸信息等),而且非常简明直观,通过简单的存储和调用,就可以很方便的重现当时的加工状态,给周期性的生产特别是不定期的间隔式生产带来了极大的方便。 客观的说,对于主要由于大量的不规则复杂曲面构成的模具成型零件,由于设计、分析道制造的整个生产链在技术层面及生产管理上都是通过以上各种CAD/CAM软件为核心(还包括PDM/CAE等)的纽带紧密相连的,从而形成一种高速的一体化和关联性,无论从哪个角度来看,数控加工程序编制几乎百分百的依赖各种CAD/CAM软件,宏程序在这里的发挥空间是非常有限的。但是,数控加工领域还有很大一片天空是属于机械零件的批量加工,虽然同样是数控加工,它与上述的模具类零件的数控加工还是有着相当大的差别的,机械零件的数控加工主要有以下几个特点: (1)机械零件绝大多数都是批量生产,在保证质量的前提下要求最大限度的提高生产效率以降低生产成本。另外批量零件字加工的几何尺寸精度和形状位置精度要求保证高度的一致性,而加工工艺的优化主要就是程序的优化,是一个反复调整、尝试的过程,这就要求操作者能够非常方便的调整程序中的各项加工参数(如刀具尺寸、刀具补偿值、层降、步距、计算精度、进给速度等),宏程序在这方面就有强大的优越性,只要能用宏程序来表述,操作者就根本无需触动程序本身,而只需要针对各项加工参数所对应得自变量赋值做出个别调整,就能迅速的将程序调整到最优化的状态,这就体现出宏程序的一个突出优点,即一次编程,终身受益。 (2)机械零件的形状主要是由于各种凸台、凹槽、圆孔、斜平面、回转面等组成,很少包含不规则的复杂曲面,构成其的几何因素无外乎点、直线、圆弧,最多加上各种二次圆锥曲面(椭圆、抛物线、双曲线),以及一些渐开线(常应用于齿轮及凸轮等),所有这些都是基于三角函数,解析几何的应用,而数学上都可以用三角函数表达式及参数方程加以表述,因此宏程序在此有广泛的应用空间,可以发挥其强大的作用。 (3)机械零件还有一些很特殊的应用,即使采用CAD/CAM软件也不一定能轻易地解决,例如变螺距螺纹的加工、用螺旋插补进行锥度螺纹的加工和钻深可变式深孔钻加工等,而在这些方面宏程序却可以发挥它的优势。1.5 宏程序与CAD/CAM软件生成程序的加工性能对比 只要能够用宏程序完整地表达,即使再复杂,其程序篇幅都非常有限,可以说任何一个比较合理、优化的宏程序,极少会超过60行,换算成字节数,至多不过2kbytes。 一方面,宏程序天生短小精悍,即使是最廉价的机床数控系统,其内部程序存储空间再小也会有个10kbytes左右,完全容纳得下任何“庞大”的宏程序,因此根本无需考虑机床与外部电脑的传输速度对实际加工速度的影响。另一方面,为了对复杂的加工运动进行描述,宏程序必然会最大限度地使用数控系统内部的各种指令代码,例如直线插补G01指令、圆弧(螺旋)插补G02/G03指令等,因此机床在执行宏程序时,数控系统的计算机可以直接进行插补运算,运算速度极快,伺服电机响应快,机床反应迅速,加工效率极高。 而对于CAD/CAM软件生成的程序,情况则要复杂得多首先,CAD/CAM软件生成的程序通常都比较大,非常容易就突破机床数控系统内部程序存储空间的限制,因此一般来说除了相对简单的孔系加工、二维轮廓或口袋加工以外,其余绝大部分程序都不得不以DNC方式进行在线加工,显然机床与电脑之间的传输速度成为了影响加工速度的第一个“瓶颈”因素。当计算精度较高、进给速度F值又较大(如F1800F2500)时,程序传输速度往往还是跟不上机床的节拍,在实际加工中可以看到机床的进给运动有明显的断续、迟滞,对于Fanuc系统,即使打开DNC缓冲,或设置G51.1参数,也难以有大的改观。 其次,在CAD/CAM软件中,无论构造规则或不规则的曲面,都有一个数学运算的过程,也必然存在着计算的误差和处理,而在对其生成三维加工刀路时,软件是根据你选择的加工方式、设定的加工参数,并结合所设定的加工误差(或称为曲面的计算精度),使刀具与加工表面接触点(相交点或相切点)逐点移动完成加工,从本质上看,其实就是在允许的误差值范围内沿每条路径用直线去逼近曲面的过程! 第二章宏程序的变量和数学基础的应用2.1宏程序基本变量普通加工程序直接用指定G代码和移动距离;例如G01和X100.使用用户宏程序是,数值可以直接指定或变量指定。当用变量时,变量值可以用程序或用MDI面板上的操作改变。如#1=#2+100G01 X#1 F300(1) 变量的表示 计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。例如:#1 表达式可以用于指定变量号。此时,表达式必须封闭在括号中。例如:#1+#2-12(2)变量值的范围局部变量和公共变量可以有0值或下面范围中的值:-1047到-10-19或-10-2到-1047范围。如果计算范围超出有效范围,则发出P/S报警NO.111。(3) 小数点的省略当在程序中定义变量值时,小数点可以省略。例:当定义#1=123;变量#1的实际值时123.000。(4) 变量的引用1为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中。例如:G01X#1+#2F#32被引用变量的值根据地址的最小设定单位自动地舍入。例如:当G00X#1;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X1234563改变引用变量的值的符号,要把负号(-)放在#的前面。例如:G00X-#14当引用未定义的变量时,G00X#1 Y#2的执行结果G00X0。2.2双轨迹的公共变量对双轨迹控制,系统为每一轨迹都是提供了单位的宏变量,但是,根据参数N0.6036和6037的设定,某些公共变量可同时用于两个轨迹。(1) 未定义的变量当变量值未定义时,这样的变量成为空变量。变量#0总是空变量。它不能写,只能读。1引用:当引用一个未定义的变量时,地址本身也被忽略。2运算:除了用赋值以外,其余情况下与0相同。3条件表达式:EQ和NE中的不同于0。(2) 限制程序号,顺序号和任选程序段跳转不能使用变量。例:下面情况不能使用变量:0#1;/#G00X100.0;N#3Y200.0;2.3算术和逻辑运算线面运算可在变量中执行运算表达式可包含常量和由函数或运算符组成的变量。表达式中的变量#j#k可以用常数赋值。(1)常用变量 #i=#j 【加】#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(3)函数【平方根】#i=sqrt#j 【绝对值】#i=abs#j【四舍五入圆整】#i=round#j 【舍入】#i=round#j【上取整】 #i=fin#j 【下取整】#i=fup#j【自然对数】 #i=ln#j 【指数函数】 #i=exp#j(4)逻辑变量 逻辑运算对二进制数逐位进行【或】#i=#jor#k 【异或】#i=#jxor#k 【与】#i=#jand#k(5)运算符 EQ等 NE 不等于 GT 大于 GE大于或等于 LT 小于 LE 小于或等于1 说明 1) 角度单位为度 例:90度30分为905度 2) ATAN函数后的两个边长要用“1”隔开 例:1ATAN11时,1为了350 3) ROUND用于语句中的地址,按各地址的最小设定单位进行四舍五入 例:设112345,223456,设定单位1m G91X1;X1235 X2F300;X2346 X12;X3580 未返回原处,应改为 XROUND1ROUND2; 4) 取整后的绝对值比原值大为上取整,反之为下取整 例:设112,212时 若3FUP#1时,则320 若3FIX#1时,则310 若3FUP#2时,则320 若3FIX#2时,则310 5) 指令函数时,可只写开头2个字母 例:ROUNDRO FIXFI 6) 优先级 函数乘除(,1,AND)加减(,OR,XOR) 例:123SIN4; 7) 括号为中括号,最多5重,园括号用于注释语句 例:1SIN#2+#3*#4+#5*#6;(3重)2.4 宏程序的控制指令在宏程序中,有三种转移和循环操作可供使用。(1)无条件转移(GOTO语句)语句格式为: GOTO n其中n为顺序号(19999),可用变量表示。例如:GOTO 1; GOTO #10;(2) 条件转移(IF 语句)语句格式为: IF 条件式 GOTO n条件式成立时,从顺序号为n的程序段开始执行;条件式不成立时,执行下一个程序段。条件式有以下几类:# j EQ # K EQ等于 # j NE # K NE不等于# j GT # K GT大于 # j LT # K LT小于# j GE # K GE大于等于 # j LE # K LE小于等于条件式中变量#J或#K可以是常量也可以是表达式,条件式必须用括弧括起来。下面的程序可以得到1到10的和:O7100#1=0#2=1N1 IF #2 GT 10 GOTO 2#1=#1+#2#2=#2+1GOTO 1N2 M30(3)循环语句(WHILE 语句)语句格式为: WHILE 条件式 DO m (m=1,2,3)END m如右图所示:当条件语句成立时,程序执行从DO m到END m之间的程序段;如果条件不成立,则执行END m之后的程序段。DO和END后的数字是用于表明循环执行范围的识别号。可以使用数字1,2和3,如果是其他数字,系统会产生报警。DOEND循环能够按需执行多次。如下例所示:上面的O7100程序也可以用WHILE语句编制如下:O7200#1=0#2=1WHILE #2 LE 10 DO 1#1=#1+#2#2=#2+1END 1M302.5 FANUC-0i刀具补偿值的系统变量(1)系统变量用于读和写NC内部数据例如刀具偏置值和当前位置数据,但是某些系统变量只能读。系统变量是自动控制和通用加工程序开发的基础,是可编程机床控制器PMC 和用户宏程序之间交换的信号。接口信号的系统变量变量号功能#1000; #1015; #1032;把16位信号从PMC送到用户宏程序变量#1000,到#1015 用于按位读取信号变量#1032 用于一次。读取一个16位信号。#1100 #1115 #1132把16 位信号从用户宏程序送到PMC 变量#1100,到#1115 用于按位写信号变量#1132 用于一次写。一个16位信号#1133 变量#1133 用于从用户宏程序一次写一个32 位的信号到PMC。注意#1133的值为从99999999到+99999999,详细情况请见连接说明书B-63503C-1,用系统变量可以读和写刀具补偿值。(2)刀具补偿存储器C 的系统变量刀具长度补偿H 刀具半径补偿D 补偿;几何补偿磨损补偿几何补偿磨损补偿当偏置组数小于等于200时也可使用#2001 #24002.6宏程序报警、停止和信息显示、时间信息变量(1)宏程序报警的系统变量变量号功能#3000 当变量#3000 的值为0 200 时CNC 停止运行,且报警。在表达式后为不超过26个字符的报警信息;CRT 屏幕上显示报警号和报警信息其中报警号为变量#3000的值加上3000。例#3000=1 TOOL NOT FOUND报警屏幕上显示3001 TOOL NOT FOUND 刀具未找到程序执行停止并显示信息报警号功能。#3006 在宏程序中指令#3006=1 MESSAGE时程序执行前面程序段并停止。当最多到26 个字符的信息由控制输入和控制输出括住在同一程序段中编程时,信息被显示在外部操作信息屏幕,时间信息可以读和写。(2)时间信息的系统变量变量号功能#3001 该变量为一个计时器以1 毫秒为计时单位,当电源接通时该变量值复位为0 当达到2147483648毫秒时该计时器的值返回到0。#3002 该变量为一个计时器当循环起动灯亮时以一小时为单位计时该计时器即使在电源断电时,也保存该值当达到9544.371767 小时,该计时器的值返回到0。#3011 该变量用于读取当前的曰期年/月/曰年/月/曰信息转换成十进制数。例如:1994 年9月8曰表示为19940928。#3012 该变量用于读取当前的时间时/分/秒时/分/秒信息转换成十进制数。例如:下午3点34分56秒表示为153456。2.7自动运行控制可以改变自动运行的控制状态的变量自动运行控制的系统变量#3003#3003 单程序段辅助功能的完成0 有效等待1 无效等待2 有效不等待3 无效不等待当电源接通时该变量的值为0当单程序段停止无效时,即使单程序段开关设为ON 也不执行单程序段停止,当不指定等待辅助功能M S 和T 功能完成时,在辅助功能完成之前, 程序执行到下列程序段而且分配完成信号DEN不输出自动运行控制的系统变量#3004#3004 进给暂停进给速度倍率准确停止0 有效有效有效1 无效有效有效2 有效无效有效3 无效无效有效4 有效有效无效5 无效有效无效6 有效无效无效7 无效无效无效当电源接通时该变量的值为0当进给暂停无效时1 当进给暂停按钮被按下时,机床在单段停止方式停止,但是当用变量#3003使单程序段方式无效时单程序段停止不执行。2 当进给暂停按钮压下又松开时,进给暂停灯亮,但是机床不停止程序继续执行,并且机床停在进给暂停有效的第一个程序段,当进给速度倍率无效时总是100%的倍率而不管机床操作面板上的进给速度倍率开关的设置。第三章 非圆曲线宏程序加工工艺 机械加工中常有由复杂曲线所构成的非圆曲线(如椭圆曲线、抛物线、双曲线和渐开线等)零件,随着工业产品性能要求的不断提高,非圆曲线零件的作用就日益重要,其加工质量往往成为生产制造的关键。数控机床的数控系统一般只具有直线插补和圆弧插补功能, 非圆曲线形状的工件在数控车削中属于较复杂的零件类别,一般运用拟合法来进行加工。而此类方法的特点是根据零件图纸的形状误差要求,把曲线用许多小段的直线来代替,根据零件图纸的形状误差,如果要求高,直线的段数就多,虽然可以凭借CAD软件来计算节点的坐标,但是节点太多也导致了加工中的不方便,如果能灵活运用宏程序,则可以方便简捷地进行编程,从而提高加工效率。 3.1、非圆曲线宏程序的使用步骤 (1) 选定自变量。非圆曲线中的X和Z坐标均可以被定义成为自变量,一般情况下会选择变化范围大的一个作为自变量,并且要考虑函数表达式在宏程序中书写的简便,为方便起见,我们事先把与Z 坐标相关的变量设为#100、#101,将X坐标相关的变量设为#200、#201等。(2)确定自变量起止点的坐标值。必 须要明确该坐标值的坐标系是相对于非 圆曲线自身的坐标系,其起点坐标为自变量的初始值,终点坐标为自变量的终止值。 (3)进行函数变换,确定因变量相对 于自变量的宏表达式。 (4)确定公式曲线自身坐标系的原点相对于工件原点的代数偏移量(X和Z)。 (5)计算工件坐标系下的非圆曲线上各点的X坐标值(#201)时,判别宏变量#200的正负号。以编程轮廓中的公式曲线自身坐标原点为原点,绘制对应的曲线坐标系的X 和Z 坐标轴,以其Z 坐标为分界 线,将轮廓分为正负两种轮廓,编程轮廓在X 正方向称为正轮廓,编程轮廓在X 负方向为负轮廓。 如果编程中使用的公式曲线是正轮廓,则在计算工件坐标系下的X坐标值(#201)时,宏变量#200的前面应冠以正号;如公式曲线是负轮廓,则宏变量#200的前面应冠以负号,即#201=#200+X 。 (6)设计非圆曲线宏程序的模板。设Z坐标为自变量#100,X坐标为因变量#200,自变量步长为w,X为曲线本身坐标系原点在工件坐标系下X方向偏移量,Z为曲线本身坐标系原点在工件坐标系下Z方向偏移量,则公式曲线段的加工程序宏指令编程模板如下。 #100=Z1 (定义自变量的起点Z坐标) WHILE #100 GE Z2DO 1 (加工控制) #200=f(#100) (建立自变量与因变量函数关系式) #201=#200+X (计算曲线上点在加工坐标系的X坐标) #101=#100+Z(计算曲线上点在加工坐标系的Z坐标) G01 X2*#201 Z#101F(曲线加工) #100=#100-w (自变量减小一个步距) END1 (加工结束) 3.2、非圆曲线宏程序的具体应用实例 运用以上非圆曲线宏程序模板,就可以快速准确实现零件公式曲线轮廓的编程和加工。下面介绍一个具体应用示例。加工图1所示椭圆轮廓,棒料45,编程零点放在工件右端面。 图1(1) 分析零件尺寸,确定正负轮廓及代数偏移量(X 和Z)。 由图1可知,该图中的椭圆曲线为凸状,编程轮廓在X 轴正方向为正轮廓,在计算工件坐标系下的X 坐标值(#3、#201)时,宏变量#200的前面应冠以正号,公式曲线自身坐标系的原点相对于 工件原点的偏移量为(X0,Z-60)。 (2)零件的外轮廓粗精加工参考程序如下(粗加工用直角方程,精加工用极坐标方程)。 O9988 G98 S700 M3; T0101; G0 0X41 Z2; G01 Z-100 F150; (粗加工开始) G00 X42; Z2; #1=20*20*4; (4a2) #2=60; (b) #3=35 ; (X初值(直径值) WHILE #3 GE 0 DO1; (粗加工控制) #100=#2*SQRT1-#3*#3/#1; (Z) #101=#100-60+0.2 G00 X#3+1 ; (进刀) G01 Z#101 F150; (切削) G00 U1; (退刀) Z2; (返回) #3=#3-4; (下一刀切削直径) END1; #10=0.8; (X向精加工余量) #11=0.1; (Z向精加工余量) WHILE #10 GE 0 DO1; (半精、精加工控制) G00 X0 S800; (进刀,准备精加工) #20=0 ; (角度初值) WHILE #20 LE 90 DO2; (曲线加工范围) #200=2*20*SIN#20; (X) #201=#200+#10 #100=60*COS#20; (Z) #101=#100+#11-60; G01X#201Z#101 F100; (曲线 精加工) #20=#20+1; END2; G01 Z-100; G00 X45 Z2; #10=#10-0.8; #11=#11-0.1; END1; G0 X100 Z200; M30; 3.3 用户宏程序应用举例 例:用宏程序和子程序功能顺序加工圆周等分孔。设圆心在O点,它在机床坐标系中的坐标为(X0,Y0),在半径为r的圆周上均匀地钻几个等分孔,起始角度为,孔数为n。以零件上表面为Z向零点。见图3.3。 使用以下保持型变量: #502:半径r;#503:起始角度;#504:孔数n,当n0时,按逆时针方向加工,当n0时,按顺时针方向加工;#505:孔底Z坐标值;#506:R平面Z坐标值;#507:F进给量。 使用以下变量进行操作运算: #100:表示第i步钻第i孔的记数器; 图3.3#101:记数器的最终值(为n 的绝对值);#102:第i个孔的角度位置i的值; #103:第i个孔的X坐标值;#104:第i个孔的Y坐标值;用用户宏程序编制的钻孔子程序如下: O9010N110 G65 H01 P#100 Q0 #100 = 0N120 G65 H22 P#101 Q#504 #101 = #504N130 G65 H04 P#102 Q#100 R360 #102 = #100 360oN140 G65 H05 P#102 Q#102 R#504 #102 = #102 / #504N150 G65 H02 P#102 Q#503 R#102 #102 = #503 + #102孔角度位置i =+ (360oi) / nN160 G65 H32 P#103 Q#502 R#102 #103 = #502 COS(#102)当前孔的 X坐标N170 G65 H31 P#104 Q#502 R#102 #104 = #502 SIN(#102) 当前孔的Y坐标N180 G90 G00 X#103 Y#104 定位到当前孔(返回开始平面)N190 G00 Z#506 快速进到R平面N200 G01 Z#505 F#507 加工当前孔N210 G00 Z#506 快速退到R平面N220 G65 H02 P#100 Q#100 R1 #100 = #100+1孔计数N230 G65 H84 P-130 Q#100 R#101 当#100 #101时,向上返回到130程序段N240 M99 子程序结束调用上述子程序的主程序如下: O0010N10 G54 G90 G00 X0 Y0 Z20 进入加工坐标系N20 M98 P9010 调用钻孔子程序,加工圆周等分孔N30 Z20 抬刀N40 G00 G90 X0 Y0 返回加工坐标系零点 N50 M30 程序结束设置G54:X=-400,Y=-100,Z=-50。变量#500#507可在程序中赋值,也可由MDI方式设定。第四章 宏程序编程实例4.1 编程实例用数控车床完成如图42所示零件的加工。零件材料为45钢,毛坯为图(a):50100,图(b):5052,按图样要求完成零件节点、基

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论