宏程序编程设计(共7篇)
宏程序编程设计 篇1
义马煤炭高级技工学校数控车床主要为FANUC oi mate TC系统, 本文将数控车中的宏程序编程制作成标准模板, 使学生能快速的学会宏程序, 现通过两个实例进行探讨。
1 设计模板
分析图纸, 根据方程和坐标系的偏移及正负号的判断, 设计宏程序的编程模板。
1.1 选定函数的宏表达式
如图1, 椭圆的表达式可化为。, 设Z为自变量#2, X为变量#1, 即得宏表达式:#1=10*SQRT[20*20-#2*#2]/20。
如图2, Z=0.1X2, 设X为自变量#1, Z为变量#2, 即得宏表达式:#2=0.1*[#1]*[#1]。
1.2 确定自变量的起点和终点坐标
如图1, 所车椭圆线段的Z坐标为#2, 起点为Z1=25, 终点为Z2=0。
如图2, 所车抛物线段的X坐标为#1, 起点为X1=10, 终点为X2=0。
1.3 确定公式曲线坐标系原点相对编程原点的偏移量
如图1, 椭圆线段原点相对于编程原点的X轴偏移量ΔX=10, Z轴偏移量△Z=-25;
如图2, 抛物线段原点相对于编程原点的X轴偏移量ΔX=20, Z轴偏移量△Z=-15;
1.4 宏编程模板
下面给出分别以Z为自变量和以X为自变量, 曲线段的精加工程序宏指令编程模板如下:
说明:1) #11为工件坐标系下的X坐标值:#22为件坐标系下的Z坐标值;2) 宏变量#1的正负号可以根据加工部分线段的形态来确定。如果所用线段处于X正方向则为正号, 如图1。如果所用线段处于X负方向则为负号, 如图2。
2 宏程序编程模板的具体应用实例
运用线宏程序模板, 结合粗加工循环指令, 可以快速准确进行零件的编程加工。设毛坯为直径45mm的棒料, 下面列表说明两个图形的参考程序。
在数控实操比赛中, 如果参赛直接套用该模板, 就能正确、快速地完成宏程序的编制, 为大赛赢得宝贵时间, 取得优异成绩。
参考文献
[1]盛利强.数控车非圆曲线轮廓的加工——宏程序编程思路[J].机械研究与应用, 2009 (3) .
[2]徐国胜, 王健, 谭斌.宏编程技术在数控车床上的应用[J].天津工程师范学院学报, 2005 (4) .
宏程序编程设计 篇2
宏程序的应用能够简化数控程序, 使手工编程更加灵活, 提高程序的加工效率。宏程序在圆锥曲线加工的应用中, 被研究的最多的还是椭圆轮廓, 对于抛物线轮廓该怎样进行程序设计和加工, 其研究还有待于进一步的深入。
就抛物线轮廓的加工而言, 文献[1-3]等都有一定的探讨, 但是对抛物线轨迹的数学分析以及实际加工的应用实现中还有一定的欠缺。因此, 本文主要结合实际加工中常出现的抛物线轮廓形态, 探讨抛物线轮廓零件数控车削加工中的编程设计和加工实现。
1 车削加工抛物线轮廓的数学分析
抛物线轮廓在车削零件中经常出现的形式分为以下两类共计四种, 现作数学处理如下。
1.1 抛物线轮廓在坐标系中竖向呈列
竖向呈列的抛物线为X2=2p Z和X2=-2p Z两种。为清楚的进行程序设计, 建立坐标系如图1所示, X1O1Z1为以抛物线中心为坐标原点建立的抛物线坐标系, XOZ为工件坐标系, 抛物线坐标系中心为工件坐标系平移 (w, u) 处。
图1中虚线部分为完整抛物线, 实线部分为被切削加工的抛物线轮廓部分, 即实际编程车削部分, c为切削加工起点, d为切削加工终点。
在抛物线坐标系中计算坐标值, 右侧抛物线在第1、4象限内:
左侧抛物线在第2、3象限内:
将 (1) (2) 式的坐标数据转换到工件坐标系中XOZ中, 右侧抛物线在第1、4象限内可转换为:
左侧抛物线在第2、3象限内可转换为:
在X向作分段, 以0.2~0.05 mm为一个步距, 并把X1作为自变量, Z作为X1的函数, 变量赋值以#26赋值Z, #24赋值X, 变量表达分别为:
抛物线插补指令为:G01 X[2*#24]Z#26。
1.2 抛物线轮廓在坐标系中横向呈列
横向呈列的抛物线为Z2=2p X和Z2=-2p X两种, 如图2所示。
在抛物线坐标系中计算坐标值, Z轴上面凹抛物线在第1、2象限内:
Z轴下面凸抛物线在第3、4象限内:
将 (7) (8) 式的坐标数据转换到工件坐标系中XOZ中, Z轴上面凹抛物线在第1、2象限内可转换为:
Z轴下面凸抛物线在第3、4象限内可转换为:
在Z向作分段, 以0.2~0.05 mm为一个步距, 并把Z1作为自变量, X作为Z1的函数, 变量赋值以#26赋值Z, #24赋值X, 变量表达分别为:
抛物线插补指令依然为:G01 X[2*#24]Z#26。
2 加工模型建立
建立的加工模型如图3所示[4], 材料为45钢。该零件上有两段双曲线轮廓需要加工, 分别属于双曲线焦点在X轴和Z轴两种情况, 因FANUC系统只能用G73指令嵌套宏程序, 且端面和轴向轮廓加工中的工艺设计有一定区别, 考虑编写两段程序对两处双曲线轮廓分开加工。
3 程序设计
以FANUC 0i数控车系统为载体[5,6], 程序编写的大致思路为:选择抛物线标准方程进行编程, 设定轮廓加工X (或Z) 向的起始尺寸c (以抛物线坐标系中心为零点计算) 为循环变量 (即自变量) , 在X (或Z) 向进行分段, 根据选用的机床和工艺装备, 确定符合加工精度的要求进给步距I。设定抛物线加工X (或Z) 向终点尺寸d (以抛物线坐标系中心为零点计算) 为加工终点的比较值, 每加工一个步距值后, 循环变量计算值为“c+I” (或“c-I”) , 比较判断“c+I” (或“c-I”) 与“d”, 当“c+I>d” (或“c-I<d”) 时, 到达加工终点, 抛物线加工终止。
数控加工程序设计流程如图4所示。
3.1 抛物线外轮廓编程设计
该抛物线零件外轮廓加工如前1.2所述情况, 在程序设计中代入公式 (11) 。如下所示。
3.2 抛物线内轮廓粗加工编程设计
该零件内轮廓加工有一段抛物线轨迹, 具体分析该段的加工, 由于其在内孔如果考虑直接嵌套循环指令加工, 将会因为没有足够的退刀空间而无法实现。而在实际加工该段轨迹中因考虑到其加工余量并不大, 可在粗加工时视为一段直线加工, 留出足够余量, 待精加工时一次性车削成型即可。沿用该思路则内孔部分的粗加工编程考虑为一般的内孔加工情况, 直接应用G71指令即可。
3.3 抛物线内轮廓精加工编程设计
该抛物线零件内轮廓精加工如前1.1所述情况, 在程序设计中代入公式 (5) , 因为只是精加工一刀切削程序故不需要考虑循环嵌套等因素。
4 仿真试验及结果
应用斯沃数控仿真软件进行仿真试验, 机床系统选取FANUC 0i-TC系统, 将设计的程序代入并完成模拟加工测试, 抛物线外轮廓加工轨迹如图5所示, 抛物线内轮廓粗加工轨迹如图6所示, 抛物线内轮廓精加工轨迹如图7所示, 零件的仿真加工效果如图8所示。
5 结论与讨论
针对抛物线轮廓零件编程设计及加工应用的问题, 着重讨论了抛物线在数控车削加工中存在的不同形态以及针对这些不同情况所应采取的数学处理和编程计算, 选取典型实例进行分析和讨论, 通过仿真试验, 结果说明应用宏程序进行程序设计, 采用小段直线去逼近轮廓曲线的编程思路是可行的, 以此为例可用来解决类似的抛物线轮廓零件加工问题。
参考文献
[1]魏法明.一种抛物线轮廓的数控加工方法[J].机械工程师, 2008 (10) :112-113.
[2]甘艳平.数控车床中抛物线轮廓仿形加工的宏程序编制[J].机械研究与应用, 2012 (3) :170-172.
[3]孙样国, 王春, 张良栋.基于宏程序的抛物线形零件的数控加工[J].煤矿机械, 2012, 33 (6) :128-130.
[4]胡育辉, 赵宏立, 张宇, 等.数控宏编程手册[M].北京:化学工业出版社, 2010.
[5]北京发那克机电有限公司.FANUC Series 0i-TC操作说明书[Z].北京:发那克机电有限公司, 2004.
浅谈宏程序编程 篇3
数控编程一般分为两类:即手工编程和CAD/CAM自动编程, 采用哪种编程方法应根据具体的零件加工形状的难易程度而定。
1.1 手工编程
手工编程就是从分析零件图样、确定加工工艺过程、数值计算、编写零件加工程序单、程序输入数控系统到程序校验都由人工完成。手工编程又可分为普通程序编程和宏程序编程。所谓普通程序编程, 其实是相对于宏程序编程而言的, 它是大多数人经常使用的手工编程方法, 这种编程方法是使用ISO代码或其它标准代码指令编程, 每个代码的功能是固定的, 由系统生产厂家开发, 使用者只需也只能按照规定编程, 所有的参数坐标都是事先定好的。但有时候这些固定格式的指令不能满足用户灵活的需求, 如图1所示的孔系, 如果加工时孔的数量、分布直径等随时依据情况变化时, 使用固定坐标的程序显然不够灵活。因此, 数控系统提供了用户宏程序, 使编程更具灵活性。
1.2 CAD/CAM自动编程
CAD/CAM自动编程也叫计算机辅助数控编程, 它是以待加工零件CAD模型为基础的一种集加工工艺规划及数控编程为一体的自动编程方法。它的编程过程是借助于自动编程软件, 在电脑上进行零件加工建模, 选择机床和刀具, 确定刀具运动方式、切削加工参数, 自动生成刀具轨迹和程序代码。最后经过后置处理, 按照所使用机床规定的文件格式生成加工程序。通过串行通信的方式将加工程序传送到数控机床的数控单元。目前主要自动编程软件有UG、Cimatron、MasterCAM、CATIA、CAXA等。
2 宏程序编程和普通程序编程的比较
2.1 程序比较
用户宏程序和普通程序存在一定的区别, 表1是它们的简要对比。
2.2 功能比较
普通程序编程对于较简单的二维加工具有灵活、方便、快捷的优点, 但对于某些二维加工却显得臃长, 如用数控铣床加工图2所示的平底圆槽, 假设现有铣刀为Φ16, 由外向里加工, 行距为12 mm, 只加工一层2 mm深, 下面按FANUC0i系统分别用普通程序和宏程序进行编程。
普通程序编程如下:
宏程序编程如下:
由上面可以看出, 宏程序编程要比普通程序编程显得简洁、灵活, 因为若随着加工圆槽的半径变大、刀具半径变小, 普通程序编程的程序会越来越长, 修改也很不方便, 而宏程序编程的程序不会变长, 只要改变几个相应的参数, 或把这几个参数也设为变量将更加简便。
另外, 对于一些有规律的可以用公式表达的曲线或曲面, 普通程序编程是望尘莫及的, 而宏程序编程更显出其独特的优势。如图3所示的椭圆槽加工, 普通程序编程难以完成, 而用宏程序编程则较容易。
假设现有铣刀为Φ8, 由外向里加工, 行距为6 mm, 只加工一层2 mm深, 下面按FANUC0i系统用宏程序进行编程。
3 宏程序编程的特点
宏程序编程的最大特点, 就是将有规律的形状或尺寸用最短的程序表示出来, 具有极好的易读性和易修改性, 编写出的程序非常简洁, 逻辑严密, 通用性极强, 而且机床在执行此类程序时, 较执行CAD/CAM软件生成的程序更加快捷, 反应更迅速。
宏程序具有灵活性、通用性和智能性等特点, 例如对于规则曲面的编程来说, 使用CAD/CAM软件编程一般都具有工作量大, 程序庞大, 加工参数不易修改等缺点, 只要任何一样加工参数发生变化, 再智能的软件也要根据变化后的加工参数重新计算道刀具轨迹, 尽管计算速度非常快, 但始终是个比较麻烦的过程。而宏程序则注重把机床功能参数与编程语言结合, 而且灵活的参数设置也使机床具有最佳的工作性能, 同时也给予操作工人极大的自由调整空间。
从模块化加工的角度看, 宏程序最具有模块化的思想和资质条件, 编程人员只需要根据零件几何信息和不同的数学模型即可完成相应的模块化加工程序设计, 应用时只需要把零件信息、加工参数等输入到相应模块的调用语句中, 就能使编程人员从繁琐的、大量重复性的编程工作中解脱出来, 有一劳永逸的效果。
另外, 由于宏程序基本上包含了所有的加工信息 (如所使用刀具的几何尺寸信息等) , 而且非常简明、直观, 通过简单地存储和调用, 就可以很方便地重现当时的加工状态, 给周期性的生产特别是不定期的间隔式生产带来了极大的便利。
4 宏程序和CAD/CAM软件生成程序的加工性能比较
任何数控加工只要能够用宏程序完整地表达, 即使再复杂, 其程序篇幅都比较短, 一般很少超过60行, 至多不过2KB。
一方面, 宏程序天生短小精悍, 即使是最廉价的数控系统, 其内部程序存储空间也会有10KB左右, 完全容纳得下任何复杂的宏程序, 因此不像CAD/CAM软件那样需考虑机床与外部电脑的传输速度对实际加工速度的影响问题。
另一方面, 为了对复杂的加工运动进行描述, 宏程序必然会最大限度地使用数控系统内部的各种指令代码, 例如直线插补G01指令和圆弧插补G02/G03指令等。因此机床在执行宏程序时, 数控系统的计算机可以直接进行插补运算, 且运算速度极快, 再加上伺服电机和机床的迅速响应, 使得加工效率极高。
而对于CAD/CAM软件生成的程序, 情况要复杂得多。
再举一个简单的例子, 如用铣刀以螺旋方式加工内圆孔, 使用宏程序不仅非常简短, 而且机床实际运行时, 执行进给速度F=2000 mm/min都可以保持非常均匀、快速的螺旋运动;而在Cimatron软件中, 即使通过使用外部用户功能生成相似的刀具轨迹, 但刀具轨迹是根据给定的误差值用G01逐段逼近实现的, 其程序就比宏程序大两个数量级, 而且即使把整个程序都存入到机床的控制系统中, 当机床运行时的实际速度上不去, 进给速度小于600 mm/min时还不明显, 如果F设定为1000 mm/min左右, 就可以看到机床在明显的“颤抖”。
5 结语
综上所述, 宏程序能简化二维编程中普通程序编程的繁琐问题, 能解决二维编程中普通程序编程不能解决的有规律的曲线和曲面编程问题。另外, 在加工有规律的曲面时, 宏程序能克服CAD/CAM软件编程所无法避免的加工问题。所以, 宏程序编程具有普通程序编程和CAD/CAM软件编程无法替代的作用。
参考文献
[1]陈海舟.数控铣削加工宏程序及其应用实例.
[2]谢晓红.数控车削编程与加工技术.
宏程序加工任意孔编程应用 篇4
编制宏程序及说明如下:
编程分析:
(1) 孔圆心在X轴负方向时G02 I值为正 (如图3所示) , 孔圆心在X轴正方向时G02 I值为负 (如图4所示) 。刀具中心运动轨迹为A BCDEFCGA, ABC圆弧连续切入, CGA圆弧连续切出, 刀具连续运动避免了刀具停留, 提高圆孔表面加工质量。
(2) 孔在坐标系中的位置发生变化时, 只需改变#1 (X方向孔圆心与坐标原点的距离) 、#2 (Y方向孔圆心的坐标) 的参数即可;孔的深度、孔的半径变化时只需改变#5、#7的参数即可;变换刀具半径时改变#8参数。
(3) 普通手工编程有时要用增量坐标、子程序、刀具半径左、右补偿等方法, 孔在坐标系中的位置、孔的深度及孔的半径发生变化时, 每次都得重新编写程序, 且又比较繁琐, 占用内存较大。
(4) 此程序用了WHILE循环语句、IF比较判断语句, 虽然编程时逻辑思维比较复杂, 但是整个程序比较短, 通用性强, 每次被加工零件参数变化了, 也不需要重新编写宏程序, 适合加工任意位置的孔。
(5) 程序难点是在编程时要考虑#6、#9、#10及R值变量的正负号。
浅谈宏程序的编程原理及应用 篇5
随着数控机床的普及和数控技术的推广,数控编程在机械制造行业中越来越重要。先进的数控系统不仅向用户编程提供了一般的准备功能和辅助功能,而且为编程提供了扩展数控功能的手段。在数控加工中经常会遇到复杂轮廓的加工(如抛物线、椭圆、双曲线、半球、螺旋线等),用普通的手工编程方法处理周期长、计算量大、精度差、容易出错,难以满足生产要求。FANUC数控系统的宏指令编程,应用灵活,形式自由,具备计算机高级语言的表达式、算式和逻辑运算等类似的程序流程,使复杂轮廓的加工程序变得简练易懂,可以缓解手工编程中的不足之处。
2 宏程序概述
在FANUC系统中,包含变量、转向、比较判别等功能的指令称为宏指令,包含有宏指令的子程序称为宏程序。数控宏程序从发展历史上看,有宏程序A和宏程序B两种。宏程序A不能使用运算符和函数名,现已几乎不用;宏程序B可以象计算机编程一样使用变量、运算符和函数名,而且运算符和函数名与计算机编程大体相同,程序易于理解。本文所说的宏程序均指宏程序B。
通常人们所指的宏程序有两个含义,一个是指在程序体中直接使用变量,另一个是指宏程序调用。要使用数控宏程序编程,必须对所使用的数控系统的原有代码有充分的了解并能熟练运用,以免因为对现有功能不了解而又编制宏程序来实现,使简单的问题复杂化。数控宏程序与空间解析几何、微积分、逻辑代数、CAD/CAM、计算机程序设计、机械加工、数控系统等学科(领域)有着紧密的联系,决不能孤立地看待数控宏程序编程。
3 宏程序中变量的使用
既然数控编程称之为“编程”,正如计算机编程中要使用变量一样,数控程序中也需要使用变量。要进行程序流程控制,变量是必不可少的。数控宏程序中的变量是用符号#加上变量号码所构成的,即#i(i=1、2、3、……),例如#1就是一个变量。给变量赋值的方法和计算机编程一样,如#1=5(相当于Basic或C语言的a=5,Pascal的a:=5。)。变量也可以用公式的形式来表示,但此时必须用括号把公式括起来,即#[表达式]的形式来表示,例如#[#1+#2-12]。用公式指定时在公式的前、后要加上方括号,例如G01X[#1+#2]F#3。但要注意的是,作为地址符的O、N、/等后面不能引用变量,如O#27、N#1等都是错误的。
被引用的变量值按各地址的最小设定单位进行四舍五入,例如对于最小设定单位为1/1000的数控系统,当#1为12.3456,若执行G00X#1,相当于G00X12.346,若要改变变量值的符号引用时,要在“#”号前加上“-”号,例如G00X-#1。没有定义变量值的状态称为空变量,#0通常为空变量,可以读取但不能写入,空变量不等于变量值为0的状态。引用未定义变量时,连同地址字无效,例如:#1为0、#2为(空)时,若执行G00X#1Z#2,则为G00X0。
数控编程中的变量按作用领域分为三类:局部变量、公共变量、系统变量。#1-#33是局部变量,局部变量只在本程序内起作用;#100-#149、#500-#531是公共变量,在所有程序中起作用;#1000以上的是系统变量,控制着机床运行的各种状态,不要轻易修改。局部变量不能在程序运行时再加以修改,只能由程序控制。在使用局部变量时,必须在程序中赋初值。公共变量可以在程序运行时人为地加以修改。在使用公共变量时,可以不在程序中赋初值,而在加工时打入所需值。
4 宏程序中使用的控制语句
在宏程序中使用GOTO、IF语句可以改变程序的流程,转移与循环有以下3种。
(1)无条件转移(GOTO语句),语句格式为:GOTO n;其中n为顺序号(1-9999),可用变量表示。例如: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可以是常量也可以是表达式,条件式必须用括弧括起来,例如:IF[#10 LT 25]GOTO 100;这个程序段表示假如#10小于25的话,则转到程序段号为100的程序段,否则执行下一个程序段。
(3)循环语句(WHILE语句),语句格式为:
WHILE[条件式]DO m(m=1,2,3)
…
END m
当条件语句成立时,程序执行从DO m到END m之间的程序段;如果条件不成立,则执行END m之后的程序段。DO和END后的数字是用于表明循环执行范围的识别号。可以使用数字1、2和3,如果是其他数字,系统会产生报警。DO-END循环能够按需执行多次。
5 宏程序的编程原理及编程方法
用户宏程序编程是用变量作为数据进行编程,变量在编程中充当替代物的角色,已经在程序中赋值的变量,在后续程序中可被重新赋值,原来的值被新的所覆盖。利用控制系统可对变量值进行计算和变量可以被重新赋值的特性,使变量随程序的循环自动增加并计算,以实现加工过程的自动循环。在进行复杂非圆曲线的加工中,系统可以自动算出整个非圆曲线上的一系列坐标点的值,从而用很短的直线或圆弧线段逼近理论轮廓曲线,满足零件设计精度的要求。
程序中以G65指令调用宏程序,宏程序中仍以M99指令返回上一级程序。宏程序可以嵌套调用,最多4层。但固定循环不计入层数。宏程序的调用格式是G65(或G66)P_L_[参数]。
根据用户宏程序的编程原理,用户宏程序编程的方法
可总结如下:
(1)首先将变量初始化,即给变量赋初值;
(2)编制加工程序,若程序较复杂,所用变量较多,可另设子程序,使得主程序简练易读;
(3)修改变量的值;
(4)判断是否加工完毕,若否,则返回执行加工程序;若是,则程序结束。
宏指令编程的程序结构框图如图1所示。
6 宏程序的编程实例
例:精铣如图2所示的长径为40mm、短径为15.28mm的立体正五角星的宏程序编制,材料为铝合金,刀具选用4mm的球头铣刀。程序编制如下:
此例中零件的工件原点设置在毛坯上表面的中心,所编的程序是粗铣、精铣可以共用的程序。粗加工时可选用直径为10mm的平底铣刀,把#1(长径)和#2(短径)的量扩大,即#1=45.;#2=20.28即可,精加工就用程序里的数值。该例子中所加工的零件厚度为10mm,所以五角星的厚度、长径和短径都分成40等分来加工,厚度上每一等分是0.25mm,长径每一等分是1mm,短径每一等分是0.382mm。分的等分越多加工表面越光滑,此例中分的40等分是设计者自己分的,如果觉得40等分太多或太少,也可相应的调整,由此也反映出使用宏程序编程时程序的可调性、可控性较好。
7 结束语
由于宏程序利用了变量作为数据进行编程,并且能对系统变量进行读取,编程简单,更改容易,通用性好,所以利用宏程序不仅能够进行参数化加工来提高效率,而且还可以完善和扩展数控机床的功能,可解决一些用常规编程方法无法解决的问题。用户在使用数控机床时,根据加工零件结构特点,应用宏程序功能开发设计自己的宏程序,是充分发挥数控机床性能的有效途径。
摘要:运用FANUC系统所提供的宏程序编程方法,使用变量代替程序中的功能代码或地址进行编程,使数控程序具有通用性和灵活性,并简化了数控编程,大大提高了零件加工程序的汇编速度和编程质量。
关键词:宏程序,变量,程序流程控制,应用
参考文献
[1]FANUC.FANUC0i-MC操作说明书[Z].2005.
宏程序编程设计 篇6
普通加工程序只能描述一个几何形状, 直接用G代码和移动距离来描述图形;数控系统提供了另一种编程方式即宏编程, 在程序中使用变量, 通过对变量进行赋值、算术运算、逻辑运算和函数的混合运算及使用各种条件转移命令的处理方法达到描述几何图形的目的, 这种有变量的程序叫宏程序。华中数控系统宏程序与FANUC系统宏程序大同小异, 不过华中数控系统的角度是以弧度计算。
2 参数化编程特点
椭球是日常生活中常见的形状, 在数控加工中对于椭球的铣削编程一般采用自动编程, 这种编程方法比较简单, 缺点是程序冗长, 可读性差, 修改程序不方便。另外一种编程方法是采用宏程序编程。宏程序具有模块化的思想、经济、高效、使用范围广等特点, 极适用于周期性的生产特别是不定期的价格式生产编程工作。而参数化编程对于一组相似几何形状不同尺寸的零件最有效, 所谓参数化编程是指将同一类相似的零件, 通过使用变量的方式进行编程, 尺寸和加工数据全部用变量来实现, 需要加工时调用程序并输入相应的数据参数即可。这种编程方法最大特点是容易理解、编程简单紧凑、计算量少、精度高。
3 椭球加工原理
椭球的形成可以看作是椭圆的旋转, 因而椭球的铣削加工是由上而下或者由下而上加工一个个形状相同、尺寸不同的椭圆。而在数控编程中根据数学方程的变化方式可选择不同的编程方法, 比如以Z坐标值为自变量, 利用XZ、YZ椭圆方程得出对应的X、Y坐标值, 这种方法适用于平底刀粗加工;利用角度的变化先计算出Y坐标值, 再采用椭圆参数方程进行编程, 这种方法容易理解, 最为常见;利用参数方程得出X、Y、Z坐标值。本文以椭球的参数方程为例进行分析。由椭球数学方程:
而知, 以角度θ、β为自变量, 得出椭球的参数方程如
对于凸椭球, θ、β的取值范围为0≤θ≤90, 0≤β≤360;对于凹椭球90≤θ≤180, 0≤β≤360。
利用参数方程, 如图1, 此处以θ为自变量确定深度Z坐标值, 即确定一个平面, 而后在确定的平面内加工相应X、Y变量的椭圆完成一个循环, 以此类推分层完成半椭球的加工。
4 椭球编程
根据图1所示刀心轨迹的加工方法, 刀具采用¢8mm双刃球头铣刀刀心对刀, 不使用半径补偿, 由浅而深加工, 利用参数方程编制精加工宏程序如下:
本程序可用于凸半椭球 (#20=1) 和凹半椭球 (#21=1) 的精加工, 当X=Y=Z时也可用于凸、凹半球的精加工。
参考文献
[1]卢培文.参数化编程在数控铣削中轮廓倒圆角的应用[J].金属加工, 2008 (20) :37-38.
[2]张洪瑞, 杨乔.椭圆及椭球参数方程中θ的几何意义探研[J].华北水利水电学院学报, 2010 (1) :110-111.
[3]陈祖连.用户宏程序在参数化编程中的应用[J].广西轻工业, 2009 (11) :27-28.
[4]杨立.数控参数化编程及CAD/CAM技术[J].科技视界, 2014 (06) .
[5]何成文.阿基米德蜗杆 (ZA) 类零件的参数化编程加工研究应用[J].煤矿机械, 2008 (10) .
[6]刘宏利, 刘明玺.基于极坐标系的数据插补算法的椭球宏程序的应用[J].机械工程师, 2009 (09) .
基于宏程序的变导程螺纹编程分析 篇7
变导程螺纹的应用十分广泛, 如饮料罐装机械的主传动部分的变导程螺旋杆、塑料挤压机中的螺杆及绞肉机中的螺旋杆等方面都有关键应用。传统的加工方法通常在卧式车床进给系统中增设一套辅助装置 (凸轮变速机构) 实现变速加工, 虽然能保证精度, 但所需技术难度较大, 设计成本较高, 调变距增量较麻烦, 且不利于推广应用。现代数控系统有强大的宏程序功能, 用户宏功能的变量运算可提高数控车床的加工能力。本文以FANUC 0i系统数控车床为例对变导程螺纹编程进行分析, 为生产中解决变导程螺纹加工提供参考依据。
1 变导程螺纹的种类
1.1 等槽变牙宽变导程螺纹
等槽变牙宽变导程螺纹指槽宽相等、牙宽均匀变化的变导程螺纹。在数控车床上可以用一定宽度的螺纹刀和变导程螺纹的切削指令G34进行加工, 等槽变牙宽变导程螺纹如图1所示。
1.2 等牙变槽宽变导程螺纹
等牙变槽宽变导程螺纹指牙宽相等、槽宽均匀变化的变导程螺纹。在数控车床上可以用小于第一个槽宽的螺纹刀和变导程螺纹的切削指令G34及宏程序进行加工, 等牙变槽宽变导程螺纹如图2所示。
2 变导程螺纹的编程指令
数控车床具有变导程螺纹车削功能, 切削指令为G34。
指令格式:G34 X (U) __Z (W) __F__K__。
其中, X、Z是绝对编程时, 有效螺纹终点在工件坐标系中的坐标值;U、W是增量编程时, 有效螺纹终点相对于螺纹起点的增量;F是螺纹起点的导程;K是螺纹导程的变化量, 其增 (减) 量的范围, 在系统参数中设定。
3 变导程螺纹的编程方法
3.1 等槽变牙宽变导程螺纹的编程方法
根据图形选用刀宽5 mm的矩形螺纹车刀, 采用直进法分层切削螺纹, 切削时每次X向的进给量为0.2 mm。螺纹切削起点位置距右端面8 mm处 (变导程螺纹的第一个导程标注是10 mm减去导程变化量2 mm, 即为程序中G34指令的F值) 。
参考程序:
O0001;程序号
N5 T0101;采用5 mm矩形螺纹刀
N10 M03 S240;主轴正转, 转速240 r/min
N15#1=39.8;大径40 mm
N20WHILE[#1GE30]DO1;径向分层未到30 mm时继续循环
N25 G00 X#1 Z8;快速移至起点位置
N30 G34 X#1 Z-70 F8 K2;变螺距切削, 每转螺距增加2mm
N35 G00 X42;X向退刀, 退出牙深
N40 Z8;Z向退刀, 回到加工起点
N45#1=#1-0.2;每刀切削深度0.2 mm
N50 END1;
N55 G00 X100 Z100;快速退刀
N60 M30;程序结束
3.2 等牙变槽宽变导程螺纹的编程方法
根据图形选用刀宽2 mm的矩形螺纹车刀, 采用直进法分层切削螺纹, 切削时每次X向的进给量为0.2 mm。螺纹切削起点位置距右端面5 mm处 (变导程螺纹的第一个导程标注是6 mm减去导程变化量1 mm, 即为程序中G34指令的F值) 。
等牙变槽宽变导程螺纹的槽宽, 是按导程增量递增变化的。这就是说, 在单次的切削螺纹过程中, 刀具经过每个牙槽时所切到的宽度增量也应是递增变化的。而刀具宽度是一定的, 可通过改变每刀切削时的导程F来逐向递进完成切削。每刀切削的导程F计算如下:
式中, f0是起始切削等牙变槽宽变导程螺纹的导程值;fn是第n次切削等牙变槽宽变导程螺纹的导程值;n是完成等牙变槽宽变导程螺纹切削的总次数, n最小=Ln/T, 其中Ln为螺纹有效切削范围内最大的槽宽, T为刀宽。图2中Ln为9 mm, T取2 mm, 则n最小=9/2=4.5次, 取n=5次。
注:每次起始螺距增加为K/n, 图2中为K/n=1/5=0.2 mm。
参考程序1:
O0002;程序号
N5 T0101;采用刀宽2 mm矩形螺纹刀
N10 M03 S300;主轴正转, 转速300 r/min
N15#1=39.8;螺纹大径40 mm
N20 G00 X#1 Z5.0;快速移动至起点
N25WHILE[#1GE30]DO1;径向分层未到30 mm时继续循环
N30#2=5.0;起始螺距设置为5 mm
N35 WHILE[#2LE6]DO2;起始螺距小于6 mm时继续循环
N40 G34 Z-70 F#2 K1.0;变螺距切削, 每转螺距增加1mm
N45 G00 X42.0;X向退刀, 退出牙深
N50 Z5;Z向退刀, 回到加工起点
N55 G00 X#1;X向进刀, 进到加工起点
N60#2=#2+0.2;起始螺距增加0.2 mm
N65 END2;
N70#1=#1-0.2;每刀的切削深度0.2 mm
N75 END1;
N80 G00 X100 Z100;快速退刀
N85 M30;程序结束
参考程序2:
O0003主程序号
N5 T0101;采用刀宽2 mm矩形螺纹刀
N10 M03 S300;主轴正转, 转速300 r/min
N15 X40.0 Z5.0;刀具快速定位到螺纹加工起点
N20 M98 P500004;调用螺纹加工子程序50次
N25 G00 X100 Z100;快速退刀
N30 M30;程序结束
O0004;子程序号
N5 G00 U-0.2;每刀的切削深度0.2 mm
N10#1=5.0;起始螺距为5 mm
N15 WHILE[#1LE6]DO1;起始螺距小于6 mm时继续循环
N20 G34 Z-70 F#2 K1.0;变螺距切削, 每转螺距增加1 mm
N25 G00 U12.0;X向退刀, 退出牙深
N30 Z5.0;Z向退刀, 回到加工起点
N35 U-12.0;X向进刀, 进到加工起点
N40#1=#1+0.2;起始螺距增加0.2 mm
N45 END1;
N50 M99;子程序结束, 并返回
在数控车床上用指令G34及宏程序进行加工变导程螺纹时, 还需注意以下几点: (1) 根据不同的加工要求合理选择刀具宽度。 (2) 正确设定螺纹起点处的导程F值和起刀点的位置。 (3) 正确计算螺距偏移量和循环刀数。 (4) 由于变导程螺纹的螺纹升角随着螺距的增大而变大, 所以刀具沿走刀方向的后角值应为工作后角加上最大螺纹升角。
4 结语
随着数控车床的普及, 数控车床应用越来越广泛, 在生产中正逐步代替普通车床, 日益显示出数控车床的优越性。从上例编程可知, 用宏程序编制加工变导程螺纹, 大大精简了程序, 而且可读性强, 易于检查。同时通过改变适当参数, 可方便地实现不同增量的变导程螺纹的加工, 大大提高了数控加工的效率, 保证了加工质量, 可操作性强。
摘要:着重分析了在数控车床上用变导程螺纹切削指令G34编制螺纹的基本思路及编程方法, 并通过宏程序实现等槽变牙宽和等牙变槽宽变导程螺纹程序的编制。
关键词:宏程序,变导程,螺纹
参考文献
[1]张安全主编.数控加工与编程[M].北京:中国轻工业出版社, 2005
[2]沈建峰主编.数控车工[M].北京:机械工业出版社, 2007
【宏程序编程设计】推荐阅读:
C语言程序设计习题试题(编程题)11-21
你适合当程序员吗你知道编程序是怎么回事吗07-22
宏程序加工11-19
宏程序简介05-18
FANUC宏程序12-03
数控车床宏程序05-08
宏程序表达式08-25
数控宏程序及应用09-24
宏程序加工轮廓曲线10-01
宏程序的开发与应用09-23