张辰
摘 要:随着机械行业的发展,利用软件自动编程会逐渐取代手动编程,但运用宏程序编程依然具有较大价值。手动编程是数控编程的基础,往往能解决各种“疑难杂症”,而且手动编程还可以使用变量程序。宏程序最主要的特点是用最简短的程序段将相对复杂的有规律的加工零件表示出来,便于修改和保存。宏程序编程是手动编程中最后的堡垒。本文以华中系统为例,对宏程序在编程中的应用进行论述。
关键词:手动编程;宏程序;数控编程
中图分类号:TG659 文献标识码:A 文章编号:1003-5168(2019)22-0086-03
On the Application of Macro Program in CNC Programming
ZHANG Chen
Abstract: With the development of mechanical industry, the use of software automatic programming will gradually replace manual programming, but the use of macro programming still has use value. Manual programming is the basis of numerical control programming. It can often solve various "difficult problems," and manual programming can also use variable programs, that is, the use of macro programs. The main feature of the macro program is to use the shortest program segment to express relatively complex and regular processing parts for easy modification and preservation. Macro programming should be the last bastion in manual programming. Taking Huazhong system as an example, this paper discussed the application of macro program in programming.
Keywords: manual programming;macro program;NC programming
在數控加工中,宏程序编程具有灵活性、高效性和便捷性,是手动编程的重要手段。宏程序不仅可以实现程序段之间的循环往复调用,还可以对非圆规律轮廓进行编程。
普通加工程序只能描述一个几何形状,直接用常数指定G代码和移动距离。数控系统为用户提供了另一种更自由的编程方式,在程序中加入变量,通过变量与变量之间的赋值、算术运算、逻辑运算和混合运算等方法,实现各种条件转移、循环、跳段等功能[1-3]。灵活性、通用性和智能性是宏程序最大的特点,尤其是对于中等难度的零件,更能体现出宏程序的价值。
华中世纪星系统为用户配备了两种宏程序功能,类似于高级编程语言,分别为A类宏程序和B类宏程序。A类宏程序与子程序调用类似,相对格式化,B类宏程序较为常用,本文所提到的宏程序均为B类宏程序。
1 宏程序应用概述
1.1 一般程序和宏程序的对比
普通编程所用的数控指令实际上用的是ISO代码,每个代码的功能都是固定的,由系统厂家设置,编程员只需要按照规定格式编程即可。宏程序功能的用户可以对数控系统进行一定的功能扩展,实际上是数控系统对用户的开发,也可视为用户利用数控系统提供的工具,在数控系统平台上进行二次开发,当然这里的开发和开放都是有条件和限制的。
普通程序与宏程序之间的区别主要有以下三点:普通程序只能使用常量,而宏程序可以使用变量并给予赋值;普通程序常数之间不能进行数学运算,而宏程序的变量之间可以进行大部分的常见数学运算,如加、减、乘、除、函数、平方根等;普通程序只能按顺序运行,宏程序可以实现条件循环、无条件跳转等一系列循环,便于简化程序或加工规律曲面等。一般程序和宏程序对比结果见表1。
1.2 宏程序与自动编程程序的对比
任何数控加工零件只要能用宏程序编程,就算再复杂,其程序量都比较精炼,可以说任何一个合理、优化后的宏程序,极少超过50行,转换成字节,最多不超过2KB,即使是最廉价的数控设备,其内部程序储存空间也完全容得下任何复杂的宏程序。此外,为了描述复杂零件的加工运动,宏程序必然会最大限度地使用数控系统内部的各种指令代码。因此,数控系统可以直接进行查补运算,加工效率极高,且速度极快。
首先,CAD/CAM软件生成的程序通常都很大,非常容易突破数控设备内部程序储存空间的限制,大部分程序都需要采用DNC在线加工,显然机床与电脑之间的传输速度成为影响加工速度的“瓶颈”。其次,从用户的实用角度来说,使用CAD/CAM软件生成的刀具轨迹与真实曲面轮廓的相符性存在一定弊端。如图1所示,表面看起来是同样的半球,但在CAD中却有很多种不同的建模方法,由于数学计算原理存在差异,不同方法自动生成的刀具轨迹是不一样的。
1.3 宏程序编程的技术特点
宏程序编程的技术特点主要有以下几方面:①将有规律的形状或尺寸用最简短的程序表达出来;②具有极好的易读性和易修改性,编写出来的程序非常简洁,逻辑严密;③宏程序的运用是手工编程中最大的亮点和最后的堡垒;④宏程序具有灵活性、智能性、通用性。
对规则曲面的编程来说,用CAD/CAM软件编程具有计算量大、程序庞大、加工参数不易修改等缺点,无论哪一个加工参数发生变化,CAD/CAM软件都要重新计算刀具路径并重新生成程序,再次传输到CNC设备中才能使用,虽然计算刀具轨迹的速度很快,但这始终是个比较烦琐的过程,易出错。而宏程序则把工艺参数与程序结合,参数设置非常灵活,且操作员有很大的调整余地。
从模块化加工角度来看,宏程序非常适合模块化编程,编程员只需要根据零件图纸尺寸和不同的数学模型,就可以完成相应的模块化编程,应用时把零件的信息、工艺参数等输入相应变量即可,避免大量重复性编程,一劳永逸。
2 宏程序编程的运用
宏程序编程大致可分为三大类:分层加工零件的编程、相同内容位置不同零件的编程和形状相似大小不同零件的编程。三种情况都可以不同程度地对程序进行简化,减少程序的出错率,避免重复劳动,提高生产效率。
2.1 分层零件的编程
在数控程序的编制过程中,經常会遇到一些加工部分切削深度较大,无法用一个切削层完成加工的情况,此时就会用到分层加工。分层加工可以利用子程序实现,但这至少需要两个程序。子程序大多需要用增量来进行编程,既烦琐又容易出错。分层加工是数控编程加工的基础,也是最为常用的编程方法,若分层次数较多,用普通的编程方式就显得十分烦琐。如图2所示,此零件为非圆规律曲线,切削深度为30mm,可以采用宏程序分层,选用直径25mm的铣刀采用虎钳装夹方式进行加工。
普通手工编程若想实现分层加工,只能运用子程序,也就是说需要主程序和至少一个子程序结合使用,相对宏程序而言量大且容易出错。
2.2 孔系零件的编程
有时也会遇到一些加工内容相同但位置不同的零件,如孔系类零件,孔位按一个基准位置环形阵列或矩形阵列,但加工孔的动作是不变的。如果按常规方法进行编程,要利用一些辅助软件进行画图找点,且坐标值一般都精确到小数点后三位,输入程序时易出错,从而对编程带来不便。如图3所示,此零件是典型的环形阵列孔系孔系零件,孔位按工件中心九等分旋转。
钻孔动作为重复部分,普通程序需要计算出孔的中心坐标点,然后将各个坐标点写入程序,且坐标点一般不是整数,需要精确到小数点后三位,编程复杂,且将程序输入CNC设备时也非常容易出错。采用宏程序编程可以大大减少程序量,用变量和计算代替烦琐的坐标点,提高工作效率。
2.3 同一程序实现尺寸不同,但形状和加工内容相似
还有一些零件,其外形相似,但有一个或几个尺寸发生变化,那么相应的刀具规格、加工程序等也会发生变化(见图4)。如果每一个规格的零件都编制一个程序,会十分烦琐。针对该问题,就可以通过宏程序来解决。
为了避免重复性劳动,采用宏程序,将发生变化的几个参数设置为变量,加工时,只需要根据图纸尺寸对变量赋值,就能实现用同一程序加工系列零件。该方法不仅操作简单,而且生产效率较高。
3 结语
目前,数控编程已经成为数控加工中的关键问题之一,利用宏程序编程,不仅能简化程序,而且能降低程序出错率,缩短辅助时间,从而提高企业的经济效益和生产水平。在自动编程不断发展的今天,手工编程也一直没有被取代,宏程序作为手工编程的标志,一直被运用、简化和升级,从而不断地将宏程序的优势发挥到极致。
参考文献:
[1]何宏伟.数控铣工(高级)[M].北京:机械工业出版社,2011.
[2]张君.数控机床编程与操作[M].北京:高等教育出版社,2009.
[3]王增杰.数控加工工艺编程与操作[M].北京:中国劳动社会保障出版社,2008.