“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