宏程序在数控加工的应用

梁鹏飞
2020-12-02
来源:郑州工业应用技术学院

摘要:在数控机床的编程与操作过程中,手工编程的使用是非常广泛的,也是必不可少的一种编程方法,只需要简单的指令,就可以完成一般零件程序的编制,它具有操作比较简单、效率高、可以现场进行灵活调整等特点。而宏程序更具有编程简单快捷,短小精悍的特点,得到了广泛的使用,本文以FANUC0i-MD系统B类宏程序为例进行简要的说明。

关键词:数控机床;宏程序;编程

1宏程序的使用及特点

在数控编程中,有许多自动编程软件,如UG、PRO/E、CAXA等,可以进行自动编程,但是生成的程序都是由小段直线组成的,程序比较冗长,可读性比较差,不方便查看和修改,适合复杂零件的编程。而对于简单的零件,宏程序有着不可替代的作用,宏程序可以使用变量、运算指令进行计算,还可以进行条件转移,使一般程序的编写变得更加容易。宏程序的逻辑性比较好,可读性强,程序比较简练,既可以进行常规的编程,也可以和子程序交叉使用,可以用G65指令调用宏程序,就像调用子程序一样。更可以完成子程序无法实现的一些特殊功能,常规指令G01、G02、G03只能进行直线和圆弧的插补,而对于一些非圆曲线,比如:双曲线、抛物线、椭圆等用常规指令肯定是无法完成的,而使用宏程序就可以很容易的完成编程。宏程序在车床加工中,可以完成复杂零件的编程,比如圆弧螺纹、梯形螺纹、椭圆轮廓、圆弧上的螺纹、球面蜗杆等等,有些甚至是利用CAD/CAM软件也无法实现的编程。而在铣床加工中,宏程序的使用更加广泛,可以进行半圆球、椭圆球等空间曲面的编程,还可以进行平面、型腔、孔等工序的编程,程序简短明了,方便查看和修改,非常的灵活。

2宏程序的基本知识

普通加工程序直接用数值指定G代码和移动距离,例如:G01X10、G00X100Y100等等,使用宏程序时,数值可以直接指定或者使用变量指定。宏程序的变量需要用变量符号“#”和后面的变量号指定。例如:#1、#2、#1=#2+10等等。变量的书写方式为:地址字后面指定变量号或表达式。例如:G01X#1Y#2F#3,当#1=100,#2=50,#3=100时。与指定了G01X100Y50F100时的结果是相同的。变量不能使用O和N,这是数控系统不允许的,不能编制如O#20、N#3等类似的程序。

2.1变量的逻辑运算

变量的逻辑运算就相当于简单的数学计算,可以进行加减乘除运算,也可以求一个数的正弦余弦余切等等。只要会基本的数学知识,宏程序就非常的容易学习使用。变量的常用逻辑运算方法如下:#i=#j+#k:加法运算;#i=#j-#k:减法运算;#i=#j*#k:乘法运算;#i=#j/#k:除法运算:把#j和#k中的数值相除的结果存入到#i中;除了这些,还有其他的一些逻辑运算公式,比如求正切函数、反正弦函数、反余弦函数、反正切函数等等。程序示例如下:O1234;G54G90G17;M03S800;#1=10;#1赋值为10。#2=30;#2赋值为30。#3=#1+#2;#1和#2相加值为40,所以#3就等于40。#4=#1*#2;#1和#2相乘为300,所以#4即等于300。G00x#3y#4;快速定位到坐标位置。......

2.2转移语句

在编程的时候,可以使用GOTO语句和IF语句进行条件转移。例如:GOTOn,n为顺序号,表示的是当执行到此程序段时,无条件的转移到n程序段继续运行。必须注意的是,在同一个程序中,不能指定多个相同的程序段顺序号,因为在GOTO语句中,由于是靠顺序号n指定转移的目的地的,如果有相同的顺序号,则目的地不明确,容易出现事故,十分危险的。IF[表达式]THEN语句:此表达式的功能是首先判断条件是否成立,如果成立的话,就去执行THEN之后的程序内容,如果不成立,程序按顺序接着运行。例如:IF[#10EQ#11]THEN#12=10,表示的是如果#10和#11相等,把10赋值给#12。EQ指的是一种逻辑符号,表示两个量相等。每个算符是由两个字母组成的,用来比较两个数值的大小,决定他们是否相等,或者一个数比另一个数大或小。EQ表示等于、NE表示不等于、GT表示大于、GE是大于等于、LT表示小于、LE表示小于等于。

2.3重复语句(WHILE语句)

WHILE语句其实也是判断语句,格式为:WHILE[条件表达式]DOm,其中m只能是1、2、3来表示,当条件表达式满足时,顺序执行到END之间的程序,如果表达式不成立时,进入END后面的程序段执行,DO和END后面的数字是相同的,只能用1、2、3这三个数字来表示。重复循环语句在程序中可以多次使用,但是不能相互的交叉。例:求1至20的总和。宏程序就是结合数控机床的功能和数控系统的特点,融合编程人员的智慧,来完成零件程序的编制。编程人员根据零件图纸,进行分析计算,选择合适的指令,进行相应的组合编程,就能编制出符合要求的程序。而自动编程,即便是简单的零件,也需要进行各项参数的设定,比较麻烦。而且自动编程生成的程序比较长,可读性差,存储容量大,中间出了问题后,不方便查找,甚至还得从新开始运行加工。因此宏程序在实际生产和教学过程中,还具有很重要的意义。

3宏程序的应用案例

下面以FANUC0i-MD系统B类宏程序为例,编制如图1(圆盘工件图)所示的零件,工件厚度为25mm。本例是一个简单的圆盘类零件,外圆和两端面已经完成了加工,尺寸精度已经达到要求,只需要进行钻40个直径为8毫米的通孔。如果利用一般的手工编程,需要计算每一个孔的坐标位置,这样下来就是40个孔位置坐标的计算,计算量比较大,程序内容比较长,不容易查阅,而且容易出错,出现问题的时候也很难找出问题的所在,如果利用自动编程的话,虽然零件结构比较简单,但是与自动编程相关的步骤一个也不少,首先需要计算机和相应的CAD/CAM自动编程软件,然后要画出零件的三维图,进行相应的刀具、切削参数、非切削参数、坐标系等的设定,再进行后处理生产程序,最后把程序导入机床进行加工,这是非常繁琐的,比较浪费时间,相应的增加了加工成本。而宏程序则比较简单方便。此程序是利用宏程序、钻孔复合循环指令和极坐标相结合的编程方式,大大的降低了计算的难度,不需要人工计算每个孔的中心位置坐标,利用极坐标,孔的中心位置用孔中心所在圆的半径和角度来表示,利用宏程序的重复循环功能,数控系统自动计算每个孔的中心位置,然后使用G81复合循环钻孔指令来完成孔的钻削加工。如果孔的精度要求很高,需要先利用中心钻,在工件表面上打出中心孔,然后用直径为7.8mm的钻头进行钻孔,留0.2mm的余量,最后用直径为8mm的铰刀进行铰孔,这样的话,就比较容易保证零件精度。如果零件是单件生产的话,只需要这一个程序就能完成加工任务,钻中心孔时只需要改变一下钻孔循环中的Z值,也就是孔的深度值,因为中心孔一般较浅,钻孔时再把深度改一下就行了。最后铰孔时,只需要改变一下主轴的转速和进给速度,修改非常的方便,可以根据需要进行灵活的改动。另外还可以根据此程序进行孔口倒角的加工,只需要简单的改变下Z方向的坐标深度,即可完成倒角加工。从上面的程序可以看出,在实践教学和实际生产中,利用宏程序编程是非常简便的。在教学中,由于程序简洁明了,学生比较容易理解掌握,在实际的生产过程中,可以根据实际加工需要,灵活的进行零件程序的编制和修改。如果利用UG、CAXA等软件进行编程的话,需要先建模,再设定各种加工参数,最后生成程序代码,整个过程相对繁琐。由此可见,虽然自动编程运算能力强,不用人工计算各点的坐标,但宏程序仍有不可替代的重要作用。

参考文献:

[1]陈海舟.数控铣削加工宏程序及其应用实例[M].机械工业出版社,2006.

[2]宋正.数控机床编程与操作[M].中国劳动社会保障出版社,2009.


阅读 2602
分享
写下你的评论吧