数控编程 非圆曲线数学处理的基本过程.docx

上传人:b****4 文档编号:3385871 上传时间:2022-11-22 格式:DOCX 页数:150 大小:166.66KB
下载 相关 举报
数控编程 非圆曲线数学处理的基本过程.docx_第1页
第1页 / 共150页
数控编程 非圆曲线数学处理的基本过程.docx_第2页
第2页 / 共150页
数控编程 非圆曲线数学处理的基本过程.docx_第3页
第3页 / 共150页
数控编程 非圆曲线数学处理的基本过程.docx_第4页
第4页 / 共150页
数控编程 非圆曲线数学处理的基本过程.docx_第5页
第5页 / 共150页
点击查看更多>>
下载资源
资源描述

数控编程 非圆曲线数学处理的基本过程.docx

《数控编程 非圆曲线数学处理的基本过程.docx》由会员分享,可在线阅读,更多相关《数控编程 非圆曲线数学处理的基本过程.docx(150页珍藏版)》请在冰豆网上搜索。

数控编程 非圆曲线数学处理的基本过程.docx

数控编程非圆曲线数学处理的基本过程

数控编程非圆曲线数学处理的基本过程

数控系统一般只能作直线插补和圆弧插补的切削运动。

如果工件轮廓是非圆曲线,数控系统就无法直接实现插补,而需要通过一定的数学处理。

数学处理的方法是,用直线段或圆弧段去逼近非圆曲线,逼近线段与被加工曲线交点称为节点。

字串4

  例如,对图1.42所示的曲线用直线逼近时,其交点A、B、C、D、E、F等即为节点。

字串4

图1.42 零件轮廓的节点

在编程时,首先要计算出节点的坐标,节点的计算一般都比较复杂,靠手工计算已很难胜任,必须借助计算机辅助处理。

求得各节点后,就可按相邻两节点间的直线来编写加工程序。

字串7

这种通过求得节点,再编写程序的方法,使得节点数目决定了程序段的数目。

如图1.42中有6个节点,即用五段直线逼近了曲线,因而就有五个直线插补程序段。

节点数目越多,由直线逼近曲线产生的误差δ越小,程序的长度则越长。

可见,节点数目的多少,决定了加工的精度和程序的长度。

因此,正确确定节点数目是个关键问题,也请参考本教程CAD/CAM部分

数控加工误差的组成

字串1

字串3

字串2

字串4

字串4

字串2

图1.43 逼近误差

字串7

  数控加工误差△数加是由编程误差△编、机床误差△机、定位误差△定、对刀误差△刀等误差综合形成。

  即:

△数加=f(△编+△机+△定+△刀)

字串4

其中:

(1)编程误差△编由逼近误差δ、圆整误差组成。

逼近误差δ是在用直线段或圆弧段去逼近非圆曲线的过程中产生,如图1.43所示。

圆整误差是在数据处理时,将坐标值四舍五入圆整成整数脉冲当量值而产生的误差。

脉冲当量是指每个单位脉冲对应坐标轴的位移量。

普通精度级的数控机床,一般脉冲当量值为0.01mm;较精密数控机床的脉冲当量值为0.005mm或0.001mm等。

字串9

(2)机床误差△机由数控系统误差、进给系统误差等原因产生。

字串4

(3)定位误差△定是当工件在夹具上定位、夹具在机床上定位时产生的。

(4)对刀误差△刀是在确定刀具与工件的相对位置时产生。

数控程序编制中的数值计算

   根据零件图样,按照已确定的加工路线和允许的编程误差,计算数控系统所需输入的数据,称为数控加工的数值计算。

手工编程时,在完成工艺分析和确定加工路线以后,数值计算就成为程序编制中一个关键性的环节。

除了点位加工这种简单的情况外,—般需经繁琐、复杂的数值计算。

为了提高工效,降低出错率,有效的途径是计算机辅助完成坐标数据的计算,或直接采用自动编程。

字串3

    一个零件的轮廓往往是由许多不同的几何元素所组成,如直线、圆弧、二次曲线以及阿基米德螺线等。

各几何元素间的联结点称为基点。

如两直线间的交点,直线与圆弧或圆弧与圆弧间的交点或切点,圆弧与二次曲线的交点或切点等。

显然,相邻基点间只能是一个几何元素。

对于由直线与直线或直线与圆弧构成的平面轮廓零件,由于目前一般机床数控系统都具有直线、圆弧插补功能,故数值计算比较简单。

此时,主要应计算出基点坐标与圆弧的圆心点坐标。

将组成零件轮廓的曲线,按数控系统插补功能的要求,在满足允许的编程误差的条件下进行分割,即用若干直线段或圆弧段来逼近给定的曲线,逼近线段的交点或切点称为节点。

字串3

对刀时是通过一定的测量手段使刀位点与对刀点重合,数控系统从对刀点开始控制刀位点运动,并由刀具的切削刃部分加工出要求的零件轮廓。

用直线逼近零件轮廓曲线的节点计算非圆曲线节点坐标的计算

 非圆曲线节点坐标的计算,用直线逼近零件轮廓曲线的节点计算

字串3

常用的计算方法有:

等间距法、等弦长法、等误差法和比较迭代法等。

等间距法就是将某一坐标轴划分成相等的间距。

如图2-12(a)所示,沿X轴方向取∆X为等间距长,根据已知曲线的方程y=f(x),可由xi求得yi,xi+1=xi+x,yi+1=f(xi+∆x)。

如此求得的一系列点就是节点。

将相邻节点联成直线,用这些直线段组成的折线代替原来的轮廓曲线。

坐标增量∆X取得愈小则δ插愈小,这使得节点增多,程序段也增多,编程费用高,但等间距法计算较简单。

字串5

            a)                                b)字串8

  图2-12 等间距法和等弦长法

字串7

                                       a)等间距法     b)等弦长法

字串5

等弦长法就是使所有逼近直线段长度相等,如图2-12(b)所示。

由于零件轮廓曲线y=f(x)的曲率各处不等,因此首先应求出该曲线的最小曲率半径Rmin,由Rmin及δ允确定允许的步长l,然后从曲线起点a开始,按等步长l依次截取曲线,得b、c、d、…点,则ab=bc=…=l即为所求各直线段。

字串1

总的看来,此种方法比等间距法的程序段数少一些。

但当曲线曲率半径变化较大时,所求节点数将增多,所以,此法适用于曲率变化不大的情况。

等误差法是使逼近线段的误差相等,且等于δ允,所以此法较上两种方法合理,特别适合曲率变化较大的复杂曲线轮廓。

如图2-13所示。

下面介绍用等误差法计算节点坐标的方法。

设零件轮廓曲线的数学方程为Y=f(X)。

图2-13 等误差法

(1)以起点a(Xa,Ya)为圆心,以为半径作圆。

其圆方程为

                 (2-1)

字串4

式中Xa、Ya为已知的a点坐标值。

字串1

(2)作δ允圆与曲线Y=f(X)的公切线MN,则可求公切线MN的斜率K                                         

                               字串7

为求YN,YM,XN,XM,需解下面的方程组:

         

字串1

          

字串8

字串7

字串1

字串9

式中的允差圆即δ允圆,Y=F(X)表示δ允圆的方程,见(2-1)式。

                                     

(3)过a点作斜率为K的直线,则得到直线插补段ab,其方程式为

字串7

         Y-Ya=K(X-Xa)

字串3

(4)求直线插补节点b的坐标。

字串6

联立方程组:

             

字串1

字串3

求的交点b(Xb,Yb)的坐标值,便是第一个直线插补节点。

字串5

  (5)按以上步骤顺次求得c,d、…   各节点坐标。

字串6

      用等误差法,虽然计算较复杂,但可在保证δ允的条件下,得到最少的程序段数目。

此种方法的不足之处是直线插补段的联结处不光滑,使用圆弧插补段逼近,可以避免这一缺点。

用圆弧逼近零件轮廓曲线的节点计算非圆曲线节点坐标的计算

用圆弧逼近零件轮廓曲线的节点计算

用圆弧逼近非圆曲线,目前常用的算法有曲率圆法、三点圆法和相切圆法等。

(1)曲率圆法圆弧逼近的节点计算

字串1

1)基本原理 曲率圆法是用彼此相交的圆弧逼近非圆曲线。

字串4

已知轮廓曲线Y=f(X)如图2-14所示,从曲线的起点开始,作与曲线内切的曲率圆,求出曲率圆的中心。

以曲率圆中心为圆心,以曲率圆半径加(减)δ允为半径,所作的圆 (偏差圆)与曲线Y=f(X)的交点为下一个节点,并重新计算曲率圆中心,使曲率圆通过相邻的两节点。

字串3

字串6

图2-14 曲率圆法圆弧段逼近

字串8

重复以上计算即可求出所有节点坐标及圆弧的圆心坐标。

字串2

2)计算步骤

字串3

①以曲线起点(xn,yn)开始作曲率圆:

     

字串6

     

字串6

             圆心       字串5

    

字串2

半径   

字串3

字串8

②偏差圆方程与曲线方程联立求解:

字串3

字串5

        

字串5

字串4

得交点(xn+1,yn+1)

字串2

③求过(xn,yn)和(xn+1,yn+1)两点,半径为Rn的圆的圆心:

字串9

           

字串1

得交点(ζm,ηm),该圆即为逼近圆。

字串6

(2).三点圆法圆弧逼近的节点计算

字串2

字串9

图2-15 三点圆弧段逼近

字串3

三点圆法是在等误差直线段逼近求出各节点的基础上,通过连续三点作圆弧,并求出圆心点的坐标或圆的半径。

如图2-15所示,首先从曲线起点开始,通过P1、P2、P3三点作圆。

圆方程的一般表达形式为

字串8

                   x2+y2+Dx+Ey+F=0

字串7

其圆心坐标  

字串4

     

字串7

   

半径          

字串2

                        字串8

字串7

通过已知点P1(x1,y1)、P2(x2,y2),P3(x3,y3)的圆,其                                             

字串2

             

字串3

字串8

 

为了减少圆弧段的数目,应使圆弧段逼近误差δ=δ允,为此应作进一步的计算。

设已求出连续三个节点P1、P2、P3处曲线的曲率半径分别为RP1、RP2、RP3,通过P1、P2、P3三点的圆的半径为R,取

字串4

字串4

       ,按算出δ值,          

字串9

字串2

按δ值进行一次等误差直线段逼近,重新求得P1、P2、P3三点,用此三点作一圆弧,该圆弧即为满足δ=δ允条件的圆弧。

字串8

(3).相切圆法圆弧逼近的节点计算

字串1

1)基本原理  如图2-16所示粗线表示工件廓形曲线,在曲线的一个计算单元上任选四个点A、B、C、D,其中A点为给定的起点。

AD段(一个计算单元)曲线用两相切圆弧M和N逼近。

具体来说,点A和B的法线交于M,点C和D的法线交于N,以点M和N为圆心,以MA和ND为半径作两圆弧,则M和N圆弧相切于MN的延长线上G点。

字串1

曲线与M、N圆的最大误差分别发生在B、C两点,应满足的条件是:

字串8

字串7

图2-16 用相切圆弧逼近轮廓线

 两圆相切G点                        (2-2)

字串9

  满足δ允要求                        (2-3)                          

字串4

2)计算方法:

                   

字串2

①    求圆心坐标的公式。

点A和B处曲线的法线方程式为

字串2

(x-xA)-kA(y-yA)=0

字串8

(x-xB)-kB(y-yB)=0字串1

式中kA和kB为曲线在点A和B处的斜率,k=dy/dx。

字串5

解上两式得两法线交点M(圆心)的坐标为:

字串5

字串8

                               (2-4)

字串9

字串7

字串9

同理可通过C、D两点的法线方程求出N(圆心)点坐标为:

字串4

                         (2-5)

字串6

字串9

字串5

②    求B、C、D三点坐标。

根据(2-2)和(2-3)式,得

字串1

          (2-6)字串5

字串2

字串4

(2-7)

字串7

字串7

式中的A、B、C、D的y坐标值分别由以下公式求出

字串9

                  yA=f(xA),yB=f(xB)

字串3

                  yC=f(xA),yD=f(xD)

字串8

再代入(2-6)和(2-7)式,用迭代法可求出B、C、D坐标值。

字串6

③求圆心M、N坐标值和RM、RN值。

将B、C、D坐标值代入(2-4)和(2-5)式即求出圆心M和N的坐标值,并由此求出RM和RN值。

字串2

应该指出的是,在曲线有拐点和凸点时,应将拐点和凸点作为一个计算单元(每一计算单元为四个点)的分割点

FUNAC用户宏程序简介

用户宏程序

字串8

能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来它们,使用时只需给出这个总指令就能执行其功能。

字串6

l所存入的这一系列指令——用户宏程序

l调用宏程序的指令————宏指令

字串8

l特点:

使用变量字串6

一.变量的表示和使用字串8

(一)变量表示 

#I(I=1,2,3,…)或#[<式子>]字串4

例:

#5,#109,#501,#[#1+#2-12]

字串1

(二)变量的使用 

1.地址字后面指定变量号或公式字串1

格式:

 <地址字>#I

字串1

<地址字>-#I

字串5

<地址字>[<式子>]字串1

例:

F#103,设#103=15 则为F15

字串3

Z-#110,设#110=250 则为Z-250

字串5

X[#24+#18*COS[#1]]

2.变量号可用变量代替

字串2

例:

#[#30],设#30=3 则为#3

字串2

3.变量不能使用地址O,N,I

例:

下述方法下允许

O#1;字串5

I#26.00×100.0;

字串3

N#3Z200.0;

字串9

4.变量号所对应的变量,对每个地址来说,都有具体数值X围

例:

#30=1100时,则M#30是不允许的

字串7

5.#0为空变量,没有定义变量值的变量也是空变量

字串8

6.变量值定义:

程序定义时可省略小数点,例:

#123=149字串4

MDI键盘输一.变量的种类

字串7

1.局部变量#1~#33

一个在宏程序中局部使用的变量

字串1

例:

   A宏程序     B宏程序

字串1

……

     #10=20X#10 不表示X20

字串9

……字串7

断电后清空,调用宏程序时代入变量值

字串5

2.公共变量#100~#149,#500~#531

字串7

各用户宏程序内公用的变量

字串5

例:

上例中#10改用#100时,B宏程序中的字串5

X#100表示X20

字串4

#100~#149 断电后清空

字串5

#500~#531保持型变量(断电后不丢失)字串7

3.系统变量

字串6

固定用途的变量,其值取决于系统的状态

字串1

例:

#2001值为1号刀补X轴补偿值

字串7

  #5221值为X轴G54工件原点偏置值

入时必须输入小数点,小数点省略时单位为μm

字串6

 

一.运算指令

字串9

运算式的右边可以是常数、变量、函数、式子字串9

式中#j,#k也可为常量

式子右边为变量号、运算式

字串5

1.定义

字串6

#I=#j字串8

2.算术运算

#I=#j+#k

#I=#j-#k

#I=#j*#k

#I=#j/#k

字串6

3.逻辑运算

字串1

#I=#JOK#k

字串1

#I=#JXOK#k

#I=#JAND#k

4.函数字串9

#I=SIN[#j]正弦

字串3

#I=COS[#j]余弦

#I=TAN[#j]正切

字串7

#I=ATAN[#j]反正切

#I=SQRT[#j] 平方根

字串5

#I=ABS[#j] 绝对值

#I=ROUND[#j] 四舍五入化整

字串7

#I=FIX[#j] 下取整

字串1

#I=FUP[#j] 上取整字串1

#I=BIN[#j]BCD→BIN(二进制)

字串3

#I=B[#j]BIN→BCD

字串7

1.说明

字串1

1)角度单位为度字串1

例:

90度30分为90.5度

2)ATAN函数后的两个边长要用“1”隔开

字串1

例:

#1=ATAN[1]/[-1]时,#1为了35.0

字串2

3)ROUND用于语句中的地址,按各地址的最小设定单位进行四舍五入

例:

设#1=1.2345,#2=2.3456,设定单位1μm字串5

G91X-#1;X-1.235

X-#2F300;X-2.346字串4

X[#1+#2];X3.580

字串3

未返回原处,应改为字串1

X[ROUND[#1]+ROUND[#2]];

4)取整后的绝对值比原值大为上取整,反之为下取整

字串7

例:

设#1=1.2,#2=-1.2时

若#3=FUP[#1]时,则#3=2.0

若#3=FIX[#1]时,则#3=1.0

若#3=FUP[#2]时,则#3=-2.0

字串2

若#3=FIX[#2]时,则#3=-1.0

字串4

5)指令函数时,可只写开头2个字母

例:

ROUND→RO

字串5

FIX→FI字串5

6)优先级字串6

函数→乘除(*,1,AND)→加减(+,-,OR,XOR)

字串1

例:

#1=#2+#3*SIN[#4];

7)括号为中括号,最多5重,园括号用于注释语句

字串5

例:

#1=SIN[[[#2+#3]*#4+#5]*#6];(3重)

一.转移与循环指令

1.无条件的转移

格式:

 GOTO1;

GOTO #10;

字串4

2.条件转移字串8

格式:

 IF[<条件式>]GOTOn字串1

条件式:

字串8

#jEQ#k表示=

字串8

#jNE#k表示≠字串3

#jGT#k表示>

#jLT#k表示<

字串2

#jGE#k表示≥

#jLE#k表示≤

字串6

例:

 IF[#1GT10]GOTO100;

字串5

…字串5

N100G00691X10;

字串9

例:

求1到10之和

字串6

O9500;

字串8

  #1=0字串1

  #2=1

字串9

N1IF[#2GT10]GOTO2

  #1=#1+#2;

字串1

  #2=#2+1;

字串3

GOTO1

字串6

N2M301.循环字串8

格式:

WHILE[<条件式>]DOm;(m=1,2,3)

字串8

…字串6

字串5

…字串8

ENDm

字串7

说明:

1.条件满足时,执行DOm到ENDm,则从DOm的程序段字串7

    不满足时,执行DOm到ENDm的程序段

2.省略WHILE语句只有DOm…ENDm,则从DOm到ENDm之间形成死循环字串4

3.嵌套

字串6

4.EQNE时,空和“0”不同

字串2

其他条件下,空和“0”相同

字串9

 例:

求1到10之和

O0001;

   #1=0;

   #2=1;

字串9

WHILE[#2LE10]DO1;

   #1=#1+#2;字串6

   #2=#2+#1;

END1;

字串8

M30;

使用FANUC宏程序编制单轴磨削循环及补偿功能

单轴外圆数控磨床,径向采用数控轴(X轴)控制,轴向仍用液压油缸驱动,因此无法使用两轴磨床数控系统提供的磨削循环功能。

在实践中,可以使用FANUC系统提供的用户宏程序,编制单轴的磨削循环功能。

根据机床的具体结构,又编制了砂轮手动修整、自动补偿及手动测量工件、自动补偿的控制功能。

在XX重型机床厂生产

字串1

的CA8311B轴颈车磨床上,经过一年多的生产使用,证明是实用的。

下面分别介绍软件的内容。

字串8

1 功能介绍

1.1 外圆磨削循环

字串7

  由于只有径向控制轴(X轴),无法实现连续进给磨削,只能实现两端进给的轴向磨削循环。

因此在左右两端各设1个轴向行程识别开关(如图1所示)。

字串3

  当砂轮移到工件的左端时,左端行程开关闭合,发出到位信号,程序中用接口输入变量#1005=1表示。

控制系统接到该信号后,发出X轴进给移动指令,砂〖LL〗轮前进一个A值;同理,当系统接到右端行程开关发出的到位信号,程序中用接口输入变量#1006=1表示,砂轮前进一个B值。

依次循环,直到到达指令的位置。

字串5

  实现给定磨削量的磨削加工,可以按A、B两值相加为一个循环,将被磨除量均分。

砂轮快速移至R点,经n次(A+B)磨削之后,其剩余量为h′。

若砂轮在工件左端,且h′<A时,按h′进给,否则按A值进给。

若在工件右端,且h′<B值时,按h′进给,否则按B值进给。

软件必须保证只在工件两端进给,中间不得进给。

当磨除量变为零时,必须磨到另一端才能退砂轮。

整个磨削过程分粗磨、精磨和光磨。

在实际使用中,在R点设置一个暂停,操作者可以插入手动磨削,以利于修活使用,也可以再转为自动磨削。

磨削初值用现在位置变量#5041取值。

字串4

字串5

1.2 测量值的自动补偿字串4

  在粗磨结束后,精磨开始前插入手动测量,操作者将测量结果输入到系统中,系统根据指令值与实测值之差,对磨削量进行补偿。

  是否需要测量,由面板上的开关设置,此开关状态用接口输入信号#1007输入系统。

当开关接通,即信号为“1”时进行测量。

当开关断开,即信号为“0”时,则不进行测量,直接进行精磨加工。

当实测值与指令值相同时,可以不输入实测值,此时,系统不修正磨削量,仍按原磨削量进行磨削。

如需测量,在测量之前安排光磨加工,以求与完成零件磨削的状态相同。

字串7

1.3 砂轮修整量的自动补偿

字串7

  根据机床采用普通金刚笔修整砂轮、手动进给、手动换向修整这样的操作,软件自动计算修整量,并修正工件坐标原点设定值。

砂轮修整之后,不需对刀,即可进行磨削加工。

字串9

  在面板上设置砂轮修整开关,此开关状态用接口输入信号#1004输入系统。

当修整开关合上,即信号为“1”时,执行砂轮修整服务程序。

当开关断开,即信号为“0”时,系统执行磨削加工。

字串9

2 软件框图字串5

  按主程序、子程序结构编制软件。

字串6

(1)主程序(O0001) 见图2。

(2)砂轮修整子程序(O0020) 见图3。

字串3

(3)磨削子程序(O0010) 见图4。

字串2

(4)测量子程序(O0030) 见图5。

字串1

字串5

3 菜单编程

字串7

  将磨削所需数据用系统断电不清除的宏变量表示。

编程时,操作者只需把所需数据输入,不需要修改程序。

零件变化时,只需改变相关尺寸数据。

  具体设置如下:

字串8

#500 粗磨开始点

字串1

#501 粗磨结束点,即精磨开始点字串1

#502 精磨结束点,即光磨开始点,亦即零件尺寸

#503 粗磨左进刀量,即第一次切深

#504 粗磨右进刀量,即第二次切深

字串9

#505 粗磨进刀进给速度

字串1

#506 精磨左进刀量

#507 精磨右进刀量

字串8

#508 精磨进刀进给速度

字串1

#509 光磨次数

字串8

#510 工件坐标原点设定值

#511 金刚笔尺寸

#514 测量点设定值(系统自动设置)

字串2

#515 测量点实测值(先由系统自动设置为设定值,再由操作者修改)〖字串1

4 程序

字串8

(1)主程序

字串2

O0001;字串6

G98;字串8

IF[#1004EQ0]G0T010;(修砂轮开关,1:

修砂轮,0:

磨工件)字串1

M98P0020;          (修砂轮)字串9

N10M98P0010;        (磨工件)

字串5

N20M30;

字串5

(2)磨削子程序

字串9

O0010;

G50X#510;          (设置工件坐标原点)

字串8

G00X[#500+1.0];      (分段趋近工件)字串9

G01

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1