高级技师论文数控铣床加工中心.docx
《高级技师论文数控铣床加工中心.docx》由会员分享,可在线阅读,更多相关《高级技师论文数控铣床加工中心.docx(24页珍藏版)》请在冰豆网上搜索。
高级技师论文数控铣床加工中心
数控加工中宏程序的应用分析
姓名:
身份证:
工种:
加工中心操作工
等级:
高级技师
鉴定单位:
准考证号:
所在单位:
日期:
数控加工中宏程序的应用分析
内容摘要:
随着数控加工技术的迅速发展以及计算机辅助制造软件的逐步完善,数控编程普遍采用自动编程,忽略了手工编程尤其是的优势。
宏程序可以很方便地编制三维曲面的加工程序,程序简洁,通用性好,实用性强;且宏程序中数学模型的建立、数学关系式的表达、加工刀具的选择、走刀方式的取舍等都可以利用宏程序编程实现,可以大大提高零件的加工效率。
本文从宏程序的逻辑运算、运行模式等方面阐述了宏程序的基本概念,通过球面加工分析了宏程序的技术特点,最后通过孔系加工和椭圆外形加工两个实例对比分析阐述宏程序在实际生产中的优势。
关键词:
手工编程;宏程序;自动编程;加工效率
目录:
1、绪论
2、宏程序的技术特点(球面加工为例)
3、宏程序在实际生产中的优势(孔系加工对比、椭圆加工对比)
4、总结
一、绪论
宏程序是含有变量、方程表达式、逻辑运算符的程序,是一种手工编写零件加工程序的高级形式,它附加于标准CNC程序,使数控编程功能更强大、更灵活。
本节主要讲述宏程序的数学基础以及应用场景。
在宏程序形式中,一般都提供循环判断分支和子程序调用的方法。
可编制各种复杂的零件加工程序,熟悉应用宏程序指令进行编程,可大大精简程序量,还可以增强机床的加工适应能力。
比如可以将抛物线、椭圆等非圆曲线的算法标准化后做成内部宏程序,以后就可以像圆弧插补一样按照标准格式编程调用,相当于增加了系统的插补功能。
随着数控系统的不断更新,宏指令应用越来越广泛。
以FANUCSERIES31i-MODELA5系统为例,FANUC31i-A5系统使用B类宏指令,包括宏变量的赋值、运算、条件调用等,功能强大,编程直观。
宏指令编程虽然属于手工编程的范畴,但它不是直接算出轮廓各个节点的具体坐标数据,而是给出数学公式的算法,由CNC来即时计算节点坐标,因此对于简单直观的零件轮廓不具有优势。
若零件结构不能用常规插补指令完成编程,则可采用编制宏程序的方法,将计算复杂数据的任务交由数控系统来完成。
对于加工方法、加工方式、零件的加工步骤、走刀路线、对刀点位置、起刀点位置以及切入、切出方式的设计还是遵循一般手工编程的规则。
编制宏程序时,应从零件的结构特点出发,分析零件加工表面之间的几何关系,据此推导出各参数之间的数量关系,建立准确的数学模型。
1.1宏程序运算基础
宏程序的基础数学知识中三角函数、解析几何是最主要、最直接的数学基础。
要编制出精良的加工用宏程序,一方面要求编程者具有相应的工艺知识和经验,即能选择合理的刀具、走刀方式等;另一方面也要求编程者具有相应的数学知识,即懂得如何将工艺流程通过逻辑严密的数学语言配合标准的格式语句表达出来。
表1-1中列出的运算可以在变量中运行。
等式右边的表达式可包含常量或者由函数或运算符组成的变量。
表达式中的变量#j和#k可以用常量赋值。
等式左边的变量也可以用表达式赋值。
其中算术运算主要是指加、减、乘、除等,逻辑运算可以理解为比较运算。
表1-1算术和逻辑运算
功能
格式
定义、置换
#i=#j
算术
运算
加法
减法
乘法
除法
#i=#j+#k
#i=#j-#k
#i=#j*#k
#i=#j/#k
正弦
反正弦
余弦
反余弦
正切
反正切
#i=SIN[#j]
#i=ASIN[#j]
#i=COS[#j]
#i=ACOS[#j]
#i=TAN[#j]
#i=ATAN[#j]/[#K]
平方根
绝对值
舍入
指数函数
(自然)对数
上取数
下取数
#i=SQRT[#j]
#i=ABS[#j]
#i=ROUND[#j]
#i=EXP[#j]
#i=LN[#j]
#i=FIX[#j]
#i=FUP[#j]
逻辑
运算
与
或
异或
#iAND#j
#iOR#j
#iXOR#j
从BCD转为BIN
从BIN转为BCD
#i=BIN[#j]
#i=BCD[#j]
宏程序以C语言为编程语言,其基本运算符如表1-2所示。
表1-2宏程序基本运算符
运算符
EQ
NE
GT
GE
LT
LE
含义
等于(=)
不等于(≠)
大于(>)
大于或等于(≥)
小于(<)
小于或等于(≤)
1.2宏程序的运行模式
在程序中,使用GOTO语句和IF语句可以改变程序的流向。
如图1-1有三种转移和循环操作:
(1)无条件转移(GOTO语句),转移(跳转)到标有顺序n的程序段。
其格式为:
GOTOn:
n为顺序号。
例如:
GOTO99,即转移至第99行。
(2)条件转移(IF语句),条件转移有两种形。
一,IF[<条件表达式>]GOTOn,表示如果指定的条件表达式满足时,则运行跳转到指定顺序号n的程序段。
二,IF[<条件表达式>]THEN,表示如果指定的条件表达式满足时,就执行预先指定的宏程序语句,而且只执行一个宏程序语句。
(3)循环(WHILE语句),在WHILE后指定一个条件表达式。
当指定条件满足时,则执行从DO到END之间的程序,否则转到END后的程序段。
图1-1转移和循环操作形式
1.3宏程序应用的场景
1、相似零件的加工
主要是完成零件某一部分的重复加工,或有规律地重复某一动作。
2、非标准轨迹插补
也称曲线曲面的插补,是根据给定的数学公式、数学模型等已知条件,使用G01或G02来完成曲线、曲面的插补。
3、设置机床加工参数(刀具参数、坐标参数)
把工件坐标系、刀具长度补尝等一些参数通过特定的宏程序语句写在程序中。
系统在执行这些宏语句后,根据提供的信息填写到对应的偏置寄存器中。
4、定制固定循环
根据自己的特定加工领域,以用户宏程序的形式编写一些自己常用的加工循环,例如铣槽循环、孔加工循环等。
5、检测与测量
包括机床工作状态的检测、工件加工尺寸精度的测量、自动建立工件坐标系、机内对刀等内容。
二、宏程序的技术特点(球面加工为例)
模块化加工是手工编程比较显著的特性,而宏程序最具有模块化的思想和资质条件,编程人员只需要根据零件几何信息和不同的数学模型即可完成相应的模块化加工程序设计,应用时只需要把零件信息、加工参数等输入到相应模块的调用语句中,就能使编程人员从繁琐的、大量重复性的编程工作中解脱出来。
数控加工程序编制的关键是刀具相对工作运动轨迹的计算,即计算加工轮廓的基点和节点坐标或刀具中心的基点和节点坐标。
数控机床一般只提供平面直线和圆弧插补功能,对于非圆的平面曲线Y=f(X),采用的加工方法是按编程允许误差,将平面轮廓曲线分割成许多小段,然后用数学计算的方法求逼近直线或圆弧轮廓曲线的交点和切点坐标。
随着计算机数控系统(CNC)的不断发展,CNC不仅能通过数字量去控制多个轴的机械运动,而且具有强大的数据计算和处理能力,编程时只要建立加工轮廓的基点和节点的数学模型,按加工的先后顺序由数控系统即时计算出加工节点的坐标数据进而控制加工,这就是数控系统提供的宏编程。
宏指令编程像高级语言一样,可以使用变量进行包含算术运算逻辑运算的函数混合运算进行编程。
2.1加工工艺分析
图2-1所示是
50的圆柱顶端有SR60的一个部分球体。
加工此零件时要求残料预留量大,分两部工序完成对球面的加工,第一步是利用
10的立铣刀完成对残料的去除,第二是用半径为R5的球刀完成对SR60球面的加工。
本文从球面加工的角度进行对宏程序技术特点的分析。
图2-1球面模型
对此零件进行数控加工时,将工件零点设置在工件上表面中心点,加工思路为首先采用
10HSS的立铣刀粗铣,然后用
10HSS的球刀精铣。
2.2球面的几何解析
图2-2为使用
10HSS的立铣刀编程时的数学结构图。
立铣刀的对刀点(1点)是刀具轴线与端面的交点,立铣刀的编程控制点(2点)是侧刃与端面的交点。
编程控制点指的是能反映出切削点变化规律的点,即编程点与对刀点重合。
由
,得
;则球面半径
。
(1)对于任意角度α,立铣刀控制点(2点)坐标:
,
;
(2)对于任意角度α,立铣刀对刀点(1点)坐标:
。
图2-2立铣刀几何解析
图2-3为使用
10的球刀编程时的数学结构图。
球铣刀的对刀点(1点)是刀具轴线与球面交点,球铣刀的编程控制点(2点)是球心点。
同样由
,得
;则球面半径
。
(1)对于任意角度α,球刀心(2点)坐标:
,
;
(2)对于任意角度α,球刀对刀点(1点)坐标:
。
图2-3球刀几何解析
2.3程序流程图
图2-4WHILE语句数列求和的程序框图
2.4宏程序文件
以下是球面加工实例的宏程序文件。
立铣刀¢10HSS粗铣→T01
O0001
G54G90G00X0Y0Z100
M03S2500
Z5
#1=25
#2=0
WHILE[#1GE#2]DO1
#11=60*SIN[#1]+5
#12=-60+60*COS[#1]
G01Z#12F150
X#11
G02I-#11
#1=#1-5
END1
M09
G91G28Z0
G28Y0
M30
球头铣刀¢10HSS精铣→T02
O0002
G54G90G00X0Y0Z100
M03S2500
Z5
#1=25
#2=0
WHILE[#1GE#2]DO1
#11=(60+5)*SIN[#1]
#12=-60+(60+5)*COS[#1]-5
G01X#11F150
Z#12
G02I-#11
#11=#1-5
END1
M09
G91G28Z0
G28Y0
M30
对此零件的加工步骤进行分析,本例采用球刀从下往上进行加工。
先在半球底部铣整圆,之后将刀具沿着Z轴进行抬高并改变上升后整圆的半径。
对于半球的加工来说主要控制的是每次刀具沿Z轴的上升尺寸,本文通过控制半球的角度来间接控制Z轴上升尺寸的变化,即每变化一定的角度便增加一个半径的变化量(通过控制#2实现)。
由此可见,加工半球的宏程序只需要一层表达式,就是每次角度变化后的Z轴的高度,以及X方向的尺寸(半球的半径从下往上逐渐减小),X为#11号变量,Z为#12变量,#11和#12变量都可以根据#2的变量值进行计算,因此归根结底只要控制#1变量就可以了。
球面加工的宏程序只需要一层循环,控制角度的变化,角度从0度增加到90度,每次增加2度,一个半球就加工好了。
每层上升的距离采用圆弧加工,较直线进刀准确一些。
通过上面的加工实例可以看出宏程序具有灵活性、通用性和智能性等特点。
如对于规则曲面的编程来说,使用CAD/CAM软件编程一般都有工作量大、程序庞大、加工参数不易修改等缺点,只要任何一个加工参数发生任何变化,再智能的软件也要根据变化后的加工参数重新计算刀具轨迹,尽管软件计算刀具轨迹的速度非常快,但始终是个比较麻烦的过程。
而宏程序则注重把机床功能参数与编程语言结合,而且灵活的参数设置也使机床具有最佳的工作性能,同时也给予操作工人极大的自由调整空间。
另外,由于宏程序基本上包含了所有的加工信息(如所使用刀具的几何尺寸信息等),而且非常简明、直观,通过简单地存储和调用就可以很方便地重现当时的加工状态,给周期性的生产特别是不定期的间隔式生产带来极大的便利。
数控宏程序有以下特点;
1)机械零件绝大多数都是批量生产(除了样品试制),在保证质量的前提下要求最大限度地提高加工效率以降低生产成本,一个零件哪怕仅仅节省1秒,成百上千的批量生产节省下来的时间是非常可观的。
批量零件在加工的几何尺寸精度和形状位置精度方面都要求保证高度的一致性,加工工艺的优化特别是程序走刀路径的优化,是一个反复调整、检测尝试的过程,这就要求操作者能够非常方便地调整程序中的各项参数(刀具尺寸、刀具补偿、层降、步距、精度、进给速度等)。
如上所述,只要其中任何一项发生变化,再智能的软件也要根据变化后的加工参数重新计算刀具轨迹,再经过后处理生成程序,这个过程非常耗时,且十分繁杂。
显然宏程序在这方面就有强大的优越性,只要能用宏程序来表述,操作者就根本无需触动程序本身,而只需针对各项加工参数所对应的自变量赋值做出个别调整,就能迅速将程序调整到最优化的状态,这就体现出宏程序的一个突出优点,即一次编程、多次重复使用。
2)机械零件的形状主要是由各种凸台、凹槽、圆孔、斜平面、回转面等组成,很少包含不规则的复杂曲面,构成其的几何因素无外乎点、直线、圆弧,最多加上各种二次圆锥曲面(椭圆、抛物线、双曲线),以及一些渐开线(常应用于齿轮及凸轮等),所有这些都是基于三角函数、解析几何的应用,而数学上都可以用三角函数表达式及参数方程加以表述,因此宏程序有广泛的应用空间,可以发挥其强大的作用。
三、宏程序在实际生产中的优势
3.1宏程序与普通程序对比(孔系加工为例)
一般意义所讲的数控指令是指ISO代码指令编程,即每个代码的功能是固定的,由系统生产厂家开发,使用者只需按照规定编程即可。
有时候这些指令满足不了用户的需要,因而系统提供了用户宏程序功能,使用户可以对数控系统进行一定的功能扩展,其实际上是数控系统对用户的开放。
宏程序也可视为用户利用数控系统提供的工具在数控系统的平台上进行二次开发,当然这里的开放和开发都是有条件和有限制的。
与普通程序相比,宏程序中可以使用变量,可以给变量赋值,变量之间可以运算,程序运行可以跳转;而普通程序中,只可以指定常量,常量之间不可以运算,程序只能按顺序执行,不能跳转,功能是固定的。
例:
孔系加工
图3-1为孔系的加工图。
现以扩铣孔实例对比宏程序和普通程序之间的优劣:
用普通程序来扩铣孔需要三步工序,第一道工序是用
1中心钻点位置孔,第二道工序用
11钻花顺着中心钻点的位置孔向下钻通
12、
15的底孔,第三步用
10立铣刀扩铣孔,先扩铣到位
12、
15,再铣
22深5台阶孔。
而用宏程序只需要用一把
10立铣刀即可,螺旋向下钻铣,分层次精铣到位
12、
15、
22。
具体加工流程如下。
图3-1孔系加工
1.程序流程图:
图3-2孔系加工流程图
2.普通程序文件
1,中心钻点位置孔→T01
O0001
T01M06
G54G80G90G00X-17Y-9.5Z100
M03S1000
Z5
G98G81R1Z-0.5F200
X20Y25
G80G91G28Z100
G28Y0
M05
M30
2,¢10钻花打底孔→T02
O0002
T02M06
G55G80G90G00X-17Y-9.5Z100
M03S1000
Z5
G98G83R1Z-0.5Q1F200
X20Y25
G80G91G28Z100
G28Y0
M05
M30
3,¢10立铣刀扩孔→T03
O0003
T03M06
G56G40G90G00X-17Y-95Z100
M03S2300
Z5
G01Z-18.5F500
G41D01G91X7.5F75
G03I-7.5F200
G40G90G00Z5
X-17Y-9.5
G01Z-5F500
G41D01G91X11F75
G03I-11F200
G40G90G00Z5
X20Y25
G01Z-18.5F500
G41D01G91X6F75
G03I-6F200
M09
G40G91G28Z0
G28Y0
M30
3.宏程序文件
¢10立铣刀扩铣孔→T03
O0001(主程序)
T03M06
G54G90G00X0Y0Z100
M03S2300
Z5
G52X-17Y-9.5
G65P2A15B18.5C10I0Q0.5F150
G52X20Y25
G65P2A12B5C18.5I0Q0.5F150
M09
G91G28Z0
G28Y0
M05
M30
选择¢10的3号刀
主轴移动初始位置
主轴正转
加工安全高度
建立局部坐标系
加工¢15的通孔
建立局坐标系
加工¢12的通孔
冷却液关
返回Z方向参考点
返回Y方向参考点
主轴停止
程序结束
O0002(子程序)
G90X0Y0
Z5
#5=[#1-#3]/2
G01X#5F500
Z1
G01Z0F300
WHILE[#4LT#2]DO1
#4=#4+#17
G03I-#5Z-#4F#9
END1
G03I-#5F300
G01X0F100
Z50F2000
M99
确定圆心位置点
加工安全高度
加工时圆的刀具回转半径
起始点上方
加工安全高度
直线插补至工件表面
运算中#4<#1,循环1继续
依次递加#17
螺旋加工至下一层
循环1结束
在孔的最深层重新走一边
返回圆心
抬升一个高度
子程序结束
通过以上两程序对比,可以看出扩铣孔宏程序可以减少换刀次数,优化加工工序,加工精度非常高,在现实生产中非常通用,只需一次编写主、子程序便可永久使用,每次根据孔的大小、深度、刀具大小相对应编写输入A、B、C值便可运行机床加工,大大缩短了编写程序时间,减少编程人员的劳动强度。
缺点是加工刀刃的长度限制了加工孔的深度,不能像钻花那样对孔深加工。
3.2宏程序与CAD/CAM生成程序对比(椭圆加工为例)
任何数控加工只要能够用宏程序完整地表达,即使再复杂,其程序篇幅都比较精炼,可以说任何一个合理、优化的宏程序,极少会超过60行字,换算成字节数,至多不会超过2KB。
一方面,宏程序天生短小精悍,即使最廉价的机床数控系统,其内部程序存储空间也有10KB左右(FANUC0i系统的标准配置一般为128KB或256KB,其它数控系统大体相仿),完全容纳得下任何复杂的宏程序,因此根本无需考虑机床与外部电脑的传输速度对实际加工速度的影响。
另一方面,为了对复杂的加工运动进行描述,宏程序必然会最大限度地使用数控系统内部的各种指令代码,例如直线插补G01指令和圆弧(螺旋)插补G02/G03指令等。
因此机床在执行宏程序时,数控系统的计算机可以直接插补运算,肯运算速度极快,再加上伺服电动机和机床的迅速响应,使得加工效率极高。
而对于CAD/CAM软件生成的程序,情况则要复杂得多;首先,CAM/CAM软件生成的程序通常都比较大,非常容易突破机床数控系统内部程序存储空间的限制(简单的说就是装不下程序),因此一般来说除了相对简单的孔系加工、二维轮廓或凹槽加工以外,其余绝大部分程序都不得不以DNC方式进行在线加工,显然机床与电脑之间的传输速度成为了影响加工速度的第一个瓶颈因素,除了那些机床系统内置硬盘或机床与电脑之间以FDDI、以太网等形式进行组网的新型数控机床(主要是高速加工机床),目前大多数的数控铣床/加工中心都是通过RS-232口的串口通信来实现DNC在线加工的。
绝大多数主流的中档数控机床系统,所支持的RS-232口最大传输波特率为19200bit/s,而大多数DNC软件支持的最大波特率多数也不过在19200~38400bit/s,即使在19200bit/s的波特率下工作,当计算精度较高、进给速度F值较大(F1800~F2500)JF,程序传输速率往往跟不上机床的节拍,在实际加工中可以看到机床的进给运动有明显的断续、迟滞,这样一来DNC在线加工方式下的加工效率便大打折扣。
其次,从实践中发现,使用CAD/CAM软件来生成刀具轨迹及加工程序是非常容易的事,但是剖析CAD/CAM软件计算刀具轨迹的原理,就知道它存在一定的弊端。
在CAD/CAM软件中,无论构造规则或不规则的曲面,都有一个数学运算的过程,也必然存在着计算的误差和处理,而在对其生成三维加工刀具轨迹时,软件是根据操作者所选择的加工方式、设定的加工参数。
并结合所设定的加工误差(或称为曲面的计算精度),使刀具与加工表面接触点(相交点或相切点)逐点移动完成加工,从本质上看,就是在允许的误差值范围内沿每条路径用直线去逼近曲面的过程。
最后,从操作使用的角度说,使用CAD/CAM软件来生刀具轨迹及加工程序是非常容易的事,但是剖析CAD/CAM软件计算刀具轨迹的原理,就知道它存在一定的弊端。
在CAD/CAM软件中,无论构造规则或不规则的曲面,都有一个数学运算的过程,也必然存在着计算的误差和处理,而在对其生成三维加工刀具轨迹时,软件是根据操作者所选择的加工方式、设定的加工参数,并结合所设定的中工误差(或称为曲面的计算精度),使刀具与加工表面接触点(相交点或相切点)逐点移动完成加工,从来本质上看,其实就是允许的误差值范围内沿每条路径用直线去逼近曲面的过程。
例:
椭圆加工
现以椭圆的外形实例具体对比宏程序和CAD/CAM程序之间的优劣:
图3-3为椭圆二维图。
图3-3椭圆图形
宏程序的走刀路径:
图3-4走刀路径
如图3-4所示,A位置为下刀位置,然后以G01直线加刀补运行到B,以G02顺圆方式进刀至C点,与椭圆相切,然后以0.5角度G01直线插补椭圆至C点,以相切方式运行到E点,在运行到A点过程中取消刀补,提刀程序完成。
CAD/CAM软件编程第一步先建立CAD图形,然后根据工艺选择
10刀具,选择外形铣削进行模拟加工,最后生成CNC后处理程序。
1.程序流程图:
图3-5WHILE语句数列求和的程序框图
2.宏程序文件:
立铣刀¢10扩铣孔→T03
O0001
T03M06
G54G40G90G00X40Y0Z100
M03S2600
Z5
G01Z-5F500
G42D01X35Y-5F200
G02X30Y0R5F300
#1=0
WHILE[#1LE360]DO1
#1=#1+0.5
#24=30*cos[#1]
#25=20*sin[#1]
G01X#24Y#25F100
END1
G40G02X35Y5R5F300
G91G28Z0
G28Y0
M30
选择¢10的3号刀
主轴移动初始位置A点
主轴正转
加工安全高度
加工深度为5
加入刀补B点
以走圆方式相切于椭圆最右边C点
初始值为0
加工角度≤360度,循环1
每次递增0.5度
椭圆上一点X点的坐标值
椭圆上一点Y点的坐标值
以G01逼近加工椭圆
循环1结束
以顺圆方式取消刀补,E点
返回Z方向参考点
返回Y方向参考点
程序结束
3.CAD/CAM软件编程加工椭圆:
图3-6为MasterCAM9.1中CAD功能绘制60*40椭圆图形,在CAM功能中外形加工方式选择,经过对刀具的选择、设置转速和进给、以及走刀方式的取舍后所形成的走刀路径。
图3-6刀路径
CAD/CAM程序文件:
O0001
N104T1M6
N106G0G90G54X-72.66Y-4.579Z100
S3500M3
N110Z5.
N112G1Z-5.F500.
N114X-67.663Y-4.746F300.
N116G3X-62.499Y.084R5.
N118G1X-62.439Y1.867
N120G2X-62.425Y2.059R2.5
N122G1X-62.167Y4.388
N124G2X-62.134Y4.602R2.5
N126G1X-61.671Y6.922
N128G2X-61.62Y7.129R2.5
N130G1X-60.952Y9.435
N132G2X-60.886Y9.632R2.5