您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 制造加工工艺 > 加工中心宏程序应用案例
1加工中心宏程序应用案例前言当前我国制造业正处于高速发展时期,其中数控加工在制造业中占有重要地位,企业急需高素质的数控技能人才。数控程序的编写已经成为数控工人必备的知识,宏编程更是提高编程技能与操作技能不可或缺的工具。随着计算机技术的发展,CAD/CAM编程已经成为当前主流的编程方式,但是它并不能替代宏编程。宏编程作为手工编程的扩展,可以提供更灵活的编程方式,它可以使我们的编程工作变得非常简单、高效。随着个人工作经验的增长,宏编程会发挥更大的作用,产生更高的生产效率。不同的数控系统会提供不同的宏程序编写格式,甚至不同的系统型号也会有所差异,但是在编程思路与技巧上是一致的。本书采用市场拥有率较高的FANUC0i系统作为我们学习宏编程的工具。尽管学习宏程序会花费一些时间,但这是非常值得的。本书中的案例是编者多年的工作经验的积累,既可以作为数控编程人员的参考书,也可以作为学习宏编程的入门学习。书中案例大部分来自生产实际,是生产环境下使用的很好的企业培训教材。尽管书中的的案例都经过多次调试,但在编写过程中难免出现各种纰漏,朋友们在实际加工前,一定要多次调试。由于编者水平有限,对于书中欠妥之处,欢迎读者交流指正。我们使用宏程序的目的是把我们的工作变得轻松,变得充满乐趣。最后预祝大家工作愉快!编者2011年5月2第一章宏程序入门第1节有关宏程序的定义1什么是宏程序2宏程序程序种类3宏程序能解决什么问题第2节变量1变量的定义2变量的赋值3变量的种类1)局部变量2)全局变量3)空变量4系统变量第3节宏程序中的函数1算术函数2三角函数3四舍五入函数4辅助函数5比较函数6逻辑函数第4节宏程序的分支与循环1分支函数IF1)IF…TOGOn…语句2)IF…THEN…语句3WHILE循环语句1)循环结构2)循环深度第5节FANUC0i常用系统变量的介绍1用于数据设置的系统变量1)使用G10输入工件坐标系偏置2)使用系统变量输入工件坐标系偏置3)使用G10输入刀具补偿4)使用系统变量输入刀具几何偏置2用于模态数据的系统变量1)用于G代码模态的系统变量2)用于当前位置的系统变量3)用于且切削用量的系统变量3用于PLC的系统变量1)#3000用户宏程序报警2)行程开关第6节用户宏程序的调用1用户宏程序的调用1)宏调用指令G652)G65的数据传递3)G65与M98的区别2用户宏程序的模态调用33用户宏程序的保护与隐藏第7节如何编写出好的宏程序第二章应用案例第1节相似零件的加工案例零件1.1模具底板零件1.2冲模型芯零件1.3钻模板零件1.4马达垫片零件1.5样板加工零件1.6孔的螺旋铣削零件1.7螺纹的铣孔第2节曲线曲面插补的加工案例零件2.1插补椭圆零件2.2插补抛物线零件2.3正弦曲线插补零件2.4混合曲线插补零件2.5铣削给定公式曲线零件2.6端面螺纹的铣孔零件零件2.7插补球面零件2.8插补正弦曲面零件2.9插补直纹面第3节设置机床加工参数零件3.1倒角零件3.2倒圆零件3.2综合练习第4节定制固定循环案例1钻孔循环程序零件4.1零件4.22深孔排屑循环3深孔断屑循环零件4.3断屑钻孔零件4.4排屑钻孔4精镗孔循环零件4.55铣孔循环零件4.66螺旋铣孔零件4.7零件4.87铣槽循环零件4.9零件4.10第5节定制G代码案例1定制圆周均布孔加工代码G11零件5.14零件5.2墙板2定制矩阵孔加工代码G12零件5.33定制矩阵加工代码G110零件5.4零件5.54定制刀具切削寿命统计代码零件5.6第6节检测与测量零件6探针对刀程序探针测量程序1探针测量程序2第7节捷径应用案例1加工中心换刀2交换工作台第8节4轴加工中心编程案例零件8.1阀芯零件8.2槽轮零件8.34轴定位加工零件8.4箱体附录1:FANUCoi系统代码G代码M代码其他代码附录2:FANUCoi系统变量5第一章宏程序介绍宏编程作为手工编程的一部分,是手工编程的扩展和延伸,是对手工编程必要的补充。尽管CAD/CAM软件已经非常普及,但是它们并不能完全替代宏编程。宏编程使我们学会思考,能够更好地理解编程过程,并在编程中得到宝贵的训练,积累更多的编程经验。要想成为一名优秀的编程员,熟知技能是重要的前提条件,而基本技能则蕴含在对手工编程特别是宏程序的理解中。对于初学者,要学好宏程序,必须先熟知G代码和M代码、子程序、基本的加工经验和编程基础知识。有关本章练习中的程序,可能仅仅是为了解释某个知识点,或为了某一项训练,并不代表是成熟的程序。第一节有关宏程序的定义一、什么是宏程序通常把含有宏语句的程序称之为宏程序,也有系统把参数化编程称之为编写宏程序。宏编程就是一种手工编写零件加工程序的方法,它附加于标准CNC程序,使数控编程功能更强大、更灵活。从编程特点上说,具有计算机高级语言(例如:BASIC)编程的特征。二、宏程序种类1.第一类:普通宏程序这是学习宏程序的初步阶段,通常以主程序的形式出现。普通宏程序只考虑当前加工的需要,通常较简单,一般只为解决某一个问题,不具有通用性。但通过此阶段的学习可以为编制用户宏程序打下良好的基础。下面是一个普通宏程序:2.第二类:用户宏程序这是宏程序应用的成熟阶段。它以子程序的方式出现,使用时通过主程序调用,并可以通过指定参数向子程序传递加工数据。用户宏程序通常是为完成某一类型的加工任务而设计,需要事先编好,并在各种情况下进行可行性验证,而后作为子程序保存。使用时可用G65(或G66)调用,通用性较好。用户宏程序是用户知识、技巧、经验的积累和总结。用户宏程序的特点是:短小,精炼,高效。通俗的说,就是小程序解决大问题。下面是一个用户宏程序的调用:O1(普通宏程序)#1=10G90G00G54X0Y0Z100G01Z-5F80Y-#1G02J#1G00Z100M306三、宏程序能解决什么问题宏程序之所以值得学习,是因为它可以帮助我们解决某类问题,可以简化我们的工作。下面是经常用到宏程序的一些地方(但并不是全部)。1.相似零件的加工主要是完成零件某一部位的重复加工,或有规律的重复某一个动作。2.非标轨迹插补也称曲线曲面的插补加工,是根据给定的数学公式、数学模型等已知条件,使用G01或G02来完成曲线、曲面的插补。3.设置机床加工参数(刀具参数、坐标参数)把工件坐标系、刀具长度补偿、刀具半径补偿等一些参数通过特定的宏程序语句写在程序中。系统在执行这些宏语句后,根据提供的信息填写到对应的偏置寄存器中。4.定制固定循环根据自己的特定加工领域,以用户宏程序的形式编写一些自己常用的加工循环,例如铣槽循环、钻孔循环、镗孔循环等。5.定制G代码例如:G12,G13,G110等,是把一些经常用到的计算方法,加工经验,或经常调用的用户宏程序等设置到一个特定G代码中,以简化编程,提高效率。6.检测与测量包括机床工作状态的检测、工件加工尺寸精度的测量、自动建立工件坐标系、机内对刀等。7.捷径应用如加工中心的换刀程序、交换工作台等。8.多轴加工提示:不同的数控系统有可能仅具有上述应用中的部分内容。第二节变量变量是宏程序最基本的特征,也是宏程序区别与普通宏程序的标志。一、变量的定义变量是一个数学等价物,是与常数相对应的。在计算机技术中,一个变量对应一个存储器。在宏程序中,变量只能存储数字。可以用常见的小型科学计算器来解释变量的概念。即使是最便宜的计算器,也有一个临时存储单元,对应的按键是M键。我们计算的中间数据,可以存放到里面,供后面的计算使用,这个存储单元本身就是一个变量(计算器说明书上称之为存储器)。变量名字本身意味着它里面的数据在计算过程中是随时变化的。在FANUC系统中,用符号“#”和一个数字的组合表示一个变量,例如:#3表示3号变量,#13表示13号变量,#123表示123号变量。二、变量的赋值在计算机高级语言编程中,变量的赋值也称之为变量的声明。变量在使用前,必须先往里面存入数据,存入数据的过程就是变量的赋值。例如:#1=15表示把数字15存入变量#1,#12=1.05表示把数字1.05存入变量#12。提示:在这里符号“=”不是等号,是赋值号。O1001(用户宏程序)G01Y-#1F#5G02J#1M99O1(主程序)G90G00G54X0Y0G65P1001A5J80M307变量赋值后,就可以使用了。例如:1.练习一(图1-1)(1)工艺条件工件零点在工件上表面R15mm的圆心点,刀具采用φ16mm高速钢铣刀。图1-1练习一加工图(2)参考程序O1#1=7(注释:R15-φ8=7)G90G00G54X0Y-22M3S450Z100Z5G01Z-5F60Y-#1G02J#1G00Z100M30提示:在程序中利用变量#1来代表铣削半径。当刀具磨损后,直接修改变量值就可以实现精加工。使用变量后,利用R15圆弧的缺口进刀,程序就变得非常简单。2.练习二(图1-2)在单件生产中,可以利用修改变量的值实现分层加工。(1)工艺条件工件零点在工件上表面φ40mm圆心点,刀具采用φ30mm高速钢铣刀。8图1-2练习二加工图(2)参考程序O2#1=-2#2=35G90G00G54X0Y50M3S240Z100Z5Z#1Y#2F30G02J-#2G00Z100提示:程序每执行一遍,就修改程序中#1的值为-4,-6,-8,-10,就可以完成零件的分层加工。3.练习三(图1-3)(1)工艺条件工件零点在工件上表面φ16mm圆心点,刀具采用φ16mm高速钢铣刀。编程轨迹如图1-4所示。图1-3练习三加工图(2)参考程序O19#1=-5(依次设为-2.5,-5实现分层加工)G40G17G90G00G54X-20Y25M3S400G43H1Z100Z5G01Z#1F100G41D1Y8X-15G02J-8G01X-10G40Y25G00Z5;(不同加工轮廓之间用空行分开,可以提高程序的清晰度)G00X35Y20Z5G01Z#1F100G41D1X23Y-8X13Y8X35G40Y20G00Z100M30提示:在程序中加入图1-4练习三编程轨迹刀具半径补偿时,采用了延长切线的进刀方法。三、变量的种类FANUC0i系统的变量分为:空变量、局部变量、全局变量和系统变量。理解这些变量非常重要,特别是它们的不同之处。1.空变量#0被定义成空变量,空变量意味着对应的存储器是空的,而不是0。#0不能被赋值,而仅仅用于清除其他变量的值。在程序的坐标语句中如果引用了一个空变量,那么引用该变量的坐标轴运动将被忽略。练习四。O1#1=1#2=20#3=30#1=#0(清除变量#1中的数值,#1将变成空变量)#2=#1(清除变量#2中的数值,因为#1已经变成了一个空变量)M00N10G90G00G54X#1Y#3M3S500Z100N20G01Z#2F8010G00Z100M30提示:在N10程序段,系统仅执行G90G00G54Y30,而忽略X;在N20程序段,系统仅执行G01F80,而忽略Z。局部变量和全局变量经常使初学者产生混淆,下面我们将分别对局部变量和全局变量进行说明。2.局部变量局部变量只在当前程序有效。变量在主程序中定义,那就只在主程序中有效;如果在子程序中定义,那就只在子程序中有效。在主程序中定义的局部变量不能被带到子程序中,同样在子程序中定义的局部变量也不能被带入到主程序中或其他的子程序中。在FANUC系统中只定义33个局部变量,分别是#1,#2,#3~#33。当程序执行结束(M30,M02),或遇到复位操作时,局部变量将被清空。练习五。阅读下面的程序,看看局部变量有什么变化。O1#1=15#2=120G90G00G54X0Y0M3S500Z100Z5G01Z-5F80N10G01X#1Y#2M98P101N30G01X#1Y#2M98P102N50G01X#1Y#2G00Z100M30试试看:在执行程序O1的过程中,程序段N10G01X#1Y#2;中#1和#2的值分别是____,____;程序段N20G01X#1Y#2;中#1和#2的值分别是____,____;程序段N30G01X#1Y#2;中#1和#2的
本文标题:加工中心宏程序应用案例
链接地址:https://www.777doc.com/doc-5234833 .html