计算机编程毕业论文
  浅谈宏程序编程
友谊的格言  摘 要:随着现代制造技术的发展和数控机床的日益普及,数控加工得到广泛的应用,越来越多的人正在学习和使用数控编程。目前在我国的数控行业中,对于简单的二维加工编程,大多数人习惯使用手工编程(这里所指的手工编程实际是指普通程序编程),而对于曲面类的零件加工一般都是使用自动编程(此处所指的自动编程主要是指CAD/CAM软件自动编程)来实现的,而使用宏程序编程的人少之又少,甚至有人根本不知道。那么宏程序是什么呢?宏程序到底有什么作用呢?本文就此问题进行讨论。
  关键词:普通程序编程 宏程序编程 CAD/CAM软件编程
  1 数控编程的种类和概念
  数控编程一般分为两类:即手工编程和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系统分别用普通程序和宏程序进行编程。
曲裾深衣流动人口  普通程序编程如下:
  00001 M03S800
  G54G90G00X52.Y0Z100 Z5
  G01Z-2F40 G02I-52F200
  G01X40 G02I-40
  G01X28 G02I-28
  G01X16 G02I-16
  G01X4 G02I-4
  G00Z100 M30
  宏程序编程如下:
  00002 G01X#1F200
  M03S800 G02I[-#1]
  G54G90G00X52Y0Z100 #1=#1-12
  Z5 END 1
  G01Z-2F40 G00Z100.
  #1=52 M30
  WHILE[#1 GT 6] DO 1
  由上面可以看出,宏程序编程要比普通程序编程显得简洁、灵活,因为若随着加工圆槽的半径变大、刀具半径变小,普通程序编程的程序会越来越长,修改也很不方便,而宏程序编程的程序不会变长,只要改变几个相应的参数,或把这几个参数也设为变量将更加简便。
  另外,对于一些有规律的可以用公式表达的曲线或曲面,普通程序编程是望尘莫及的,而宏程序编程更显出其独特的优势。如图3所示的椭圆槽加工,普通程序编程难以完成,而用宏程序编程则较容易。
  假设现有铣刀为Φ8,由外向里加工,行距为6 mm,只加工一层2 mm深,下面按FANUC0i系统用宏程序进行编程。
  宏程序编程: WHILE[#1 LE 360]DO 1
  O0003 #4=#2*COS[#1]
  M03S800 #5=#2*SIN[#1]
  G54G90G00X36Y0Z100 G01X#4 Y#5F200
辞职的最好理由
  Z10 #1=#1+1
  G01Z-2F40 END 1
  #2=36 #2=#2-6
  #3=26 #3=#3-6
  WHILE[#3GE 0]DO 2 END 2
  G01X#2F200 G00 Z100
  #1=0 M30
  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] 谢晓红.数控车削编程与加工技术.
  [3] 张英伟.数控铣削编程与加工技术.