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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

常用的计算方法有:

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

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

如图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 

等间距法和等弦长法

a)等间距法 

b)等弦长法

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

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

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

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

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

如图2-13所示。

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

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

图2-13 

等误差法

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

其圆方程为

(2-1)

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

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

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

字串8

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

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

Y-Ya=K(X-Xa)

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

字串6

联立方程组:

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

(5)按以上步骤顺次求得c,d、… 

各节点坐标。

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

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

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

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

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

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

1)基本原理 

曲率圆法是用彼此相交的圆弧逼近非圆曲线。

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

以曲率圆中心为圆心,以曲率圆半径加(减)δ允为半径,所作的圆 

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

图2-14 

曲率圆法圆弧段逼近

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

2)计算步骤

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

圆心 

半径 

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

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

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

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

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

图2-15 

三点圆弧段逼近

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

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

圆方程的一般表达形式为

x2+y2+Dx+Ey+F=0

其圆心坐标 

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

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

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

,按算出δ值, 

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

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

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

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

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

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

图2-16 

用相切圆弧逼近轮廓线

两圆相切G点 

(2-2)

满足δ允要求 

(2-3) 

2)计算方法:

① 

求圆心坐标的公式。

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

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

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

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

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

(2-4)

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

(2-5)

② 

求B、C、D三点坐标。

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

(2-6)字串5

(2-7)

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

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

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

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

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

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

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

FUNAC用户宏程序简介

用户宏程序

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

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

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

l特点:

使用变量字串6

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

(一)变量表示 

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

例:

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

(二)变量的使用 

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

格式:

 <地址字>#I

<地址字>-#I

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

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

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

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

2.变量号可用变量代替

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

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

下述方法下允许

O#1;

I#26.00×

100.0;

N#3Z200.0;

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

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

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

6.变量值定义:

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

#123=149字串4

MDI键盘输一.变量的种类

1.局部变量#1~#33

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

   A宏程序     B宏程序

……

     #10=20X#10 不表示X20

……字串7

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

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

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

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

X#100表示X20

#100~#149 断电后清空

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

3.系统变量

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

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

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

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

一.运算指令

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

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

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

1.定义

#I=#j字串8

2.算术运算

#I=#j+#k

#I=#j-#k

#I=#j*#k

#I=#j/#k

3.逻辑运算

#I=#JOK#k

#I=#JXOK#k

#I=#JAND#k

4.函数字串9

#I=SIN[#j]正弦

#I=COS[#j]余弦

#I=TAN[#j]正切

#I=ATAN[#j]反正切

#I=SQRT[#j] 平方根

#I=ABS[#j] 绝对值

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

#I=FIX[#j] 下取整

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

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

#I=B[#j]BIN→BCD

1.说明

1)角度单位为度字串1

90度30分为90.5度

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

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

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

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

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

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

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

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

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

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

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

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

ROUND→RO

FIX→FI字串5

6)优先级字串6

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

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

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

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

(3重)

一.转移与循环指令

1.无条件的转移

 GOTO1;

GOTO #10;

2.条件转移字串8

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

条件式:

#jEQ#k表示=

#jNE#k表示≠字串3

#jGT#k表示>

#jLT#k表示<

#jGE#k表示≥

#jLE#k表示≤

 IF[#1GT10]GOTO100;

…字串5

N100G00691X10;

求1到10之和

O9500;

  #1=0字串1

  #2=1

N1IF[#2GT10]GOTO2

  #1=#1+#2;

  #2=#2+1;

GOTO1

N2M301.循环字串8

WHILE[<条件式>]DOm;

(m=1,2,3)

…字串6

…字串8

ENDm

说明:

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

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

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

3.嵌套

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

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

 例:

O0001;

   #1=0;

   #2=1;

WHILE[#2LE10]DO1;

   #1=#1+#2;

   #2=#2+#1;

END1;

M30;

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

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

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

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

在XX重型机床厂生产

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

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

1 功能介绍

1.1 外圆磨削循环

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

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

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

控制系统接到该信号后,发出X轴进给移动指令,砂〖LL〗轮前进一个A值;

同理,当系统接到右端行程开关发出的到位信号,程序中用接口输入变量#1006=1表示,砂轮前进一个B值。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.3 砂轮修整量的自动补偿

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

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

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

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

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

2 软件框图字串5

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

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

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

字串3

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

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

3 菜单编程

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

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

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

  具体设置如下:

#500 粗磨开始点

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

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

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

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

#505 粗磨进刀进给速度

#506 精磨左进刀量

#507 精磨右进刀量

#508 精磨进刀进给速度

#509 光磨次数

#510 工件坐标原点设定值

#511 金刚笔尺寸

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

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

4 程序

(1)主程序

G98;

IF[#1004EQ0]G0T010;

(修砂轮开关,1:

修砂轮,0:

磨工件)字串1

M98P0020;

          (修砂轮)字串9

N10M98P0010;

        (磨工件)

N20M30;

(2)磨削子程序

O0010;

G50X#510;

          (设置工件坐标原点)

G00X[#500+1.0];

      (分段趋近工件)字串9

G01

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

当前位置:首页 > 经管营销 > 经济市场

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

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