1、数控加工中宏程序的应用分析姓 名:身 份 证:工 种:加工中心操作工等 级:高级技师鉴定单位:准考证号:所在单位:日 期:目 录内容摘要: .1一、绪论 .11.1 宏程序运算基础 .21.2 宏程序的运行模式 .31.3 宏程序应用的场景 .3二、宏程序的技术特点(球面加工为例) .42.1 加工工艺分析 .42.2 球面的几何解析 .42.3 程序流程图 .62.4 宏程序文件 .6三、宏程序在实际生产中的优势 .73.1 宏程序与普通程序对比(孔系加工为例) .73.2 宏程序与 CAD/CAM 生成程序对比(椭圆加工为例) .10四、总结 .14参考文献: .14数控加工中宏程序的应用
2、分析内容摘要:随着数控加工技术的迅速发展以及计算机辅助制造软件的逐步完善,数控编程普遍采用自动编程,忽略了手工编程尤其是宏程序的优势。宏程序可以很方便地编制三维曲面的加工程序,程序简洁,通用性好,实用性强;且宏程序中数学模型的建立、数学关系式的表达、加工刀具的选择、走刀方式的取舍等都可以利用宏程序编程实现,可以大大提高零件的加工效率。本文从宏程序的逻辑运算、运行模式等方面阐述了宏程序的基本概念,通过球面加工分析了宏程序的技术特点,最后通过孔系加工和椭圆外形加工两个实例对比分析阐述宏程序在实际生产中的优势。关键词:手工编程;宏程序;自动编程;加工效率目 录:1、绪论2、宏程序的技术特点(球面加工
3、为例)3、宏程序在实际生产中的优势(孔系加工对比、椭圆加工对比)4、总结一、绪论宏程序是含有变量、方程表达式、逻辑运算符的程序,是一种手工编写零件加工程序的高级形式,它附加于标准 CNC 程序,使数控编程功能更强大、更灵活。本节主要讲述宏程序的数学基础以及应用场景。在宏程序形式中,一般都提供循环判断分支和子程序调用的方法。可编制各种复杂的零件加工程序,熟悉应用宏程序指令进行编程,可大大精简程序量,还可以增强机床的加工适应能力。比如可以将抛物线、椭圆等非圆曲线的算法标准化后做成内部宏程序,以后就可以像圆弧插补一样按照标准格式编程调用,相当于增加了系统的插补功能。随着数控系统的不断更新,宏指令应用
4、越来越广泛。以 FANUC SERIES 31i -MODEL A5 系统为例,FANUC31i-A5 系统使用 B 类宏指令,包括宏变量的赋值、运算、条件调用等,功能强大,编程直观。宏指令编程虽然属于手工编程的范畴,但它不是直接算出轮廓各个节点的具体坐标数据,而是给出数学公式的算法,由 CNC 来即时计算节点坐标,因此对于简单直观的零件轮廓不具有优势。若零件结构不能用常规插补指令完成编程,则可采用编制宏程序的方法,将计算复杂数据的任务交由数控系统来完成。对于加工方法、加工方式、零件的加工步骤、走刀路线、对刀点位置、起刀点位置以及切入、切出方式的设计还是遵循一般手工编程的规则。编制宏程序时,应
5、从零件的结构特点出发,分析零件加工表面之间的几何关系,据此推导出各参数之间的数量关系,建立准确的数学模型。1.1 宏程序运算基础宏程序的基础数学知识中三角函数、解析几何是最主要、最直接的数学基础。要编制出精良的加工用宏程序,一方面要求编程者具有相应的工艺知识和经验,即能选择合理的刀具、走刀方式等;另一方面也要求编程者具有相应的数学知识,即懂得如何将工艺流程通过逻辑严密的数学语言配合标准的格式语句表达出来。表 1-1 中列出的运算可以在变量中运行。等式右边的表达式可包含常量或者由函数或运算符组成的变量。表达式中的变量#j 和#k 可以用常量赋值。等式左边的变量也可以用表达式赋值。其中算术运算主要
6、是指加、减、乘、除等,逻辑运算可以理解为比较运算。表 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 转为 BC
7、D#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 的程序段。其格式为:GOTO n:n 为顺序号。例如:GOTO 99,即转移至第 99 行。(2)条件转移(IF 语句) ,条件转移有两种形。一, I
8、F GOTO n,表示如果指定的条件表达式满足时,则运行跳转到指定顺序号 n 的程序段。二,IF THEN,表示如果指定的条件表达式满足时,就执行预先指定的宏程序语句,而且只执行一个宏程序语句。(3)循环(WHILE 语句) ,在 WHILE 后指定一个条件表达式。当指定条件满足时,则执行从 DO 到 END 之间的程序,否则转到 END 后的程序段。转移和循环GOTO 语句-无条件转移IF 语句 -有条件转移(格式;IFTHEN)WHILE 语句 -当时循环(格式;WHILEDO)图 1-1 转移和循环操作形式1.3 宏程序应用的场景1、相似零件的加工主要是完成零件某一部分的重复加工,或有规
9、律地重复某一动作。2、非标准轨迹插补也称曲线曲面的插补,是根据给定的数学公式、数学模型等已知条件,使用 G01 或G02 来完成曲线、曲面的插补。3、设置机床加工参数(刀具参数、坐标参数)把工件坐标系、刀具长度补尝等一些参数通过特定的宏程序语句写在程序中。系统在执行这些宏语句后,根据提供的信息填写到对应的偏置寄存器中。4、定制固定循环根据自己的特定加工领域,以用户宏程序的形式编写一些自己常用的加工循环,例如铣槽循环、孔加工循环等。5、检测与测量包括机床工作状态的检测、工件加工尺寸精度的测量、自动建立工件坐标系、机内对刀等内容。二、宏程序的技术特点(球面加工为例)模块化加工是手工编程比较显著的特
10、性,而宏程序最具有模块化的思想和资质条件,编程人员只需要根据零件几何信息和不同的数学模型即可完成相应的模块化加工程序设计,应用时只需要把零件信息、加工参数等输入到相应模块的调用语句中,就能使编程人员从繁琐的、大量重复性的编程工作中解脱出来。数控加工程序编制的关键是刀具相对工作运动轨迹的计算,即计算加工轮廓的基点和节点坐标或刀具中心的基点和节点坐标。数控机床一般只提供平面直线和圆弧插补功能,对于非圆的平面曲线 Y=f(X) ,采用的加工方法是按编程允许误差,将平面轮廓曲线分割成许多小段,然后用数学计算的方法求逼近直线或圆弧轮廓曲线的交点和切点坐标。随着计算机数控系统(CNC)的不断发展,CNC
11、不仅能通过数字量去控制多个轴的机械运动,而且具有强大的数据计算和处理能力,编程时只要建立加工轮廓的基点和节点的数学模型,按加工的先后顺序由数控系统即时计算出加工节点的坐标数据进而控制加工,这就是数控系统提供的宏编程。宏指令编程像高级语言一样,可以使用变量进行包含算术运算逻辑运算的函数混合运算进行编程。2.1 加工工艺分析图 2-1 所示是 50 的圆柱顶端有 SR60 的一个部分球体。加工此零件时要求残料预留量大,分两部工序完成对球面的加工,第一步是利用 10 的立铣刀完成对残料的去除,第二是用半径为 R5 的球刀完成对 SR60 球面的加工。本文从球面加工的角度进行对宏程序技术特点的分析。图
12、 2-1 球面模型对此零件进行数控加工时,将工件零点设置在工件上表面中心点,加工思路为首先采用 10HSS 的立铣刀粗铣,然后用 10HSS 的球刀精铣。2.2 球面的几何解析图 2-2 为使用 10HSS 的立铣刀编程时的数学结构图。立铣刀的对刀点( 1 点)是刀具轴线与端面的交点,立铣刀的编程控制点(2 点)是侧刃与端面的交点。编程控制点指的是能反映出切削点变化规律的点,即编程点与对刀点重合。由 ,得sin2560;则球面半径 。24.660h(1)对于任意角度 ,立铣刀控制点(2 点)坐标: ,2cosZhR;2sinXR(2)对于任意角度 ,立铣刀对刀点(1 点)坐标: 。1sinZh
13、r2AXO刀 体Rah图 2-2 立铣刀几何解析图 2-3 为使用 10 的球刀编程时的数学结构图。球铣刀的对刀点(1 点)是刀具轴线与球面交点,球铣刀的编程控制点(2 点)是球心点。同样由 ,得 ;sin256024.6则球面半径 。60h(1)对于任意角度 ,球刀心(2 点)坐标: ,2()cosZhRr;2)sin(XRr(2)对于任意角度 ,球刀对刀点(1 点)坐标: 1r。1i点hAaXO点 刀 体图 2-3 球刀几何解析2.3 程序流程图开 始# 1 、 # 2 、 # 1 1 、 # 1 2 赋 值公 式 运 算 X 、 Z 值整 圆 程 序抬 刀结 束是 否图 2-4 WHIL
14、E 语句数列求和的程序框图2.4 宏程序文件以下是球面加工实例的宏程序文件。立铣刀10HSS 粗铣T01O0001G54G90G00X0Y0Z100M03S2500Z5#1=25#2=0WHILE#1GE#2DO1#11=60*SIN#1+5#12=-60+60*COS#1G01Z#12F150X#11G02I-#11#1=#1-5END1M09G91G28Z0G28Y0M30球头铣刀10HSS 精铣T02O0002G54G90G00X0Y0Z100M03S2500Z5#1=25#2=0WHILE#1GE#2DO1#11=(60+5)*SIN#1#12-60+(60+5)*COS#1-5G01
15、X#11F150Z#12G02I-#11#11=#1-5END1M09G91G28Z0G28Y0M30对此零件的加工步骤进行分析,本例采用球刀从下往上进行加工。先在半球底部铣整圆,之后将刀具沿着 Z 轴进行抬高并改变上升后整圆的半径。对于半球的加工来说主要控制的是每次刀具沿 Z 轴的上升尺寸,本文通过控制半球的角度来间接控制 Z 轴上升尺寸的变化,即每变化一定的角度便增加一个半径的变化量(通过控制#2 实现) 。由此可见,加工半球的宏程序只需要一层表达式,就是每次角度变化后的 Z 轴的高度,以及 X 方向的尺寸(半球的半径从下往上逐渐减小) ,X 为#11 号变量,Z 为#12 变量,#11
16、和#12 变量都可以根据#2 的变量值进行计算,因此归根结底只要控制#1 变量就可以了。球面加工的宏程序只需要一层循环,控制角度的变化,角度从 0 度增加到 90 度,每次增加 2 度,一个半球就加工好了。每层上升的距离采用圆弧加工,较直线进刀准确一些。通过上面的加工实例可以看出宏程序具有灵活性、通用性和智能性等特点。如对于规则曲面的编程来说,使用 CAD/CAM 软件编程一般都有工作量大、程序庞大、加工参数不易修改等缺点,只要任何一个加工参数发生任何变化,再智能的软件也要根据变化后的加工参数重新计算刀具轨迹,尽管软件计算刀具轨迹的速度非常快,但始终是个比较麻烦的过程。而宏程序则注重把机床功能
17、参数与编程语言结合,而且灵活的参数设置也使机床具有最佳的工作性能,同时也给予操作工人极大的自由调整空间。另外,由于宏程序基本上包含了所有的加工信息(如所使用刀具的几何尺寸信息等) ,而且非常简明、直观,通过简单地存储和调用就可以很方便地重现当时的加工状态,给周期性的生产特别是不定期的间隔式生产带来极大的便利。数控宏程序有以下特点;1)机械零件绝大多数都是批量生产(除了样品试制) ,在保证质量的前提下要求最大限度地提高加工效率以降低生产成本,一个零件哪怕仅仅节省 1 秒,成百上千的批量生产节省下来的时间是非常可观的。批量零件在加工的几何尺寸精度和形状位置精度方面都要求保证高度的一致性,加工工艺的
18、优化特别是程序走刀路径的优化,是一个反复调整、检测尝试的过程,这就要求操作者能够非常方便地调整程序中的各项参数(刀具尺寸、刀具补偿、层降、步距、精度、进给速度等) 。如上所述,只要其中任何一项发生变化,再智能的软件也要根据变化后的加工参数重新计算刀具轨迹,再经过后处理生成程序,这个过程非常耗时,且十分繁杂。显然宏程序在这方面就有强大的优越性,只要能用宏程序来表述,操作者就根本无需触动程序本身,而只需针对各项加工参数所对应的自变量赋值做出个别调整,就能迅速将程序调整到最优化的状态,这就体现出宏程序的一个突出优点,即一次编程、多次重复使用。2)机械零件的形状主要是由各种凸台、凹槽、圆孔、斜平面、回
19、转面等组成,很少包含不规则的复杂曲面,构成其的几何因素无外乎点、直线、圆弧,最多加上各种二次圆锥曲面(椭圆、抛物线、双曲线) ,以及一些渐开线(常应用于齿轮及凸轮等) ,所有这些都是基于三角函数、解析几何的应用,而数学上都可以用三角函数表达式及参数方程加以表述,因此宏程序有广泛的应用空间,可以发挥其强大的作用。三、宏程序在实际生产中的优势3.1 宏程序与普通程序对比(孔系加工为例)一般意义所讲的数控指令是指 ISO 代码指令编程,即每个代码的功能是固定的,由系统生产厂家开发,使用者只需按照规定编程即可。有时候这些指令满足不了用户的需要,因而系统提供了用户宏程序功能,使用户可以对数控系统进行一定
20、的功能扩展,其实际上是数控系统对用户的开放。宏程序也可视为用户利用数控系统提供的工具在数控系统的平台上进行二次开发,当然这里的开放和开发都是有条件和有限制的。与普通程序相比,宏程序中可以使用变量,可以给变量赋值,变量之间可以运算,程序运行可以跳转;而普通程序中,只可以指定常量,常量之间不可以运算,程序只能按顺序执行,不能跳转,功能是固定的。 例:孔系加工图 3-1 为孔系的加工图。现以扩铣孔实例对比宏程序和普通程序之间的优劣:用普通程序来扩铣孔需要三步工序,第一道工序是用 1 中心钻点位置孔,第二道工序用 11 钻花顺着中心钻点的位置孔向下钻通 12、 15 的底孔,第三步用 10 立铣刀扩铣孔, 先扩铣到位 12、 15,再铣 22 深 5 台阶孔。而用宏程序只需要用一把 10 立铣刀即可,螺旋向下钻铣,分层次精铣到位12、 15、 22。具体加工流程如下。