“R”参数编程在数控铣削加中的运用工序
摘 要 数控机床是先进制造技术的基础设备,是典型的机电一体化产品。掌握
数控编程技术是充分利用好这类装备关键,也是我们提高数控铣削工程训练教学水平的重要标志。
关键词 数控机床 数控铣削加工 数控编程 “R”参数编程
“数控铣削技术训练”是我中心新近开设的一门理论性较强的工程训练科目。在教学形式上,它不同于过去传统的、机械的“金工实习”。其训练目的是:了解当今先进的机械制造方法,充分发挥当今大学生知识新、反应快、创造力强的特点,结合具体的实践教学,广泛培养学生的动手能力、综合应用能力和创新能力。
由于受客观条件和教学时间的限制,自动编程(计算机编程)在目前各高校的工程训练中还未被普及,为了了解编程的基本原理及方法,手工编程仍为最常用的基本训练内容之一。
对于加工形状简单的零件,计算比较简单,程序不多,采用手工编程较容易完成,因此在点定位加工及由直线与圆弧组成的轮廓加工中,手工编程仍广泛应用。但对于形状复杂的零件,特别是具有非圆曲线、列表曲线及曲面的零件,用一般的手工编程就有一定的困难,且出错机率大,有的甚至无法编出程序。而采用“R”参数编程则可很好地解决这一问题。
非圆曲线轮廓零件的种类很多,但不管是哪一种类型的非圆曲线零件,编程时所做的数学处理是相同的。一是选择插补方式,即首先应决定是采用直线段逼近非圆曲线,还是采用圆弧段逼近非圆曲线;二是插补节点坐标计算。采用直线段逼近零件轮廓曲线,一般数学处理较简单,但计算的坐标数据较多。
等间距法是使一坐标的增量相等,然后求出曲线上相应的节点,将相邻节点连成直线,用这些直线段组成的折线代替原来的轮廓曲线(见图 1 )。其特点是计算简单,坐标增量的选取可大可小,选得越小则加工精度越高,同时节点会增多,相应的编程费也将增加,而采用“R”参数编程正好可以弥补这一缺点。
现今数控铣床一般都具备“R”参数编程功能,如西门子802D数控系统,这给手工编写某些复杂图形的程序带来了方便。如图 2、3 所示,当要加工一个周期的正弦线时,通常的方法是采用自动编程,若用手工编程,则可用“R”参数编程较简单。曲线上坐标点选取的多少,可视加工精度而定。
normal style=”MARGIN: 0cm 0cm 0pt; LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; LINE-HEIGHT: 20pt; mso-char-indent-count: 2.0; mso-line-height-rule: exactly”>“R”参数编程的实质,就是用变量“R”编写出“子程序”,并根据“R”数值的条件,
normal style=”MARGIN: 0cm 0cm 0pt; LAYOUT-GRID-MODE: char; LINE-HEIGHT: 20pt; mso-line-height-rule: exactly”>多次调用“子程序”,以简化编程。如:用变量R1表示上图中从0到2л各点弧度值;用[ X=100*R1/2л,Y=25*SIN(R1)]表示一个子程序,若要在正弦线上选取1000个坐标点,只可将子程序调用1000次即可。
normal style=”MARGIN: 0cm 0cm 0pt; LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; LINE-HEIGHT: 20pt; mso-char-indent-count: 2.0; mso-line-height-rule: exactly”>合理的选用“R”参数编程,可以提高某些零件的加工精度(多选节点)和编程效率,它也是手工编制复杂零件程序的主要方法之一,在不具备计算机自动编程的情况下一般常采用这种办法。
normal style=”MARGIN: 0cm 0cm 0pt; LAYOUT-GRID-MODE: char; TEXT-INDENT: 21.1pt; LINE-HEIGHT: 20pt; mso-char-indent-count: 2.0; mso-line-height-rule: exactly”>编程举例:(西门子802D系统)
normal style=”MARGIN: 0cm 0cm 0pt; LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; LINE-HEIGHT: 20pt; mso-char-indent-count: 2.0; mso-line-height-rule: exactly”>试用“R”参数编程的方法编制整圆的程序(如图4 )。
normal style=”MARGIN: 0cm 0cm 0pt; LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; LINE-HEIGHT: 20pt; mso-char-indent-count: 2.0; mso-line-height-rule: exactly”>
分析:若不用圆弧插补,可将圆均分成360份,再用直线插补连接。变量R1=50表示半径,R2=360表示共分了360份,R3=1表示间隔1份,R4=0表示初始角度。
程序如下:
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>O0001
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N10 G54 G42 G90 G00 X50 Y0 Z100
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N20 G01 F20 S600 M03 Z-10
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N30 R1=50 R2=360 R3=1 R4=0
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N40 AA:X=R1*COS(R4) Y=R1*SIN(R4)
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N50 R4=R4+1 R2=R2-R3
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N60 IF R2>=0 GOTOB AA
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N70 G00 Z50
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N80 G40 M2
注解:程序中,N30程序段为条件设定;N40程序段即为程序名为AA的子程序;N50 中R4、R3是参数变量,每调用一次,R4将增加1度,R2减少1份;N60中 IF为有条件的,GOTOB 表示向前跳转,就是只有当R2大于等于零时才向前跳转到子程序AA处。
normal style=”MARGIN: 0cm 0cm 0pt; LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt; mso-char-indent-count: 2.1; mso-line-height-rule: exactly”>以上程序可以看出,用“R”参数编程,不管选取的节点是多少,其程序段不会增加,这就是“R”参数编程的主要特点。
normal style=”MARGIN: 0cm 0cm 0pt; LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt; mso-char-indent-count: 2.1; mso-line-height-rule: exactly”>“R”参数编程千变万化,掌握它的关键就在于抓住图形轮廓规律,灵活地运用好变量“R”,结合其他科目知识,开发自己的思维空间,这一点也是被实践教学所证实的。“R”参数编程对大学生有着较强的吸引力,它是展示自己数控编程技巧的体现。例如,我校化工学院2002级封振宇同学在一天半的数控铣削加工训练中,就是充分利用了“R”参数编程功能,设计、编制、加工了如图 5 的工件,得到了各方面的好评。
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>编程思路:图中的三个风帆用了“R”参数编程,它们水平方向的间隔为30毫米,高度两端相同,中间一个高10毫米。由于三个风帆大小相同,因此,X方向的数值用实际值加R1表示,Y方向的数值也要再加上一个R6。参数条件:R1=0;R1=R1+30;R5=90*R3;
normal style=”LAYOUT-GRID-MODE: char; LINE-HEIGHT: 20pt”>R3=0;R3=R3+1;R6=10*SIN(R5)。即加工第一个风帆时,R1、R6都为0,加工第二个风帆时则R1变为30+0,R6为10*SIN(90)。最后R3<3为跳转的条件,即共跳转两次。
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 21.75pt; LINE-HEIGHT: 20pt”>主要程序:
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 21.75pt; LINE-HEIGHT: 20pt”>——
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; LINE-HEIGHT: 20pt”>N80 R1=0 R2=30 R3=0 R4=10
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N90 AAA: R5=90*R3
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; LINE-HEIGHT: 20pt”>N100 R6=R4*SIN(R5)
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; LINE-HEIGHT: 20pt”>N110 X=35+R1 Y0
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; LINE-HEIGHT: 20pt”>N120 G01 Z-1
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; LINE-HEIGHT: 20pt”>N130 Y=15+R6
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; LINE-HEIGHT: 20pt”>N140 X=17+R1
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; LINE-HEIGHT: 20pt”>N150 G02 X=28.5+R1 Y=60+R6 CR=40
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; LINE-HEIGHT: 20pt”>N160 G01 X39+R1 Y60+R6
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; LINE-HEIGHT: 20pt”>N170 G03 X=X41+R1 Y=15+R6 CR=38
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; LINE-HEIGHT: 20pt”>N180 G01 X=35+R1 Y=15+R6
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; LINE-HEIGHT: 20pt”>N190 G00 Z20
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; LINE-HEIGHT: 20pt”>N200 R1=R1+R2 R3=R3+1
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; LINE-HEIGHT: 20pt”>N210 IF R3<3 GOTOB AAA
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N220 G00 Z50 M2
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>单从图形上看,封振宇同学的设计并不复杂,但其精华之处就在于合理运用了“R”参数编程,并通过正弦线的最大值、最小值使风帆高度有所变化。即使增加风帆数量,程序段的总量也没有任何变化。例如:要将风帆改为10个,只需将程序中R3<3改为R3<10即可。
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.15pt; LINE-HEIGHT: 20pt”>典型零件编程:
生产中常用的零件,如凸轮、齿轮、离合器、螺旋线等都可用“R”参数编程。等速凸轮由于其轮廓线为阿基米德螺旋线,所以编程比较简单,如图 6所示。
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>已知:半径R=40;OD=60;角BOD为90度。
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 21pt; LINE-HEIGHT: 20pt”>分析:先将工作曲线分成90份,R1=90;再算
normal style=”LAYOUT-GRID-MODE: char; LINE-HEIGHT: 20pt”>出90份中的升高量,R2=(60-40)/90;B点的起始角为
normal style=”LAYOUT-GRID-MODE: char; LINE-HEIGHT: 20pt”>零度,R3=0;半径R4=40;间隔R5=1。起始增量R6=0。
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>主要程序:
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>——
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N100 G90 G1 F20 X40 Y0
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N110 R1=90 R2=20/90 R3=0 R4=40 R5=1 R6=0
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N120 ABC:X=(R4+R6)*COS(R3)
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”> Y=(R4+R6)*SIN(R3)
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N130 R6=R6+R2 R3=R3+1 R1=R1-1
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N140 IF R1>=0 GOTOB ABC
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N150 G0 Z50 M2
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 21.1pt; LINE-HEIGHT: 20pt”>三轴联动的“R”参数编程
一般的模具加工多为三维立体加工,掌握好参数变量“R”的规律,同样可进行“R”参数编程,实际上,在原两维平面加工的基础上再加上垂向的变量“R”,即可实现三维立体加工。应值得注意的是,垂向变量Δ垂的取值大小将影响平面尺寸,所以必须精心计算。如图7 所示:已知高60(R1=60),宽40,上底与下底单面差(100-80)/2=10。
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>分析:取R3=1000(1000份);X方向每次单边缩小R2=10/1000,开始点的单边缩小量为R4=0,垂向每次提高R5=60/1000,开始点的提高量是R6=0。
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>主要程序:
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>——
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N100 R1=60 R2=10/1000 R3=1000 R4=0 R5=60/1000 R6=0
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N110 XYZ:Z=R6
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N115 X=R4 Y0
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N120 X=100-R4
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N130 Y40
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N140 X=R4
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N150 Y0
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N160 R6=R6+R5 R4=R4+R2
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N170 IF R6<=R1 GOTOB XYZ
normal style=”LAYOUT-GRID-MODE: char; TEXT-INDENT: 22.05pt; LINE-HEIGHT: 20pt”>N180 G00 Z100 M2
总之,“R”参数编程简单易学、实用,趣味性大,在编程中它可以将数学公式、微分方程等有关知识结合到程序中,它也是利用基本计算方法解决工程实际问题的有效方法。
作者:西部车床,如若转载,请注明出处:https://www.lathe.cc/2022/12/6065.html