宏编程技术在数控加工中的应用.docx
《宏编程技术在数控加工中的应用.docx》由会员分享,可在线阅读,更多相关《宏编程技术在数控加工中的应用.docx(39页珍藏版)》请在冰豆网上搜索。
宏编程技术在数控加工中的应用
河南科技学院
2009届本科毕业论文(设计)
论文题目:
宏编程技术在数控加工中的应用
学生姓名:
石伟超
所在院系:
机电学院
所学专业:
机电技术教育
导师姓名:
杜家熙
完成时间:
2009年5月20日
摘要
本文根据目前数控加工中手工编程和自动编程的特点及应用现状,分析了用户宏编程技术的应用。
通过对典型零件的工艺特点分析,以FANUC数控系统为载体,利用宏程序编制典型零件的加工程序,在程序中应用了宏程序中变量、循环语句、算术逻辑等功能。
并利用自动编程技术对零件进行实体造型、加工参数设置,自动生成了加工程序,通过与宏程序编程进行对比,分析了宏程序技术在数控加工中的优势和不足。
关键字:
宏程序,数控编程,数控加工,变量,FANUC
Acro-programtechnologyanditsapplicationinthenumericalcontrolprocessing
Abstract
Onthepresentnumericalcontrolprocessinginacro-programandautomaticprogrammingcharacteristicanditspresentapplicationsituation.Thepapersanalyzepartsofthetypicalcharacteristicsoftheprocess,taketheFANUCnumericalcontrolsystemasacarrier,usingacro-programprogrammingprocedures,introducedthemacrovariablesintheprocess,theloop,suchasarithmeticlogicfunctionapplications.Carryonthesolidmodeling,theprocessingparameterestablishmenttothecomponents,hasproducedtheprocessingprogramautomaticallyandcarriesonthecontrastwiththegreatprocedure,elaboratedthegreatprocedurethesuperioritywhichandtheinsufficiencytheautomaticprogrammingmanifestsinthenumericalcontrolprocessing.
Keywords:
Macro—program,NumericalProgramming,NumericalControlProcessing,Variable,FANUC
目录
摘要1
Abstract2
1绪论4
2宏程序概述4
2.1数控编程技术的分类4
2.1.1手工编程4
2.1.2自动编程5
2.2数控编程技术的应用现状5
2.3宏程序编程的技术特点5
2.4宏程序与普通程序的对比7
2.5FANUC-0i宏程序编编程7
2.5.1变量7
2.5.2双轨迹(双轨迹控制)的公共变量8
2.5.3算术和逻辑运算9
2.5.4转移和循环10
3宏程序数控加工工艺设计10
3.1零件1的工艺分析10
3.2刀具的选择11
3.3编制加工工艺12
3.4零件2的工艺分析12
3.5刀具的选择13
3.6编制加工工艺13
4FANUC用户宏程序编程13
4.1计算编程时各点点坐标13
4.2手工宏程序编程14
4.3实体造型与自动编程22
4.3.1CAXA制造工程师简介22
4.3.2CAXA实体造型22
4.3.3CAXA自动编程23
4.4总结25
5结束语25
致谢26
参考文献27
附录28
1绪论
数控加工程序编制的关键是刀具相对于工件运动轨迹的计算,即计算加工轮廓的基点和节点坐标或刀具中心的基点和节点坐标。
数控机床一般只提供平面直线和圆弧插补功能,对于非圆的平面曲线Y=f(X),采用的加工方法是按编程允许误差,将平面轮廓曲线分割成许多小段。
然后用数学计算的方法求逼近直线或圆弧轮廓曲线的交点和切点的坐标。
随着计算机数控系统(CNC)的不断发展,CNC不仅能通过数字量去控制多个轴的机械运动,而且具有强大的数据计算和处理功能。
编程时只要建立加工轮廓的基点和节点的数学模型,按加工的先后顺序,由数控系统即时计算出加工节点的坐标数据,进而控制加工,这就是数控系统提供的宏编程。
宏指令编程像高级语言一样,可以使用变量进行算术运算逻辑运算和函数混合运算进行编程。
在宏程序形式中,一般都提供循环判断分支和子程序调用的方法。
可编制各种复杂的零件加工程序。
熟练应用宏程序指令进行编程,可大大精简程序量,还可以增强机床的加工适应能力。
比如可以将抛物线、椭圆等非圆曲线的算法标准化后做成内部宏程序,以后就可以像圆弧插补一样按标准格式编程调用,相当于增加了系统的插补功能。
随着数控系统的不断更新,宏指令应用越来越广泛。
以日本FANUC-0i系统为例,0i系统使用B类宏指令,包括宏变量的赋值、运算、条件调用等,其功能强大,编程直观。
宏指令编程虽然属于手工编程的范畴,但它不是直接算出轮廓各个节点的具体坐标数据,而是给出数学公式和算法,由CNC来即时计算节点坐标,因此对于简单直观的零件轮廓不具有优势。
若零件结构不能用常规插补指令可以完成编程的,则可采用编制宏程序的方法,将计算复杂数据的任务交由数控系统来完成。
对于加工方法和加工方式,零件的加工步骤,走刀路线及对刀点、起刀点的位置,以及切入、切出方式的设计还是遵循一般手工编程的规则。
编制宏程序时,应从零件的结构特点出发,分析零件上各加工表面之间的几何关系,据此推倒出各参数之间的数量关系,建立准确的数学模型。
2宏程序概述
2.1数控编程技术的分类
数控编程方法可以分为两类:
一类手工编程,另一类是自动编程。
2.1.1手工编程
手工编程是指编制零件数控加工程序的各个步骤,即从零件图纸分析、工艺决策、确定加工路线和工艺参数、计算刀尖轨迹坐标数据、编写零件的数控加工程序单直至程序的检验,均由
工来完成。
对于点位加工或几何形状不太复杂的轮廓加工,几何计算较简单,程序段不多,手工编程即可实现。
如简单阶梯轴的车削加工,一般不需要复杂的坐标计算,往往可以由技术人员根据工序图纸数据,直接编写数控加工程序。
但对轮廓形状不是由简单的直线、圆弧组成的复杂零件,特别是空间复杂曲面零件,数值计算则相当繁琐,工作量大,容易出错,且很难校对,采用手工编程是难以完成的。
2.1.2自动编程
使用计算机编制数控加工程序,自动地输出零件加工程序单及自动的制作控制介质的过程称作自动编程。
自动编程就是编程人员根据零件图纸和工艺过程,使用规定的数控语言编写一个较简短的零件加工源程序,输入到计算机中。
计算机自动的进行数学处理,计算出刀具中心运动轨迹,编写出零件加工程序单,并生成控制介质。
有预见在计算机上可自动的绘出所编程序的图形及走刀轨迹,所以能及时的检查程序是否错误,并进行修改,得到正确的程序。
在自动编程时,工艺处理部分工作还需编程人员来完成并按自动编程系统要求的格式输入。
2.2数控编程技术的应用现状
在我国,六成以上的数控铣床(包括加工中心)都是应用在模具行业,由于模具加工的特殊性和一些非技术性原因,CAD/CAM软件的应用由来已久,且日趋成熟,特别是在数控三维曲面加工中,手工编程几乎已没有用武之地,而由于强大对我思维定势和使用习惯,使得编程人员不论程序大小、加工难易,都习惯并乐于使用各种CAD/CAM软件来编程加工。
手工编程似乎被遗忘在角落里,大有无人问津之势。
2.3宏程序编程的技术特点
尽管使用各种CAD/CAM软件来编制数控加工程序已经成为潮流(或是主流),但是手工编程毕竟还是基础,各种“疑难杂症”的解决往往还要利用手工编程;且手动编程还可以使用变量编程,即宏程序的使用。
其最大特点就是将有规律的形状或尺寸用最短的程序段表示出来,具有极好的易读性和已修改性,编写出的程序非常简洁,逻辑严密,通用性极强,而且机床在执行此类程序时,较执行CAD/CAM软件生成的程序更加快捷,反应更迅速。
随着技术的发展,自动编程逐渐会取代手工编程,但宏程序简捷的特点使之依然具有使用价值,宏程序的御用是手工编程应用中最大的亮点和最后的堡垒。
宏程序具有灵活性、通用性和智能性等特点,例如对于规则曲面的编程来说,使用CAD/CAM软件编程一般都有工作量大,程序也庞大,加工参数不容易修改等缺点,只要任何一个加工参数发生任何变化,再智能的软件也要根据变化后的加工参数重新计算刀具轨迹,尽管软件计算刀具轨迹的计算速度非常快,但始终是个比较麻烦的过程。
而宏程序则注重把机床参数与编程语言结合,而且灵活的参数设置也使机床具有最佳的工作性能,同时也给予操作工人极大的自由调整空间。
从模块化加工的角度看,宏程序最具有模块化的思想和资质条件,编程人员只需要根据零件几何信息和不同的数学模型即可完成相应的模块化加工程序设计,应用时只需要把零件信息、加工参数等输入到相应的模块的调用语句中,就能使编程人员从繁琐的、大量重复性的编程工作中解脱出来,有种一劳永逸的效果。
另外,由于宏程序基本上包含了所有的加工信息(如所使用刀具的几何尺寸信息等),而且非常简明直观,通过简单的存储和调用,就可以很方便的重现当时的加工状态,给周期性的生产特别是不定期的间隔式生产带来了极大的便利。
客观的说,对于主要由大量的不规则复杂曲面构成的模具成型零件,特别是各种注塑模、压铸模等型腔类模具的型芯、型腔和电极,以及汽车覆盖件模具的凸模、凹模等,由于从设计、分析到制造的整个产业链在技术层面及生产管理上都是通过以上各种CAD/CAM软件为核心(还包括PDM/CAE等)的纽带紧密相连的,从而形成一种高度的一体化和关联性,无论从哪个角度来看,数控加工的程序编制几乎百分百的依赖各种CAD/CAM软件,宏程序在这里的发挥空间是非常有限的。
但是,数控加工领域还有很大一片天空是属于机械零件的批量加工,虽然同样是数控加工,它与上述的模具类零件的数控加工还是有着相当大的差别的,机械零件的数控加工主要有以下几个特点:
(1)机械零件绝大多数都是批量生产,在保证质量的前提下要求最大限度的提高生产效率以降低生产成本。
另外批量零件字加工的几何尺寸精度和形状位置精度方米昂都要求保证高度的一致性,而加工工艺的优化主要就是程序的优化,是一个反复调整、尝试的过程,这就要求操作者能够非常方便的调整程序中的各项加工参数(如刀具尺寸、刀具补偿值、层降、步距、计算精度、进给速度等),宏程序在这方面就有强大的优越性,只要能用宏程序来表述,操作者就根本无需触动程序本身,而只需针对各项加工参数所对应的自变量赋值做出个别调整,就能迅速的将程序调整到最优化的状态,这就体现出宏程序的一个突出优点,即一次编程,终身受益。
(2)机械零件的形状主要是由各种凸台、凹槽、圆孔、斜平面、回转面等组成,很少包含不规则的复杂曲面,构成其的几何因素无外乎点、直线、圆弧、最多加上各种二次圆锥曲面(椭圆、抛物线、双曲线),以及一些渐开线(常应用于齿轮及凸轮等),所有这些都是基于三角函数,解析几何的应用,而数学上都可以用三角函数表达式及参数方程加以表述,因此宏程序在此有广泛的应用空间,可以发挥其强大的作用。
(3)机械零件还有一些很特殊的应用,即使采用CAD/CAM软件也不一定能轻易地解决,例如变螺距螺纹的加工、用螺旋插补进行锥度螺纹的加工和钻深可变式深孔钻加工等,而在这些方面宏程序却可以发挥它的优势。
2.4宏程序与普通程序的对比
一般意义上所讲的数控指令其实是指ISO代码指令编程,即每个代码的功能是固定的,由系统生产厂家开发,使用者只需(只能)按照规定编程即可。
但有时候这些指令满足不了用户的需要,系统因此提供了用户宏程序功能,是用户可以对数控系统进行一定的功能扩展,实际上是数控系统对用户的开放,也可视为用户利用数控系统提供的工具,在数控系统的平台上进行二次开发,这里所讲的开放和开发也都是有条件和有限制的(如表1)。
表1用户宏程序和普通程序的简要对比
普通程序
宏程序
只能使用常量
可以使用变量,并给变量赋值
常量之间不可以运算
变量之间可以运算
程序只能顺序进行
程序可以跳转,循环
2.5FANUC-0i宏程序编编程
2.5.1变量
普通加工程序直接用数值指定G代码和移动距离;例如,G01和X100.0。
使用用户宏程序是,数值可以直接指定或用变量指定。
当用变量时,变量值可以用程序或用MDI面板上的操作改变。
如:
#1=#2+100
G01X#1F300
(1)变量的表示
计算机允许使用变量名,用户宏程序不行。
变量用变量符号(#)和后面的变量号指定。
例如:
#1
表达式可以用于指定变量号。
此时,此时,表达式必须封闭在括号中。
例如:
#[#1+#2-12]
(2)变量的类型
变量根据变量号可以分成四种类型(如表2)
(3)变量值的范围
局部变量和公共变量可以有0值或下面范围中的值:
-1047到-10-29或-10-2到-1047。
如果计算范围超出有效范围,则发出P/S报警NO.111。
表2宏程序变量类型
(4)小数点的省略
当在程序中定义变量值时,小数点可以省略。
例:
当定义#1=123;变量#1的实际值是123.000。
(5)变量的引用
(1)为在程序中使用变量值,指定后跟变量号的地址。
当用表达式指定变量时,要把表达式放在括号中。
例如:
G01X[#1+#2]F#3;
(2)被引用变量的值根据地址的最小设定单位自动地舍入。
例如:
当G00X#/;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346.
(3)改变引用变量的值的符号,要把负号(-)放在#的前面。
例如:
G00X-#1
(4)当引用未定义的变量时,变量及地址都被忽略。
例如:
当变量#1的值是0,并且变量#2的值是空时,G00X#1Y#2的执行结果为G00X0。
2.5.2双轨迹(双轨迹控制)的公共变量
对双轨迹控制,系统为每一轨迹都提供了单独的宏变量,但是,根据参数N0.6036和6037的设定,某些公共变量可同时用于两个轨迹。
(1)未定义的变量
当变量值未定义时,这样的变量成为空变量。
变量#0总是空变量。
它不能写,只能读。
(1)引用:
当引用一个未定义的变量时,地址本身也被忽略。
(2)运算:
除了用赋值以外,其余情况下与0相同。
(3)条件表达式:
EQ和NE中的<空>不同于0。
(2)限制
程序号,顺序号和任选程序段跳转号不能使用变量。
例:
下面情况不能使用变量:
0#1;
/#2G00X100.0;
N#3Y200.0;
2.5.3算术和逻辑运算
下面表中列出的运算可以在变量中执行。
运算符右边的表达式可包含常量和由函数或运算符组成的变量。
表达式中的变量#j和#k可以用常数赋值。
左边的变量也可以用表达式赋值,其表达式如表3所示。
表3宏程序中算术和逻辑运算表达式
说明:
(1)函数SIN,COS,ASIN,ACOS,TAN和ATAN的角度单位是度。
如90°30'表示为90.5度。
(2)ARCSIN#i=ASIN[#j]
(3)取值范围如下:
当参数(NO.6004#0)NAT位设为0时,270°~90°
当参数(NO.6004#0)NAT位设为1时,-90°~90°
(4)当#j超出-1到1的范围时,发出P/S报警NO.111.
(5)常数可替代变量#j
(6)ARCCOS#i=ACOS[#j]取值范围从180°~0°当#j超出-1到1的范围时,发出P/S报警NO.111.常数可替代变量#j。
2.5.4转移和循环
在宏程序中,有三种转移和循环操作可供使用。
(1)无条件转移(GOTO语句)
其格式为:
GOTOn;
当程序执行GOTO语句时,立即无条件转移至标有顺序号的程序段,n为顺序号(1~99999),顺序号也可用表达式来指定。
(2)条件转移(IF语句)
IF语句有以下两种格式:
(1)IF[<条件表达式>]GOTOn
(2)IF[<条件表达式>]THEN
如果所需的是指定的条件表达式满足,转移至顺序号n的程序段,不满足则执行下个程序段,用第一种格式;如果所需的是指定的条件表达式满足,执行预先决定的宏程序语句,不满足则执行下个程序段,用第二种格式。
(3)循环(WHILE语句)
循环语句的格式为:
WHILE[<条件表达式>]DOm
ENDm
当指定条件满足时,执行从DO到END之间的程序,否则,转到END后的程序段。
循环嵌套最多不超过3级。
3宏程序数控加工工艺设计
3.1零件1的工艺分析
一、零件图分析,选择加工内容
如图1所示,该零件材料为45号钢。
本工件的毛坯尺寸为150×120×26mm。
四个侧面为不加工面,全部加工面都集中在上表面及下表面。
由于该件与零件2配合,所以加工螺纹时位置精度不好保证,为了能与零件2的孔通过螺栓很好连接,故这些螺纹孔在一次装夹中加工出来。
另外该零件中有两段椭圆的弧,编制程序时选用宏程序加工。
从工序集中和便于定位两方面考虑,选择上表面及上表面的螺纹孔、凸台在加工中心中加工。
将下表面作为主要定位基准,并在前道工序中加工出来。
二、选择加工中心
由于上表面及上表面上的螺纹孔,凸台只需单工位加工即可完成,故选择立式加工中心。
加工表面只有粗铣,精铣,攻丝等工步。
所需刀具不超过二十把刀。
故选国产XH714型立式加工中心即可满足上述要求。
该机床工作台尺寸为400mm×800mm,X轴行程为600mm,Y轴行程为400mm,Z轴行程为400mm,主轴端面到工作台距离为125~525mm,定位精度和重复定位精度分别为0.02mm和0.01mm。
刀库容量为18把。
工件在依次装夹中即可完成铣、钻,扩、铰等工步的加工。
图1零件1
3.2刀具的选择
所需的刀具有平面铣刀,螺纹刀。
其规格根据加工尺寸选择。
上表面粗铣时铣刀直径应选小一些,以减小切削力矩,但不能太小,以免影响加工效率;上表面精铣时铣刀直径应大一些,以减小接刀痕迹,但要考虑到刀库允许装刀直径(XH714型加工中心的允许装刀直径无相邻刀具直径为150mm,有相邻刀具直径为80mm)也不能太大。
刀柄柄部根据主轴锥孔和拉紧机构选择。
XH714型加工中心锥孔为ISO40。
具体所选刀具及刀柄见附录1所示。
3.3编制加工工艺
(1)加工方法选择
上表面用铣削方法加工,因其表面粗糙度值为1.6微米,故采用粗铣,精铣的加工方案。
内腔的内壁的粗糙度要求与上表面相同加工方案与上表面相同。
直径为10mm的螺纹孔可以直接用M10的螺纹刀。
30mm的孔不能铸造出来,为了满足要求,采用钻、扩、铰方法。
(2)确定装夹方案
该零件结构简单,四个侧面较光整加工面与不加工面之间的位置精度要求不高,但凸台要与件2配合的,故形状精度要求较高由机床保证,四个螺纹孔的位置精度要保证好只能在一次装夹中完成,采用通用虎钳从侧面夹紧,以底面和两侧面定位。
(3)确定加工顺序
按照先面后孔,先粗后精的原则确定具体的加工顺序为先粗铣,精铣上表面及凸台,后加工4个直径为10mm的螺纹孔。
具体的加工顺序见附录2所示。
3.4零件2的工艺分析
图2零件2
一、零件图分析,选择加工内容
如图2所示该零件2材料为45号钢。
本工件的毛坯尺寸为150×120×26mm。
四个侧面为不加工面,全部加工面集中在上表面及下表面。
由于该件与件1配合,所以加工孔时位置精度不好保证,为了能与件1的螺纹孔,通过螺栓很好连接故这些孔在一次装夹中加工出来。
另外该零件中有两段椭圆的弧,编制程序时需用宏程序。
从工序集中和便于定位两方面考虑,选择上表面及上表面的孔、内腔在加工中心中加工。
将下表面作为主要定位基准,并在前道工序中加工出来。
二、选择加工中心
由于上表面及上表面上的孔,内腔只需单工位加工即可完成,故选择与零件1相同的国产XH714型立式加工中心。
3.5刀具的选择
如3.4中零件分析,零件2较零件1有诸多相似点,所选刀具于刀柄如附录3所示。
3.6编制加工工艺
(1)加工方法选择
上表面用铣削方法加工,因其表面粗糙度值为1.6,故采用粗铣,精铣的加工方案。
内腔的内壁的粗糙度要求与上表面相同加工方案与上表面相同。
直径为12mm的孔小于35mm,故不能够铸造出来,为达到IT7级精度和粗糙度只值,故采用钻、扩、铰的加工方案。
(2)确定装夹方案
该零件结构简单,四个侧面较光整加工面与不加工面之间的位置精度要求不高,但内与件1配合的,故形状精度要求较高由机床保证,四个孔的位置精度要保证好只能在一次装夹中完成,采用通用虎钳从侧面夹紧,以底面和两侧面定位。
(3)确定加工顺序
按照先面后孔,先粗后精的原则确定具体的加工顺序为先粗铣,精铣上表面及内腔,后加工4个直径为12mm的孔。
具体的加工顺序见附录4所示。
4FANUC用户宏程序编程
4.1计算编程时各点点坐标
如图3中所示,编程时需计算图中各点的坐标。
A(20,15)B(10,25)C(-10,25)D(-20,15)E(-20,-15)F(-10,-25)G(10,-25)H(20,-15)I(0,40)J(-34.642,34.7585)K(-45,20.499)L(-45,-20.499)M(-34.642,-34.7585)N(0,-40)O(53.18,-53.8)P(61.25,-60)Q(77.5,-60)R(77.5,-47.35)S(63.42,-38)T(63.42,38)U(77.5,47.35)V(77.5,60)W(61.25,60)X(53.18,53.8)Y(-49.5,60)Z(-49.5,55)a(-67.5,37)b(-72.5,37)c(-72.5,60)d(-72.5,-37)e(-67.5,-37)f(-49.5,-55)g(-49.5,-60)h(-72.5,-60)
四个孔的圆心坐标分别为(20,25)(20,-25)(-20,25)(-20,-25)
图3编程需计算坐标的点
4.2手工宏程序编程
主程序O0001
O0001;
N1G54G90G00X0Y0Z200
N2T01M06(换1号刀)
N3G43Z50H01(建立正向长度补偿H01=100)
N4Z5
N5S800M03(转速800,主轴正转)
N6X120Y30
N7G01Z0.5F40(开始粗铣上表面)
N8X-120F100
N9Y-30
N10X120
N11S1000M03(开始精铣上表面)
N12G01Z0F40
N13X-120
N14Y30
N15X120(铣上表面结束)
N16G49Z200(取消长度补偿)
N17M05(主轴停)
N18G54G9