曾艳
当今世界上机械加工行业技术的典范,数控加工已经是当之无愧的处在这个位置上了。而当前数控加工技术水平和在操作中对机床的利用率,则在一定程度反映出了数控宏程序在实际操作中的应用程度。这两个方面是直接关系到加工难度和加工效率的重要因素。数控加工正在不断发展,与此同时,自动编程软件也跟随时代的潮流不断升级,这些软件的使用,确实为实际操作解决了不少复杂的加工编程问题。但是,不可避免要面临一个问题,就是自动编程软件所生成的加工程序,特别是复杂性面,它的数据量较大,对传输又提高了不少要求。
1宏程序简介
1.1宏程序的普遍含义
经常被我们使用的某一或多个序列的指令,像子程序一样被存入一个储存空间,这个操作过程就是普遍意义上的宏程序。之后,我们再用一个总的指令来代表他们,在使用时就可以更加便捷的用一个指令走完所有程序,使需要的功能得以执行。通常情况下,我们把这一组的指令称为宏程序的本体,简单的称作宏程序,而这其中的各个指令,则又被称作是用户调用宏程序的指令。程序员在编程时,对于宏指令各自所代表的含义,这个是最为关键的地方,而对宏程序本身,如果条件不够的话,没必要准确记牢。再简单一点来说,宏即为MACRO,它的中文意识是宏大、巨大。而这个含义并不是指它的程序巨大,更多的是代表它可以在指定的时间内完成计算量更大的任务,而程序本身却并不长,一般来说都是很短的。
1.2宏程序与普通程序的区别
宏程序与普通程序的不同之处主要体现在宏程序的主体上,可以用改变的量,然后对更改的值进行一个给值,变量之间不是固定一成不变的,而是相互之间可以运算,程序的运行也同样可以跳跃,不需要固定的按照顺序进行。而在普通程序中,这一点是它们做不到的。因为普通程序只能够指定常量,而常量之间既不能进行运算,也不能进行跳跃运行。只能死板的按顺序执行,这是一种固定程序。换种方式来讲,对于普通程序,它可改变的量少,所以与宏程序相比较,宏程序更加灵活多变的特性,适用于形状相同尺寸不同的任何一个加工部位,只要是需要的并且是同一个形状的,它就可以进行操作。这种模式在很大程度上减少了系统内存的占用量。至此,宏程序对数控加工的可加工范围进行了扩大,也简化了不少程序。
1.3宏程序的分类
通常情况下,宏程序主要有两类,一个是A类,另一个是B类。
2 A类宏指令详解
根据变量号的不同,A类宏指令可分为#100~#131、#500~#531、#1~#99、#1000~,其中,前两种的变量类型是公共变量,而第三种则是系统变量。第一种在功能上而言,是公用于各个宏程序的,也就是含义相同,但是当机床断电后就会被清零,开机时的设置也默认是零。第二种公共变量和第一种一样,也是在各个宏程序中公用的,含义相同。但不同的是,它在使用时,哪怕机床断电了,其数据仍然保留,这种被称为是非易失性变量,也可以称之为保持性变量。而后两种作为系统变量,在使用时系统是什么状态,这种变量就会相应是这种状态,这种变量的用途是固定的,用于表示接口的输入或者输出、刀具的补偿、各个轴承当前的位置等等。需要注意的是,并不是所有的变量都可以改变的,有些变量则只能读取但是不能更改。
2.1 A类宏指令变量的不同形式
在A类宏指令中,一般格式有G65、 Hm、 P#i、 Q#j、 R#k。其中G65可以转换为P#i,而Q#j和R#k可以转换成G65。对于一般格式中的m,则表示的是01-99,代表宏程序的运算功能;#i代表储存运算结果的变量号;#j是进行运算的变量号1,也可以是一个常数。#k是进行运算的变量号2,它也可以是一个常数。
2.2 A类宏指令变量的指令运算方式
在程序中,使用一定的运算方法对变量#j、#k进行运算,而这其中的运算法则是根据Hm决定的,并把计算出来的结果都存储在#i里,为接下来的运算或者是机床的运动保留相关的依据。
2.3 调用格式
这个命令的运算方式和子程序的调用方式是一样的,都是运用M98启用,而使用M99就可以调回。
3 B类宏指令详解
3.1 B类宏指令的变量种类
对于B类宏指令变量的变量号,则分为#0、#1~#33、#100~#149、#500~#531、#1000~这五类变量号。而根据变量的不同类别划分,第一种是空变量,它的作用是使得这个变量的数值保持为零。第二种称为局部变量,它在整个程序里一般是用来表达运行结果,需要注意,这种变量在机器停止供电时会自动被归零,同时,作为一种局部变量,其在不一样的宏中使用的含义也是不尽一致的。而第三种和第四种则都被称作公共变量,这两者在宏程序里属于公共的,换一种说法而言就是代表的意思相同。但两者不同的点在于,第三种变量号在机器停止供电时会自动被归零,这种一般称作易失型变量;而第四种在机器停电后仍能保留,这种则可以称作是非易失型变量。第五种被称作系统变量,是一种具有固定使用方法的变量,他的大小能够体现系统当时的状况,用来表示接口的输入或者输入量,或者各轴承的现行位置等。有些变量只能读取但是不能改变。
3.2 B类宏指令变量的非模态调用指令格式
对于这类指令格式,一般的格式有G65、P p、以及L l。式子中的p代指宏程序的号码,而l代指的是使用的频次,而变量赋值是表示宏程序里所选用的具体数值。
4宏程序的编程
4.1 零件的加工分析
4.1.1对零件工艺的分析
以下图流线型零件的加工为例。零件的上半部分是球体、圆台、圆柱体的组合体,这些组合体需要球头铣刀的加工,相对于宏程序来说,普通程序对这一步骤的实现是非常困难的。但是如果采用G17在xy的平面上走刀的话,这种编程相对来说会比较简单,但是通常情况下,为追求更高的表面平滑度,走刀的频次如果增加太多次,就会导致生产效率低下,并且这种方式也会使机床的寿命加剧缩短,但如果采用沿着周边的轮廓进行走刀,虽然这种方式的编程编写的更加复杂,但是由于走刀的次数降得很低,效率有了大幅度的提高,所以在该簡单零件的加工上,普遍采用的是周向走刀的方式进行程序编写。
4.1.2对夹具的确认
刀具的零件一般采用的是长方体的设计,因此使用平口钳装夹的方式比较常见。同时,根据零件的尺寸,再更多的考虑到表面的粗糙程度以及加工的效率等原因,使用?10cm铣头的铣刀加工。而在编程中的原点和坐标系的设定位置,一般来说原点将会设定在工作上物件的表面中心位置,这种设定方法有利于后面的计算。
4.1.3对刀具运动轨迹及方向的确定
为了使零件的表面质量有一个更好的效果,一般来说会使用顺铣的方式,从左上开始进刀。在计算走刀路径时要着重计算好划分开的各个简单物体在交点的坐标。
4.2 A类宏指令的主编程
O0033;
G91G28Z0;
S1000M03;
G90G17G54G00X-76.0Y21.0M08;
Z-10.0;
M98 P3301;
G00Z30.0M09;
M05;
M30;
4.3 B类宏指令的主编程
O0034;
G91G28Z0;
S1000M03;
G90G17G54G00X-76.0Y21.0M08;
Z-10.0;
G65P3301L1A15.0B10.0C6.0I90.0;
G00Z30.0M09;
M05;
M30;
4.4两种宏程序之间的比较
通过以上实例可以看出,由于B类宏程序条理清晰,同时还具有前期易编程、后期易检查修改等特点,所以它更受工作者的喜爱,目前大多数比较先进的FANUC系统,都在使用B编程。而A类会选择用在较早的FANUC系统上,这类编程对编程员的工作素养要求更高,并且需要更有耐心和细心,所以使用频率不及B类高。
5结束语
数控加工的出现提高了加工的精确度、减轻了工人的工作负担;数控宏程序的使用,在一定程度上减轻了编程工作的复杂度,提升编程效率,希望在以后的发展中能更加精进,不断突破。
(作者单位:福建龙岩技师学院)