欢迎来到天天文库
浏览记录
ID:20457748
大小:47.00 KB
页数:7页
时间:2018-10-13
《宏程序在数控编程教学中应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、宏程序在数控编程中的应用数控编程是整个数控加工过程中的重要环节,它决定了加工零件的精度、质量和效率。常用的数控编程方法有手工编程和自动编程。手工编程前需要对构成零件轮廓的不同几何素线的交点和切点坐标进行计算,以获得编程所需数据。但如果轮廓素线中有非圆曲线,采用普通编程是无法办到的,因为我们知道一般的数控机床只有直线和圆弧两种插补功能,不具备非圆曲线插补功能,而数控机床为我们提供了一种很好的解决问题的手段,即“拟合处理”,方法是用若干段很小的直线或圆弧去近似代替非圆曲线。拟合线段的交点或切点就称为节点。节点的拟合计算难度和工作量都
2、很大,但随着计算机数控系统的不断发展,CNC不仅能用数字量去最终控制机床工作部件的精确定位和移动,而且具备强大的数据计算和处理功能。编程时只要建立非圆曲线的数学模型(变量表达式),CNC系统就能即时计算出拟合线段节点的坐标数据,进而控制机床工作台按规定轨迹移动,这种数学模型的建立靠的就是数控系统提供的用户宏程序。用户宏程序是以变量的组合,通过各种算术和逻辑运算、转移和循环等命令,而编制的一种可以灵活运用的程序,只要改变变量的值,即可完成不同的加工或操作,大大增强了机床的加工适应能力。宏指令对于不同的数控系统使用上是有所区别的,以
3、我校现在使用的日本FAUNC-Oi-Mate-TC系统为例,Oi系统使用B类宏指令,在O系列的早期版本中,曾使用A类宏指令,主要特征为使用G65代码为宏指令专用代码,包括宏变量的赋值、运算、条件调用等。B类宏指令功能相对A类而言,其功能更强大,编程更直观,应用更加广泛。宏指令编程虽然有别于普通的手工编程,但对于编程前的工艺分析、加工路线的安排、刀具的选取、确定切削用量及确定对刀点和换刀点仍然是遵循一般手工编程的规则,只是在构成零件轮廓的几何素线上碰到非圆曲线时用用户宏程序建立起自变量与因变量的函数关系表达式,形如Y=F(x)。这
4、里需要注意几个问题:自变量x的定义域;在引用变量时,注意局部变量和全部变量的设定;了解变量传值关系;为变量赋初值;正确使用IF条件转移语句和WHILE循环功能语句。下面用宏程序对同一零件使用三种不同方法编程,如下图所示零件:分析零件:椭圆方程:Z2/202+X2/142=1(X>0)中心坐标:X=0,Z=-17双曲线方程:X2/82-Z2/62=1(X>0)中心坐标:X=8,Z=-291、M98、M99指令调用子程序使用这种方法前必须了解宏程序使用了那些变量,变量的类型以及对变量赋值。比如公共变量:#100~#109、#500~
5、#999,公共变量是在主程序和调用子程序中通用的变量,因此,在某个用户宏中运算得到的公共变量的结果#i,也可以用到别的用户宏中;局部变量:#1~#33,只在子程序中局部定义的变量,换句话说,在某一刻调出的用户宏中所使用的局部变量#i和另一时刻调用的用户宏(也不论与前一个用户宏相同还是不同)中所使用的#i是不同的,因此,在多重调用时,当用户宏A调用用户宏B的情况下,也不会将A中的变量破坏。O0001;T0101M03S600F0.3;G0X31Z2;#100=30;N20M98P0018;#100=#100-2;IF[#100GE
6、0.5]GOTO20;S1200F0.1T0101;#100=0;M98P0018;M30;O0018;(子程序)#1=17;(赋椭圆Z轴初始值)N15#2=2*14*SQRT[1-#1*#1/400]+#100;G1X#2Z[#1-17];#1=#1-0.5;IF[#1GE0]GOTO15;W-5;#3=6;(赋双曲线Z轴初始值)N20#4=2*8*SQRT[1+#3*#3/36]+#100;G1X[#4+8]Z[#3-29];#3=#3-0.5;IF[#3GE-6]GOTO20;W-10;G00U2Z2;U-2;M99;2、
7、用仿形车削循环指令G73编程G73指令适合加工零件毛坯尺寸接近工件的成品尺寸,其形状已经基本成型,只是外径、长度较成品大一些的零件,这也正符合宏程序的编程意义,由于宏程序使用变量表示走刀位置点,这样我们就可以将仿型轨迹交给宏程序去运算,不用每次都重新编制程序,两者的巧妙结合充分提高了数控机床的使用性能。在使用G73指令编写宏程序时,宏程序放在G73指令P&Q的循环体之间。O0002;T0101;M03S600;G0X31Z2;G73U14R7G73P10Q30U0.4F0.3;N10G0X0;G1Z0;G1X14;#1=17(赋
8、椭圆Z轴起始值)N15#2=2*14*SQRT[1-#1*#1/400];G1X#2Z[#1-17];#1=#1-0.5;IF[#1GE0]GOTO15;G1X28Z-17;W-5;N19#3=6;(赋双曲线Z轴初始值)N20#4=2*8*SQRT[1+#3*#
此文档下载收益归作者所有