FANUC宏程序(通用8篇)
FANUC宏程序 篇1
1 引言
数控铣床和加工中心是最常见的数控机床。在数控教学和生产中,可以通过手动或是自动编程来实现程序的编制。对于简单的轮廓可以采用手动编程,利用直线及圆弧插补指令来实现程序的编制;对于非圆平面曲线的轮廓,如椭圆、抛物线、正余弦曲线等,由于普通数控系统没有这类曲线的插补功能,所以在手动编程中只能通过宏程序来编程。如果采用自动编程,首先要把曲线绘制好,然后在CAM软件中生成加工程序。
在数控教学与技能竞赛中,碰到非圆曲线的几率较大。为了能实现快速、正确的编程,现通过实例来介绍CAXA制造工程师下正弦曲线的构建及FANUC-0i系统下正弦曲线宏程序的编制。零件图尺寸及实体模型如图1所示,函数方程为y=8×sin(3x)。
2 正弦曲线的构建
2.1 CAXA制造工程师
目前机械绘图软件种类繁多,常见的有AutoCAD、UG、Pro/E等,在这些软件下绘图比较困难,所以在目前的数控技能竞赛中普遍采用CAXA制造工程师进行绘图,这也是国家技能竞赛要求。
北航海尔软件有限公司研制开发的CAXA制造工程师是全中文、面向数控铣床和加工中心的三维CAD/CAM软件。CAXA制造工程师基于微机平台,采用原创Windows菜单和交互方式,全中文界面,便于轻松学习和应用操作。在CAD模块下可以轻松绘制函数曲线;在CAM模块下可以生成3~5轴的加工代码,可用于加工具有复杂三维曲面的零件[1]。
2.2 正弦曲线绘制方法
CAXA制造工程师下曲线的绘制方法:(1)可以在主菜单的“绘图”中选“公式曲线”或点击绘图工具栏中的图标,弹出“公式曲线”对话框,见图2。(2)可以在对话框中首先选择是在直角坐标系下还是在极坐标系下输入公式。(3)填写需要给定的参数:变量名、起终值,并选择变量的单位。(4)在编辑框中输入公式名、公式及精度。还可以单击“预显”按钮,在左上角的预览框中看到所设定的曲线。(5)对话框中有储存、提取、删除这三个按钮,储存是针对当前曲线而言,保存当前曲线;提取和删除都是对已存在的曲线进行操作,用左键单击这两项中的任何一个都会列出所有已存在公式曲线库的曲线,以供选取。(6)设定完曲线后,单击“确定”,按照系统提示输入定位点以后,即可成功绘制一条公式曲线。
根据正弦曲线的基本设置,可选用直角坐标系和弧度,修改参数和参数方程。根据图纸分析,可确定该正弦曲线由1个周期组成,总弧度为2π,即参变量为t∈[-3.14,3.14];X(t)、Y(t)为参数方程,因为该曲线的弦长值与弧度是相对应的比例关系,所以得出Y和t的关系式为π/t=60/Y。此外,该曲线向左偏移了63,且Y为负值,可确定X(t)=8sin(t)-63;Y(t)=-60t/3.14。最后预显图形见图3所示。
3 正弦曲线的宏程序编制
宏程序可以较大地简化编程,扩展应用范围。宏程序像计算机高级语言一样,可以使用变量进行算术运算逻辑运算及函数混合运算进行编程。通过宏程序编程即可把曲线分成很细小的直线段来逼近曲线轮廓[2]。其具体的编程方法如下:
3.1 正弦曲线宏编程方法一
利用曲线在工件坐标系Y轴上的弦长与其正弦角度这2个变量值确定函数关系。为保证铣削的粗糙度,可将该曲线分成1000条线段后,用直线进行拟合,即每段直线在Y轴方向的间距为120/1000=0.12mm,对应其正弦曲线的角度增量为360/1000=0.36°。如图4所示,A点为铣刀定位点,B点为刀补切入点,C点为任意点,D点为刀补取消切出点,E点为退刀点。#1为角度变量,初始值#1=-180,角度变量关系式#1=#1+0.36;#2为工件坐标系中X轴坐标值变量(振幅),初始值#2=-63,关系式#2=8*SIN[#1]-63;#3为工件坐标系中Y轴坐标值变量(弦长),初始值#3=60,关系式#3=#3-0.12[3]。参考程序如下:
3.2 正弦曲线宏编程方法二
利用曲线在工件坐标系Y轴上的弦长1个变量确定函数关系。如图5所示,A点为铣刀定位点,B点为刀补切入点,C点为任意点,D点为刀补取消切出点,E点为退刀点。同理将该曲线分成1000条线段。#1为弦长(Y轴)变量,初始值#1=0,关系式#1=#1+0.12;#2为正弦曲线的角度变量,因为该曲线的弦长值与角度也是成比例关系的,所以得出Y和t的关系是180/t=60/Y,即可推出角度变量公式t=180Y/60,#2的初始值与#1有关,关系式#2=180*#1/60;#3为X轴的变量值,#3的初始值与#2有关,关系式#3=-8*SIN[#2]-63。参考程序如下:
正弦曲线的手动编程方法有很多,变量的定义以及赋值不同,程序也会有变化,可以取几个极限点来验证程序的正确性,万变而不离其宗。宏程序所编写的正弦曲线加工程序结构简单,程序段数少,占用内存空间小,参数修改方便,只需要修改变量步长值即可提高加工精度和表面粗糙度,具有很大的优越性。
4 结语
宏程序除了适合于编制非圆曲线外,还适合于图形相似、而尺寸不同的系列零件的编程,以及适合刀具轨迹相同,而位置参数不同的系列零件的编程。另外,它还适合于三维曲面零件的编程,但只局限于简单的三维曲面,即可以用方程式表达曲线轨迹,如圆球面、椭圆球面、二次抛物面等。手动编程三维曲面较复杂,其节点的计算很困难,故在复杂的曲面加工中很少用到手动编程,一般普遍采用自动编程来实现三维曲面的编程与加工。
摘要:通过手动编制宏程序可实现非圆曲线的编程。文中对在CAXA制造工程师软件下正弦曲线的绘制方法,并基于FANUC-0i系统下正弦曲线的宏程序编制方法进行研究。在手动编程中,熟练应用宏程序指令进行编程,不仅能提高手动编程的能力,而且还大大精简程序量。
关键词:手动编制,正弦曲线,宏程序
参考文献
[1]罗军.CAXA制造工程师项目教程[M].北京:机械工业出版社,2010:1-2.
[2]胡育辉.数控宏编程手册[M].北京:化学工业出版社,2010:56-58.
[3]沈建峰.数控车床技能鉴定考点分析和试题集萃[M].北京:化学工业出版社,2010:70-73.
FANUC宏程序 篇2
什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点:
1.使用了变量或表达式(计算能力),例如:(1)G01X[3+5];有表达式3+5(2)G00X4F[#1];有变量#1(3)G01Y[50*SIN[3]];有函数运算 2.使用了程序流程控制(决策能力),例如:(1)IF#3GE9;有选择执行命令 „„ ENDIF(2)WHILE#1LT#4*5;有条件循环命令 „„ ENDW 二.用宏程编程有什么好处? 1.宏程序引入了变量和表达式,还有函数功能,具有实时动态计算能力,可以加工非圆曲线,如抛物线、椭圆、双曲线、三角函数曲线等;
2.宏程序可以完成图形一样,尺寸不同的系列零件加工; 3.宏程序可以完成工艺路径一样,位置不同的系列零件加工; 4.宏程序具有一定决策能力,能根据条件选择性地执行某些部分;
5.使用宏程序能极大地简化编程,精简程序。适合于复杂零件加工的编程。一.宏变量及宏常量 1.宏变量
先看一段简单的程序: G00X25.0 上面的程序在X轴作一个快速定位。其中数据25.0是固定的,引入变量后可以写成: #1=25.0;#1是一个变量 G00X[#1];#1就是一个变量
宏程序中,用“#”号后面紧跟1~4位数字表示一个变量,如#1,#50,#101,„„。变量有什么用呢?变量可以用来代替程序中的数据,如尺寸、刀补号、G指令编号„„,变量的使用,给程序的设计带来了极大的灵活性。使用变量前,变量必需带有正确的值。如 #1=25 G01X[#1];表示G01X25 #1=-10;运行过程中可以随时改变#1的值 G01X[#1];表示G01X-10 用变量不仅可以表示坐标,还可以表示G、M、F、D、H、M、X、Y、„„等各种代码后的数字。如: #2=3 G[#2]X30;表示G03X30 例1使用了变量的宏子程序。%1000 #50=20;先给变量赋值 M98P1001;然后调用子程序 #50=350;重新赋值
M98P1001;再调用子程序 M30 %1001 G91G01X[#50];同样一段程序,#50的值不同,X移动的距离就不同 M99 2.局部变量
编号#0~#49的变量是局部变量。局部变量的作用范围是当前程序(在同一个程序号内)。如果在主程序或不同子程序里,出现了相同名称(编号)的变量,它们不会相互干扰,值也可以不同。例 %100 N10#3=30;主程序中#3为30 M98P101;进入子程序后#3不受影响 #4=#3;#3仍为30,所以#4=30 M30 %101 #4=#3;这里的#3不是主程序中的#3,所以#3=0(没定义),则:#4=0 #3=18;这里使#3的值为18,不会影响主程序中的#3 M99 3.全局变量
编号#50~#199的变量是全局变量(注:其中#100~#199也是刀补变量)。全局变量的作用范围是整个零件程序。不管是主程序还是子程序,只要名称(编号)相同就是同一个变量,带有相同的值,在某个地方修改它的值,所有其它地方都受影响。例 %100 N10#50=30;先使#50为30 M98P101;进入子程序
#4=#50;#50变为18,所以#4=18 M30 %101 #4=#50;#50的值在子程序里也有效,所以#4=30 #50=18;这里使#50=18,然后返回 M99 为什么要把变量分为局部变量和全局变量?如果只有全局变量,由变量名不能重复,就可能造成变量名不够用;全局变量在任何地方都可以改变它的值,这是它的优点,也是它的缺点。说是优点,是因为参数传递很方便;说是缺点,是因为当一个程序较复杂的时候,一不小心就可能在某个地用了相同的变量名或者改变了它的值,造成程序混乱。局部变量的使用,解决了同名变量冲突的问题,编写子程序时,不需要考虑其它地方是否用过某个变量名。什么时候用全局变量?什么时候用局部变量?在一般情况下,你应优先考虑选用局部变量。局部变量在不同的子程序里,可以重复使用,不会互相干扰。如果一个数据在主程序和子程序里都要用到,就要考虑用全局变量。用全局变量来保存数据,可以在不同子程序间传递、共享、以及反复利用。
华中数控宏程序编程实例(1)宏程序编抛物线车削 %0342 T0101M03S600 G00X20.5Z2 #11=12;B初值
FANUC宏程序 篇3
球面的加工, 从用户的角度, 使用CAD/CAM软件 (例MASTERCAM、UG等) 生成刀具路径和程序是比较方便的, 但CAD/CAM软件生成三维加工刀具路径时, 是根据选择的加工方式、加工参数、加工误差等, 使刀具逐渐移动来完成加工的, 其实质是用直线段去逼近曲面的过程, 因此其运算速度慢, 从球底到球顶的加工精度呈下降趋势。而FANUC 0i系统中的宏程序, 可进行变量编程, 变量可以运算。变量编程可以最大限度地运用数控系统的各种指令代码 (如G01、G02、G03等) , 因此加工时可直接进行机床的插补运算, 运算速度快, 球面表面各处的加工精度一致。
基于宏程序的上述编程和加工优势, 现以一个球面的粗、精加工宏程序为例加以说明。
1 加工工艺分析
如图1所示为一球面零件, 球半径为10 mm, 粗加工时为提高效率采用ϕ6 mm的平底铣刀;精加工时为保证加工质量采用ϕ6 mm的球头铣刀, 零件加工工序卡如表1所示。现假设以球面球顶中心作为X、Y、Z方向的加工原点进行编程。
2 粗加工程序的编制
如图1所示, 零件毛坯为方料, 粗加工时采用平底铣刀进行自上而下逐层剥离的等高体积加工方法, X、Z向留1 mm的加工余量。FANUC 0i系统编制球面的方法有两种, 一是参数法, 二是方程法, 现使用常用的参数法编程。假设Z向每层切深为1 mm。
程序如下:
3 精加工程序的编制
如图1所示, 精加工时采用球头铣刀进行自上而下的加工。
程序如下:
4 结束语
上述通过用不同宏程序编程方法编制球面的粗、精加工程序典型实例, 在编程时可灵活使用。在实际加工中, 类似球面类可以用函数方程表示的曲面, 如:椭圆面、锥台面、双曲线面等, 均可采用相似的编程方法。使用宏程序编程, 可简化编程, 在解决复杂曲面的加工时, 具有很重要的实用意义。
摘要:简要介绍球面的粗、精加工宏程序实例, 指出在FANUC 0i系统中灵活使用宏程序, 可简化编程, 解决复杂曲面的加工问题, 具有一定的实用性。
关键词:FANUC,球面,数控加工,宏程序
参考文献
[1]李峰, 白一凡.数控铣削变量编程实例教程[M].北京:化学工业出版社, 2007.
FANUC宏程序 篇4
一般规定孔深L与孔径D之比大于5时, 即I/D>5时, 称为深孔;L/D≤5时, 称为浅孔。深孔加工的断屑与排屑是一个重要的问题, 因为深孔加工切削热不易排散, 切屑不易排出, 必须实行强制冷却、强制排屑。
2 深孔钻削编程指令及分析
从图1和图2可以看出, 执行G73指令时, 即每次向下进给后刀具只是回退一个微小距离 (即退刀量d) 以断屑, 这里退刀量d是由No.5114参数设定;而G83指令, 排屑式深孔加工循环, 即每次向下进给后刀具都快速返回至R点平面。深孔加工与退刀相结合可以破碎钻屑, 令其小得足以从钻槽顺利排出, 并且不会造成表面的损伤, 可避免钻头的过早磨损。G73指令虽然能保证断屑, 但排屑主要是依靠钻屑在钻头螺旋槽中的流动来保证的。因此深孔加工, 特别是长径比较大的深孔, 优先采用G83指令。
3 钻削深孔通用宏子程序的编制
笔者以FANUC系统为例, 编制了一个通用宏子程序, 利用G65功能调用该子程序, 较好地解决了刀具冷却、排屑等深孔加工问题。
3.1 G65调用子程序的格式为
G65 P_X_Y_Z_R_Q_P_K_F_;X、Y为孔的定位坐标 (#23、#24) 。
3.2 钻深可变式深孔钻加工宏程序
自变量赋值说明 (通用)
#7= (D) 每次进给前的缓冲高度 (绝对值) Depth;#9= (F) 切削进给速度Feed;#17= (Q) 第1次钻深 (绝对值) ;#18= (R) R点 (快速趋近点) 坐标 (Z坐标值, 非绝对值) ;#19= (S) 钻深每次递减比例Scale (经验值可取0.3~0.5) ;#20= (T) 最小钻深比例, 最小钻深为T*Q#26= (Z) 孔深 (Z坐标值, 非绝对值)
以下为G73式的钻深可变式深孔钻加工宏程序在加工条件允许的情况下追求更高效率而采用较为激进的断屑方式, 如图3。
G83式的钻深可变式深孔钻加工宏程序用于深径比较大、材料加工性能较差、加工条件较恶劣的深孔钻削加工, 采用较为保守和彻底的排屑方式, 如图4。
4 结语
FANUC宏程序 篇5
在机械制造业中, 各类CAD/CAM软件越来越多地应用在数控曲面加工中, CAD/CAM软件中生成刀具路径就是在允许的误差值范围内沿每条路径用直线去逼近曲线曲面的过程, CAD/CAM软件生成的程序庞大无比, 占用空间大, 对于要求高的精密的曲线轮廓零件, 降低了零件的尺寸精度和轮廓形状精度, 而对于这些非圆曲线方程类轮廓零件保证其轮廓精度对使用性能至关重要。宏程序编制的程序与CAD/CAM软件生成的程序相比, 程序大大简化, 输入与调试方便快捷, 解决CAD/CAM软件编程计算坐标值繁琐、程序庞大、程序难修改等难点问题。宏程序是手工编程的最高级形式, 同时也是手工编程的一个难点, 本文结合宏程序编程的特点, 通过建立数学模型、列变量处理表、画程序流程图和仿真验证四大步骤快速高效地编制非圆二次曲线零件加工通用的宏程序模板, 大大扩展了数控机床的应用范围。
1 FANUC-0i系统用户宏程序简介及其编程特点
1.1 宏程序简介
程序中具有变量、并利用变量进行赋值和表达式来进行逻辑运算的程序称为宏程序。平常所说的宏程序就是用户宏程序。宏程序是数控系统所具有的特殊编程功能, FANUC-0i系统宏程序结构是基于BASIC语言建立的, 常用B类宏程序, 它借助IF、WHILE语句可以控制宏程序的流向, 常用的转移和循环语句有三种[1,2]:
(1) 无条件转移指令 (GO TO语句)
GO TO目标程序段号
无条件转移指令用于无条件转移到指定程序段号开始执行。
(2) 条件转移指令 (IF语句)
(1) IF[条件表达式]GO TO n
当条件满足时, 转移到指定程序段, 如果条件不满足时则执行下一程序段。
(2) IF[条件表达式]THEN宏语句
当条件表达式满足时执行预先决定的宏语句。
循环指令 (WHILE语句)
WHILE[条件表达式]DO m (m=1, 2, 3)
‥‥
END m
当条件表达式满足时, 就循环执行DO与END之间的程序段, 条件表达式不满足时, 则执行END后的下一个程序段。
1.2 宏程序编程特点
宏程序中通过对变量进行算术、逻辑和函数运算, 应用更灵活、方便。其编程特点如下。
(1) 宏程序具有灵活性、通用性和智能性特点[3]。若程序中某数据需要更改, 只需将相应变量重新赋值即可, 这样使宏程序有着广泛的通用性。
(2) 宏程序编程最体现模块化思维[3]。编程人员只需要根据零件几何信息和不同的数学模型可完成相应的模块化加工程序设计。对于相似零件的重复性加工或有规律性地重复一个动作, 宏程序只要改变变量的值, 即可完成不同的加工或操作。
(3) 宏程序逻辑严密, 可读性强, 占用机床数控系统空间小[3]。宏程序天生短小精悍。一般常见的数控系统完全容纳得下任何复杂的宏程序, 数控机床执行宏程序时数控系统的计算机可以直接进行插补运算, 而且运算速度极快加工效率高。通俗地说, 宏程序就是小程序解决大问题[1]。
(4) 宏程序加工精度高[3,4]。CAD/CAM软件编程时, 在建模、刀具轨迹生成、后置处理环节都存在一定的误差, 在不同建模软件CAD图档转换也会产生一定的精度误差, 宏程序可以有效地避免CAD/CAM软件编程产生的误差, 加工精度高。
2 非圆二次曲线类零件编程的数学分析
2.1 非圆二次曲线编程数学处理
工程上处理用数学方程描述的平面非圆曲线轮廓图形常采用相互连接的直线逼近法和圆弧逼近法[4]。
(1) 直线逼近法。一般来说, 由于直线法的插补节点均在曲线轮廓上, 容易计算, 编程也简便些, 所以常用直线法来逼近非圆曲线, 其缺点是插补误差较大。
(2) 圆弧逼近法。曲线的圆弧逼近有曲率圆法、三点圆周法和相切圆周法等方法, 这些方法须先用直线逼近法求各节点再求各圆周, 其计算较繁琐。
2.2 编制非圆二次曲线加工宏程序的步骤
宏程序对可以用函数公式描述的工件轮廓或曲面进行数控加工, 是现代数控系统的一个重要功能, 数控加工公式曲线宏程序编制具有一定的规律性。可按以下步骤进行: (1) 建立数学模型, 确定自变量和因变量; (2) 列变量处理表, 通过表格形式, 清楚条理地把数学模型表达式转化成宏变量表达式; (3) 画流程图, 按流程图写出程序; (4) 仿真模拟加工验证
3 非圆二次曲线类零件宏程序的编制实例
椭圆零件是典型的非圆二次曲线零件, 下面以椭圆零件为例论述此类零件一般宏程序的编制步骤。
例数控铣削加工图1所示椭圆零件外形轮廓, 试编制其加工宏程序 (FANUC-0i系统) 。
解:分别选择标准方程和参数方程编制该椭圆外轮廓的精加工程序, 走刀路线为:A→B→C→D→C→E→A。见图2所示。
3.1 标准方程加工椭圆
(1) 标准方程加工椭圆要建立数学模型, 其表达式及曲线变量处理表见表1所示。
(2) 宏程序如下:
3.2 参数方程加工椭圆
(1) 首先建立椭圆参数方程的数学模型, 其表达式及椭圆曲线变量处理表见表2所示。
(2) 画程序流程图
程序流程图是计算机高级语言编程中常用的工具, 它全面描述系统逻辑、反映信息在系统中的流动、处理情况。它通过图框形式指示程序流程, 控制程序的走向, 具有直观易读和易理解的特点, 使编程思路清晰、流畅、条理性强, 宏程序可借用流程图的形式, 编程前先按逻辑顺序画出流程图, 然后按流程图就容易编写程序。参数方程编程先根据思路画出流程图, 见图3所示。
(3) 根据流程图写出其加工程序
(4) 仿真模拟加工验证
为了验证程序的正确性, 避免由于程序的原因对机床造成的损伤, 下面用CAXA制造工程师编程助手软件仿真加工过程, CAXA制造工程师编程助手支持自动导入代码和手工编写代码, 其中包括宏程序代码的轨迹仿真, 能有效验证代码的正确性[6]。
1) 打开CAXA制造工程师2008的编程助手, 进入软件界面。
2) 在程序代码框中录入O1809的宏程序。
3) 代码录入完成后, 进行仿真加工, 选择[仿真]→[加工仿真], 弹出对话框, 选择步长5, 前进方向选择[前进], 单击[开始]按钮。见图4。
仿真结束图见图5, 当宏程序中有代码错误或格式不对时软件会提示, 根据提示进行修改。
3.3 模块化程序转化
该例是编制椭圆类零件加工的典型程序。可作为一个编程模板使用, 需要时通过调用指令M98或G65等调用, 程序中可通过修改自变量#20及椭圆长短半轴参数实现各类不同大小的椭圆零件的加工。另外, 通过修改刀具半径D01的值及角度增量值的大小可实现椭圆的粗加工、半精加工、精加工, 而其它数据不用改变, 增强程序的通用性, 大大地缩短了编程周期和工作量, 从而提高生产效率和经济利益, 起到事半功倍的效果。
4 结束语
编制宏程序关键是建立好数学模型, 确定好自变量及取值范围, 列出变量表, 然后画出流程图, 理清思路就容易编制了。宏程序并非深不可测, 它显著的特点是用变量进行赋值, 很方便实现复杂的算术和逻辑运算, 免去了大量的手工计算, 让数控系统自动计算判别, 减少自动编程每次都要画图的麻烦, 宏程序特别适用于各种公式曲线零件编程, 当加工条件改变时宏程序可以随时更改加工参数, 以适应新的加工需求, 宏程序充分体现模块化思维, 一次编程多次受益, 各种实例证明, 宏程序加工非圆二次曲线类零件是一种高精度、高效率的加工方法。
摘要:以宏程序为研究对象, 在分析比较CAD/CAM软件和宏程序编程的基础上, 通过实例分析方法研究了宏程序在非圆曲线类零件加工中的应用, 以椭圆为例编制宏程序模板, 指出在相似工件的加工中灵活运用宏程序使编程简便快捷, 大大地提高编程效率, 对非圆曲线类零件的宏程序编制有参考作用。
关键词:FANUC-0i,非圆曲线,宏程序,铣削
参考文献
[1]张喜江.加工中心宏程序应用案例[M].北京:金盾出版社, 2013.
[2]杨志红.浅谈宏程序的编程原理及应用[J].机电工程技术, 2010 (12) :54-58.
[3]张宁菊.基于宏程序的内外螺纹的数控铣削加工[J].机电工程技术, 2013 (1) :25-27.
[4]陈海舟.数控铣削加工宏程序及应用实例[M].北京:机械工业出版社, 2006.
[5]杜军.FANUC宏程序编程技巧与实例精解[M].北京:化学工业出版社, 2011.
FANUC宏程序 篇6
宏程序作为数控编程的手段之一, 在椭圆、抛物线、双曲线以及一些渐展线的编程方法上有着自动编程及其他方法不可替代的优势。
对于规则曲面的编程来说, 使用CAD/CAM软件编程一般都具有工作量大、程序庞大、加工参数不易修改等缺点, 如果任何一个加工参数发生变化, 再智能的软件也要根据变化后的加工参数重新计算刀具轨迹, 尽管软件计算刀具轨迹的速度非常快, 但始终是个比较麻烦的过程。而宏程序具有灵活性和智能性等特点, 注重把机床功能参数与编程语言相结合, 而且灵活的参数设置也使机床具有最佳的工作性能, 同时也给予操作者极大的自由调整空间, 能很好地弥补自动编程的不足。
1 宏程序在椭圆加工中的编程格式
1.1 编程思路
椭圆是最常见的二次曲线, 宏程序编程的思路是采用数段微小直线段逼近椭圆轮廓。如果分成的线段足够小, 则这个近似的曲线就能够较好地满足加工精度要求。虽然宏程序编程属于手工编程范畴, 但它将复杂的节点坐标计算工作交由计算机数控系统来完成, 编程者只需给出数学公式和算法。
1.2 编程格式
不同的数控系统, 宏程序的编程格式也不同, 具体可查阅机床说明书。FANUC系统数控车床对于非圆曲线类零件加工常采用循环语句编制宏程序, 其格式如下:
当条件成立时循环执行WHILE与END1之间的程序段, 若条件不满足则执行END1的下一行程序段。
椭圆的方程为。其中, a为椭圆的短半轴, b为椭圆的长半轴。图1为椭圆的宏程序编程节点图, 椭圆的宏程序编程格式如下:
其中:常数1为圆心到轴线的距离;常数2为圆心到端面的距离;步距必须大于等于刀尖圆弧半径。
2 宏程序编程加工的应用
下面以FANUC-21i系统数控车床为例, 具体分析如何应用宏程序来加工含椭圆轮廓的零件。
2.1 零件加工工艺的分析
图2为小花瓶零件图, 工件坐标系原点设在零件右端面与轴线的交点处。其加工工艺设计重点是椭圆轮廓的加工方法:粗加工时, 椭圆先按近似圆弧粗车循环, 因为圆弧的轮廓比椭圆大, 有加工余量;精加工时, 再编写椭圆宏程序加工即可。具体零件加工工艺及切削用量设计见表1。
2.2 编写参考程序
为了编写程序, 根据零件的要求, 需要通过CAD软件绘图查找坐标, 具体坐标点为:A (X32.84, Z0) , B (X36.592, Z0) , C (X38.358, Z-1.469) , D (X35.924, Z-35.547) , E (X40, Z-45) , F (X34.102, Z-56.306) , G (X36.82, Z-65.365) , H (X40, Z-70.609) , P (X23, Z-19.759) 。然后根据加工工艺设计的要求完成零件加工程序的编写。
平端面、粗车外圆、精车外圆等的编程代码如下:
钻孔、镗内孔、切断加工等工序的编程比较简单, 这里不再赘述。
3 零件的加工效果
编写完程序, 利用FANUC-21i系统数控车床进行仿真加工。如果仿真加工没有问题, 选取Ф50 mm的有机玻璃材料进行零件加工。通过装刀-对刀-平端面和粗车外圆-钻孔-粗镗内孔-精车外圆-精镗内孔-切断-机床上手动抛光, 完成了小花瓶零件的机加工, 如图3所示。
4 结论
综上所述, 宏程序能编制传统数控编程无法实现的椭圆类零件的数控车削加工程序, 其变量编程方式增加了应用对象的灵活性, 编写时更直观、简便, 精简了程序内容, 大大提高了编程效率。因此, 机床使用者利用宏程序编程功能, 可充分扩展数控机床的使用范围和使用功效, 具有非常广泛的应用前景。
摘要:基于宏程序的功能特点, 分析了FANUC数控系统宏程序在椭圆加工时的编程格式, 并以数控车削加工小花瓶为例, 对含椭圆轮廓零件进行数控车削加工, 使用宏程序设计加工工艺、编制程序, 在机床上完成了零件加工。
关键词:宏程序,椭圆,数控车削加工
参考文献
[1]陈海舟.数控铣削加工宏程序及应用实例[M].北京:机械工业出版社, 2006.
[2]周虹.基于宏程序的椭圆车削加工[J].新技术新工艺, 2007 (10) :35.
[3]陈启森.非圆曲线的宏程序编制方法应用研究[J].现代制造工程, 2010 (3) :46-48.
FANUC宏程序 篇7
圆锥曲线成形面及其倒角是模具零件常见的构成要素, 加工这种曲面, 通常的方法是, 采用三维编程软件如POWERMILLL、CIMATRON、CAXA等, 先进行三维造型, 然后进行刀路轨迹设计和计算, 经后置处理生成G代码, 最后通过传输软件上传至数控机床。一个简单的椭圆柱面, 使用编程软件生成的G代码程序4千多段 (控制精度0.1mm) [1,2], 不易检查和修改, 刀具磨损或更换时, 要重新进行刀路轨迹的设计计算, 再后置处理生成G代码, 修改耗时且烦琐, 圆锥曲线成形面构成要素是圆锥曲线, 它有特定的函数关系式, 完全可以用数控机床数控系统本身提供的宏程序功能编制程序, 大概50段左右, 易检查易修改。
目前涉及的圆锥曲线成形面的宏程序的编制, 存在的问题主要有:1) 不全面, 主要集中在数控车削加工上。2) 圆锥曲线成形面及倒角构成的复合面加工没有涉及[3~5]。
FANUC数控系统是当今数控机床配置最流行的系统之一, 本文将利用数控机床FANUC数控系统的宏程序功能编制宏程序, 实现圆锥曲线成形面及倒角的数控铣削加工。
1 圆锥曲线成形面构成
圆锥曲线主要包括椭圆, 双曲线和抛物线, 圆锥曲线成形面包括柱面和旋转面两种。直线沿着圆锥曲线平行移动, 形成柱面, 直线称为柱面的直母线, 根据圆锥曲线的类型可构成椭圆柱面、双曲线、抛物线柱面;圆锥曲线绕其对称轴旋转一周, 形成旋转面, 根据圆锥曲线的类型可构成椭圆旋转面、双曲线旋转面、抛物线旋转面[6]。
2 宏程序编制
2.1 柱面
椭圆柱面、双曲柱面、抛物柱面因形成曲线不同, 刀具沿曲线的加工轨迹不同, 但加工原理一致, 均可采用刀具轴线平行于柱面的直母线, 沿形成柱面的圆锥曲线行进一周, 再上下分层切削完成, 如图1所示, 故编程形式一样, 可以以椭圆柱面的加工进行详细阐述。
如图2所示, 建立典型的椭圆柱面及倒角模型。
1) 装夹方式和加工方法。上三轴数控铣床或加工中心, 装夹使刀具轴线与椭圆直母线平行, 采用半径为R的平底铣刀从上到下先加工倒角面。再加工椭圆曲面, 各计算参数及工件坐标系如图2标注。从模型顶部下行Δh处截得的圆锥曲线为长轴2m、短轴2n的椭圆, x=mcost、y=nsint, 经计算, 当0≤Δh
2) 变量定义。宏程序中变量定义与变量指定Ⅰ的地址对应关系[7~9]如表1所示。
3) 宏程序清单 (编程时已计算刀具半径) 。
程序中, N10~N140加工椭圆倒角面, N150~N250加工椭圆柱面。若加工双曲柱面及倒角或抛物柱面及倒角, 只要把涉及椭圆参数方程及参数取值范围的程序段更改为双曲线或抛物线参数方程及相应取值即可。将宏程序存贮于FANUC系统的机床程序表里, 实际应用时, 编一个简单的主程序进行调用即可, 要考虑加工精度和表面粗糙度, 重点对Δh和R赋不同值来进行调整。
4) 应用。编制主程序, 调用椭圆及倒角面加工宏程序进行模具零件加工。
加工出的零件如图3所示。
2.2 旋转面
旋转曲面可采用数控车床进行加工[4,5], 本处仅探讨在四轴数控铣床或加工中心上的加工方法。椭圆旋转面、双曲旋转面、抛物刀具因形成曲线不同, 刀具沿曲线的加工轨迹不同, 但加工原理一致, 均可采用工件沿轴线每旋转一周, 刀具沿旋转面形成曲线行进一点, 最终切削完成, 如图4所示, 故编程形式一样, 可以以双曲旋转面的加工进行详细阐述。
如图5所示, 建立典型的双曲旋转面及倒角模型。
1) 装夹方式和加工方法。上四轴数控铣床或加工中心, 装夹使旋转面轴线与机床A轴重合, 与刀具轴线垂直。因双曲线各点处曲率不同, 直接采用球头刀加工, 会产生过切现象, 采用平底铣刀加工, 双曲线顶点处会出现残留。现采用不同半径的平底铣刀由大到小加工, 不断减少残留面积, 使其在图纸允许范围内, 最后用小于或等于平底铣刀半径的球头刀沿双曲线顶点加工一周即可。刀具加工方向、轨迹示意及各计算参数、工件坐标系如图5标注。XZ平面截得的曲线为直线与双曲线的复合, 设曲线上任意一点的坐标A (X, Z) , 图中右边直线方程Z=tan (90+β) × (X-L/2) +asec (atan (L/2b) ) , 左边直线方程Z=tan (90-β) × (X+L/2) +asec (atan (L/2b) ) ;双曲线参数方程X=btant、Z=asect (t为参数) , 经计算, t∈[atan (R/b) ≤t≤atan (L/2b) ]∪[-atan (L/2b) ≤t≤-atan (R/b) ], 图中右边倒角处结束点坐标 (L/2, asec (atan (L/2b) ) ) , 开始点坐标 (L/2+H, asec (atan (L/2b) -H×tan (90-β) ) ) 。
2) 变量定义。宏程序中变量定义与变量指定Ⅰ的地址对应关系[7~9]如表2所示。
3) 宏程序清单 (编程时已计算刀具半径) 。
程序中, N30~N160、N260~N410加工倒角面, N180-N330加工双曲旋转面。若加工椭圆旋转面及倒角或抛物旋转面及倒角, 只要把涉及双曲线参数方程及参数取值范围的程序段更改为双曲线或抛物线参数方程及相应取值即可。将宏程序存贮于FANUC系统的机床程序表里, 实际应用时, 编一个简单的主程序进行调用即可, 要考虑加工精度和表面粗糙度, 重点对加工步距和刀具半径赋不同值来进行调整。
4) 应用。编制主程序, 调用双曲旋转面加工宏程序进行零件加工。
3 结论
利用数控系统编制圆锥曲线成形面及倒角的数控铣削加工的宏程序, 存贮于数控机床程序库, 零件加工需要时, 手工编制一个简单的主程序进行宏调用实现零件加工, 为加工者提供了一种充分利用数控机床资源, 不需要配置昂贵的编程软件, 解决圆锥曲线成形面及倒角的数控铣削加工简便易行的方法, 也可为宏程序的教学或教材提供实例。若实际零件异常复杂, 无论设计何种工装进行装夹都会使刀具发生干涉, 应采用五轴加工中心自动编程加工。
参考文献
[1]朱克忆.PowerMILL数控加工编程实用教程[M].北京.清华大学出版社.2008
[2]傅游, 李乃文.Cimatron E 9.0中文版基础教程与案例实践[M].北京.清华大学出版社.2011.
[3]吴胜强.宏程序在非圆曲线轮廓加工中的应用[J].机床与液压, 2009, 37 (4) :189-190.
[4]吴凯.基于宏程序的非圆二次曲线轮廓的数控车加工[J].机械工程师, 2011, (1) :66-68.
[5]王锋波, 孙士彬.FANUC系统宏程序在抛物线类零件中的应用[J].煤矿机械, 2011, (10) :148-150.
[6]高红铸, 王敬庚, 傅若男.空间解析几何[M].北京.北京师范大学出版社.2007.
[7]FANUC.FANUC-0iMD用户手册[Z].FANUC公司.2011.
[8]冯志刚, 数控宏程序编程方法、技巧与实例[M].北京.机械工业出版社.2008.
FANUC宏程序 篇8
关键词:数控系统,宏指令,倒角处理,思路解析
用户宏指令为用户提供了一种编写宏程序的手段。通常运用宏指令编写的程序我们称之为用户宏程序, 简称为宏程序。通常宏程序作为子程序存放在存储器中, 主程序需要时可以使用呼叫子程序的方式随时调用。宏程序是一种编程方法, 不仅可以让编程者按照数控系统规定的格式编写数控程序, 而且还允许编程者在程序中进行简单逻辑运算与初等数学运算, 从而拓展了编程的灵活性与使用性, 如表一所示。
1 FANUC 0iM用户宏程序使用方法
变量格式:FANUC 0iM数控系统中, 变量的格式是再“#”符号后放置变量号码, 如#10表示10号变量。
变量的引用:变量的使用方法和常量一致, 区别在于变量的值可以被替换。如:若变量#10的数值为1, 变量#20中的数值为50, 变量#30的数值为100, 则指令G#10X#20F#30即为G1X50.0F100。
变量的运算。宏程序的重要特性即是可以实现运算功能, 相当于给编程者一把钥匙, 让编程者开发适合自己的加工走刀方式。宏程序的运算有限顺序为:1.函数运算;2.乘除法与运算、逻辑“与”;加减法运算、逻辑“或”、逻辑“异或”。
宏程序中的控制指令。1) 无条件转移指令。指令使用格式为:GOTO n;其中, n为顺序号。例如:GOTO 100。2) 有条件转移指令。指令使用格式为:IF{逻辑条件}GOTO n;其中, n为顺序号。该指令表示, 当逻辑条件为真时, 执行GOTO n, 否则顺序执行下程序。3) 循环指令。指令使用格式为:WHILE{逻辑条件}DO m;…… END m;该指令表示, 当逻辑条件为真时, 程序执行DO m和END m之间的程序, 当逻辑条件为假时, 程序执行END m后的程序。其中, m的取值为1、2、3。例如:WHILE {#10 EQ #20}DO 1 G01 X100.0 END 1。
宏程序的调用。FANUC 0iM数控系统中用户宏程序调用格式为:G65 P程序号L宏程序被重复调用几次〈自变量赋值〉。例如:G65 P5001 L2 A1.0 B-100.0 C50.0。其中, 5001为被调用的宏程序号, L2表示重复调用两次, A1.0表示向#1赋值1.0, B-100.0表示向#2赋值-100.0, C50.0表示向#3赋值50.0。
2 FANUC数控系统宏指令在倒角编程中的思路解析
从外形来看, 倒角面就是一个三维的空间曲面, 一般来说, 对这种三维空间曲面的编程, 使用常规的编程手段进行程序编制会很麻烦, 不仅会耗费大量的编程时间, 并且也不容易完成, 在这个过程中可以考虑使用自动的编程软件, 但是自动编程软件编制出来的程序一般都很复杂, 很不易于实现在数控机床上进行加工。经过上面对两种编程方案进行分析后, 我们认为, 必须要找出一种更加恰当的方法来解决这个难题, 宏指令编程方法就能解决上述问题。因此, 下面我们将对使用FANUC数控系统的宏指令解决上述问题的应用方法进行简要介绍 (数学计算法) 。
在分别对应圆孔的倒角处理和异形孔的倒角处理的基础上, 通过观察相应的图形主视图, 可分别选择相应图中的O点, 进而建立机加工所需要的工件坐标系, 并且分别确定X、Y、Z三个坐标的坐标方向, 视图上表面的Z轴坐标的数值均为零, 我们进而选取其中一个进行相应的分析, 通过观察工件坐标系, 主视图坐标方向中各个尺寸之间存在的数学关系, 我们可以推算出, 倒角面在Z轴方向的高度为5。根据我们以上对倒角面的分析, 我们可以思考建立这样一个基本的编程思路:使用宏指令进行数控编程, 加工刀具在到倒角面处沿Z轴向负方向在0—-5之间进行切削加工, 同时刀具还沿X、Y平面上进行逐层的走刀, 沿着这个思路, 最终就可以形成我们所需要的倒角曲面。
通过深入的进行切削过程分析, 可以知道:刀具不仅在沿着Z轴负值方向进行必要的切削移动, 同时刀具也在X、Y平面进行逐层的走刀。倘若加工刀具在Z为零值的平面内进行移动, 则刀具沿X、Y平面走刀所形成的轮廓就会形成40mm的整圆或异形圆;倘若加工刀具已经移动到了Z等于-5mm的位置, 则刀具沿X、Y平面走刀所形成的的轮廓就会形成30mm的整圆或异形圆。从三个坐标数值间的关系的角度出发, 也可以这样理解, 当Z坐标的数值发生变化的时候, 整个圆的直径也在与Z坐标的数值在形成某种对应数学关系后进行相应的变化, 也可以把它理解成是Z坐标数值与X坐标数值之间的某种内在的函数关系。当主视图剖面放大后, 显示出的倒角截面X坐标数值和Z坐标数值的数学关系式为Z=X。从上面的分析可以知道, 由于倒角的截面X坐标值和Z坐标值间存在着非常明显的数学关系, 所以在用宏指令进行编程时可分别设置Z和X为两个变量, 控制Z值在 (0~5mm) 之间变化可实现走刀平面高度的变化即逐层铣削。由倒角截面间存在的数学关系式可得出:在进行道具对倒圆角进行逐层铣削过程中, X的数值随Z轴数值的变化遵从相应的数学关系式而发生变化, 进而就可以得到不同的走刀轮廓轨迹, 我们把这种宏指令编程方法定义为数学计算法。
3 结论