倾斜椭圆的编程

倾斜椭圆的编程

以长半轴30,短半轴20,倾斜30度为例

#1=0

n1#2=cos[#1]*30

#3=sin[#1]*20

#4=atan[#3]/[#2]+30

#5=sqrt[#2*#2+#3*#3]

#6=cos[#4]*#5

#7=sin[#4]*#5

if[#1gt360]goto2

g1x#6y#7f100

#1=#1+1

goto1

n2m00

椭圆长半轴为30,短半轴为20,椭圆绕椭圆圆心旋转30度.椭圆加工到X直径为40止.

#1=30 椭圆长半轴

#2=20 椭圆短半轴

#3=COS[30]*26.19 #3为椭圆长轴起点 26.19为椭圆圆心到椭圆Z方向起点距离

#4=20-TAN[30]*21.02 #4为椭圆短轴终点 21.02为椭圆圆心到椭圆Z方向终点距离

#5=COS[30]*21.02

#6=SIN[30]*#4

#7=#5+#6 #7为椭圆长轴终点

WHILE[#3GE#7]DO1 判断椭圆长轴是否走到终点

#8=#2*SQRT[#1*#1-#3*#3]/#1 椭圆公式

#9=COS[30]*#8 #9为X轴的变量

#10=SIN[30]*#8+COS[30]*#3 #10为Z轴的变量

G01X[2*#9-#3] Z[#10-26.19] 直线插补

#3=#3-0.5 长轴步进0.5

END1

FANUC-0i 数控车抛物线宏程序数控 2008-01-07 19:26:11 阅读113 评论0 字号:大中小 订阅 .

O1234

T1;

M3 S800;

GO X0 Z30;

G1 Z25 F0.1;

#2 =0.01;

#3 =0;

#4 =25;

N1 #1 =#3*#3+#4-25

IF[#1LE0] GOTO2;

IF[#1GT0] GOTO3;

IF[#1LT0] GOTO4;

N2 U#2 F0.1;

#3 =#3+#2;

#3 =#3;

GOTO1;

N3 W-#2;

#4=#4-#2;

#4=#4;

GOTO1;

N4 GO X50 Z100

T00 M05;

M30;

%

或者

O1234

T01 M3 S600

G0X11 Z31

G1 Z30 F0.2

X0

G0 X10 Z31

G1 Z25

#2=0.05

#3=10

#4=25

#5=18.9

#6=5

N1 #7=#7+#2

#9=0.5*#7

#8=-[#9-5]*[#9-5]+25

G1 X#7 Z#8 F0.1

WHILE[#7 GE #5] DO1

G1Z#6

GOTO2

END1

WHILE[#8 GT #6] DO1

G1 X#5

GOTO2

END1

GOTO1

N2 G2 X24.9 Z2.5 R2.5

G1 Z0

G0 X50 Z100

T00 M05

M30

%

说明:

EQ NE GT GE LT LE

等于 不等于 大于 大于等于 小于 小于等于

语法

1.GOTOn

2.IF[条件式] GOTOn

3.IF[条件式] THEN____

4.WHILE[条件式] DOn

____

____

ENDn

注:n为程序行号

____为另一个处理

数控车椭圆宏程序编制% C$ U- V% F+ A8 M6 x

2 c" V8 i, S" b* ~2 j8 Y

: I0 p6 {' T. U6 F# }. N1 u Y近年来 随着数控加工设备技术的进步与发展,数控机床已成为机械加工技术中不可缺少的关键设备。从国家到地方也经常举行数控方面的比赛,在数控车比赛中频繁出现各种二次曲线轮廓的结构,其中椭圆轮廓出现的次数最多。椭圆宏程序根据方程的不同可以有用z做变量和用角度做变量两种,笔者根据自己在训练加工中的体会,结合宏程序的特点,将椭圆宏程序(以FANUC系统为例),用z做变量做一下总结,以方便同行使用。9 i1 Z7 E% t- F0 ?

1.基本椭圆宏编程:9 e- ~" f: }' ?- g3 f

( j4 c6 M Y' b2 p

1 O# d" _$ d* P& I1 ~% K

: c0 {6 N0 ]$ |

8 g2 X: b# \4 ]

4 i- k: E- H% U; I4 {: y图一 数学坐标系 图二 工件坐标系8 q& @8 }& f) u

椭圆的数学方程: + =1,该方程坐标系如图一。实际数控编程中我们必须将上面公式进行变换,以符合数控车加工中的工件坐标系,见图二,于是方程变换为: + =1,把Z作为已知量,求解X。

1 ^% Q _; Q5 e! g% g" y解得:X=b

$ ^6 E, ?* h/ ~' G0 v i; ] E3 s编程思路为:把Z方向加工长度进行密分,间隔量(步进量)视椭圆弧轮廓度要求而定,然后根据Z向密分坐标解得X坐标值,该计算交给系统完成,因此必须把椭圆的相关已知条件进行赋值,最后根据X、Z进行直线插补,加工出椭圆弧 。 图三

) v- ]3 l X6 X* e/ M; {( r4 A编程如下:(见图三)

. O4 ]9 w. P7 ^7 ]# W7 J2 ?2 e#101=a;(长半轴)

$ L! V# S# g* `/ [' d) K#102=b;(短半轴)

& T r" v, N- h5 m# e; n. ]#103=a;(z向椭圆起始点)

1 A6 A* T1 {" @5 ?6 CN10 #104=#102*SQRT[#101*#101-#103*#103]/ #101;(半径值的计算)* c4 ^4 ^% y. d9 x2 `. N- L

G01 X[2*#104] Z[#103] F0.2;(直线插补)

0 ?9 x: f- i: d& P8 x+ J#103=#103-0.5;(设定z向步进量0.5mm) P2 w/ f9 D' N$ J3 ^# |: O

IF [#103 GE 0] GOTO10;(判断是否到达椭圆弧终点,图三中加工90º椭圆弧,Z方向终点为0)

# Q0 {/ s* [/ d k7 s: j( yG00 U50 Z……;(退刀)

! r' O: v: R1 T! D. j- w2.变化后椭圆宏编程: v L# Z+ g" e+ [% p: r2 a! L

在实际图纸中,椭圆弧在零件上的位置根据总结大概有以下几种:- L4 O. j V- O9 @' c; T! O0 p5 r( G

(1)凸椭圆弧位于零件的最右端及中间位置(如图四);

# [7 L* A1 Q, w+ P

" T; _6 Z( j3 B9 K; a5 c

& j+ n1 H( t. {& X2 A p

* W x0 {$ h3 U3 ^- k9 @ r图四

1 i( q9 r8 m$ W(2)凸椭圆弧中心线不和零件轴线重合(如图五);

; K. I G; X: t' _( i8 ]% ?- c% ~& H+ n6 T

9 p+ U1 D0 P3 G/ r

$ T7 T4 ?: h- L

* E/ y1 u* | z5 L- k; ^图五

8 u5 O$ X0 A) l2 X" c(3)凹椭圆弧同样对应上面一、二两类变化(在图中将凸弧改换成凹弧);4 `5 M: L' A( P, z' j+ T

(4)长、短半轴互换后凸凹椭圆弧位置同样对应上面一、二两类变化;

, ?& @9 V9 k0 B( H' u! _4 [(5)倾斜椭圆弧(椭圆弧中心线与零件轴线成锐角)对应的以上变化。! M- p) N) p- a+ P. Z) V! W, a

仔细分析这些变化,在编程中实际上包含椭圆弧起始及终止点的变化,椭圆弧中心点轴向位置、径向位置的变化,凹凸椭圆弧的变化,长半轴及短半轴的互换,椭圆弧中心线与零件轴线夹角的变化(倾斜椭圆)等,这里笔者对除倾斜椭圆外的几种

情况进行总结,编程如下:(见图六)

# v$ {+ _# J# R0 H6 s$ J1 \4 g! K

- n N! C* ^; u* E( k4 m: A. J图六0 q+ |3 p; r& H, P% T

#101=a;(与Z轴平行的半轴长)

/ z# M; H7 u# T; A#102=b;(与X轴平行的半轴长)$ h0 K* Y2 J4 m

#103=m;(椭圆弧起始点到椭圆中心距离,起始点位于椭圆中心线左侧为负,右侧为正)7 e0 Z4 T; y' A8 \$ L* [+ D( j1 R1 I

#104=n;(椭圆弧终止点到椭圆中心距离,终止点位于椭圆中心线左侧为负,右侧为正)

% j4 o, E- h4 g$ G9 E% \- c#105=e;(椭圆中心线到零件轴线距离)" M! }0 K. y2 r# G

#106=L;(椭圆中心到编程原点z向距离,这里将编程原点置于零件右端面中心)

1 Q; d% I' t2 U: m- bN10 #107=#102*SQRT[#101*#101-#103*#103]/ #101;(计算X值); o$ i& S' D+ P9 g0 D* {8 B" F" M$ C3 y

G01 X[2*#105±2*#107] Z[#103-#106] F0.2;(凸椭圆弧x计算中取“+”,凹椭圆弧取“-”)# u+ F/ R/ W9 u6 L+ C3 {3 j1 H

#103=#103-0.5;(设定z向步进量0.5mm)7 ^7 R4 y% K+ `) p; n% y& i# Y% B

IF [#103 GE#104] GOTO10;(判断是否到达椭圆弧终点)

' ~* ]; R! L1 T3 m' g1 _7 @2 XG00 U50 Z……;(退刀)2 E% G7 p3 g |' Z5 E( o! {4 e1 G

3.结语" B3 D& p4 K; L8 c) v% Z

这个程序里面椭圆弧起始及终止点的变化取决于m、n,椭圆弧中心点轴向位置变化取决于L,径向位置变化取决于e,凹凸椭圆弧的变化取决于X值计算中的正、负号的选择,长半轴及短半轴的互换在程序注释上a、b值已经注明。实际使用中只要将该程序存入系统,通过修改#101~#106就可以加工各种情况下的椭圆轮廓。至于椭圆弧中心线与零件轴线夹角的变化的宏编程只是在X、Z值上进行三角函数的计算,这里就不再赘述。9 S1 |# o/ O l5 N+ ]

* f* J7 N7 x/ V9 B

倾斜椭圆的编程

以长半轴30,短半轴20,倾斜30度为例

#1=0

n1#2=cos[#1]*30

#3=sin[#1]*20

#4=atan[#3]/[#2]+30

#5=sqrt[#2*#2+#3*#3]

#6=cos[#4]*#5

#7=sin[#4]*#5

if[#1gt360]goto2

g1x#6y#7f100

#1=#1+1

goto1

n2m00

椭圆长半轴为30,短半轴为20,椭圆绕椭圆圆心旋转30度.椭圆加工到X直径为40止.

#1=30 椭圆长半轴

#2=20 椭圆短半轴

#3=COS[30]*26.19 #3为椭圆长轴起点 26.19为椭圆圆心到椭圆Z方向起点距离

#4=20-TAN[30]*21.02 #4为椭圆短轴终点 21.02为椭圆圆心到椭圆Z方向终点距离

#5=COS[30]*21.02

#6=SIN[30]*#4

#7=#5+#6 #7为椭圆长轴终点

WHILE[#3GE#7]DO1 判断椭圆长轴是否走到终点

#8=#2*SQRT[#1*#1-#3*#3]/#1 椭圆公式

#9=COS[30]*#8 #9为X轴的变量

#10=SIN[30]*#8+COS[30]*#3 #10为Z轴的变量

G01X[2*#9-#3] Z[#10-26.19] 直线插补

#3=#3-0.5 长轴步进0.5

END1

FANUC-0i 数控车抛物线宏程序数控 2008-01-07 19:26:11 阅读113 评论0 字号:大中小 订阅 .

O1234

T1;

M3 S800;

GO X0 Z30;

G1 Z25 F0.1;

#2 =0.01;

#3 =0;

#4 =25;

N1 #1 =#3*#3+#4-25

IF[#1LE0] GOTO2;

IF[#1GT0] GOTO3;

IF[#1LT0] GOTO4;

N2 U#2 F0.1;

#3 =#3+#2;

#3 =#3;

GOTO1;

N3 W-#2;

#4=#4-#2;

#4=#4;

GOTO1;

N4 GO X50 Z100

T00 M05;

M30;

%

或者

O1234

T01 M3 S600

G0X11 Z31

G1 Z30 F0.2

X0

G0 X10 Z31

G1 Z25

#2=0.05

#3=10

#4=25

#5=18.9

#6=5

N1 #7=#7+#2

#9=0.5*#7

#8=-[#9-5]*[#9-5]+25

G1 X#7 Z#8 F0.1

WHILE[#7 GE #5] DO1

G1Z#6

GOTO2

END1

WHILE[#8 GT #6] DO1

G1 X#5

GOTO2

END1

GOTO1

N2 G2 X24.9 Z2.5 R2.5

G1 Z0

G0 X50 Z100

T00 M05

M30

%

说明:

EQ NE GT GE LT LE

等于 不等于 大于 大于等于 小于 小于等于

语法

1.GOTOn

2.IF[条件式] GOTOn

3.IF[条件式] THEN____

4.WHILE[条件式] DOn

____

____

ENDn

注:n为程序行号

____为另一个处理

数控车椭圆宏程序编制% C$ U- V% F+ A8 M6 x

2 c" V8 i, S" b* ~2 j8 Y

: I0 p6 {' T. U6 F# }. N1 u Y近年来 随着数控加工设备技术的进步与发展,数控机床已成为机械加工技术中不可缺少的关键设备。从国家到地方也经常举行数控方面的比赛,在数控车比赛中频繁出现各种二次曲线轮廓的结构,其中椭圆轮廓出现的次数最多。椭圆宏程序根据方程的不同可以有用z做变量和用角度做变量两种,笔者根据自己在训练加工中的体会,结合宏程序的特点,将椭圆宏程序(以FANUC系统为例),用z做变量做一下总结,以方便同行使用。9 i1 Z7 E% t- F0 ?

1.基本椭圆宏编程:9 e- ~" f: }' ?- g3 f

( j4 c6 M Y' b2 p

1 O# d" _$ d* P& I1 ~% K

: c0 {6 N0 ]$ |

8 g2 X: b# \4 ]

4 i- k: E- H% U; I4 {: y图一 数学坐标系 图二 工件坐标系8 q& @8 }& f) u

椭圆的数学方程: + =1,该方程坐标系如图一。实际数控编程中我们必须将上面公式进行变换,以符合数控车加工中的工件坐标系,见图二,于是方程变换为: + =1,把Z作为已知量,求解X。

1 ^% Q _; Q5 e! g% g" y解得:X=b

$ ^6 E, ?* h/ ~' G0 v i; ] E3 s编程思路为:把Z方向加工长度进行密分,间隔量(步进量)视椭圆弧轮廓度要求而定,然后根据Z向密分坐标解得X坐标值,该计算交给系统完成,因此必须把椭圆的相关已知条件进行赋值,最后根据X、Z进行直线插补,加工出椭圆弧 。 图三

) v- ]3 l X6 X* e/ M; {( r4 A编程如下:(见图三)

. O4 ]9 w. P7 ^7 ]# W7 J2 ?2 e#101=a;(长半轴)

$ L! V# S# g* `/ [' d) K#102=b;(短半轴)

& T r" v, N- h5 m# e; n. ]#103=a;(z向椭圆起始点)

1 A6 A* T1 {" @5 ?6 CN10 #104=#102*SQRT[#101*#101-#103*#103]/ #101;(半径值的计算)* c4 ^4 ^% y. d9 x2 `. N- L

G01 X[2*#104] Z[#103] F0.2;(直线插补)

0 ?9 x: f- i: d& P8 x+ J#103=#103-0.5;(设定z向步进量0.5mm) P2 w/ f9 D' N$ J3 ^# |: O

IF [#103 GE 0] GOTO10;(判断是否到达椭圆弧终点,图三中加工90º椭圆弧,Z方向终点为0)

# Q0 {/ s* [/ d k7 s: j( yG00 U50 Z……;(退刀)

! r' O: v: R1 T! D. j- w2.变化后椭圆宏编程: v L# Z+ g" e+ [% p: r2 a! L

在实际图纸中,椭圆弧在零件上的位置根据总结大概有以下几种:- L4 O. j V- O9 @' c; T! O0 p5 r( G

(1)凸椭圆弧位于零件的最右端及中间位置(如图四);

# [7 L* A1 Q, w+ P

" T; _6 Z( j3 B9 K; a5 c

& j+ n1 H( t. {& X2 A p

* W x0 {$ h3 U3 ^- k9 @ r图四

1 i( q9 r8 m$ W(2)凸椭圆弧中心线不和零件轴线重合(如图五);

; K. I G; X: t' _( i8 ]% ?- c% ~& H+ n6 T

9 p+ U1 D0 P3 G/ r

$ T7 T4 ?: h- L

* E/ y1 u* | z5 L- k; ^图五

8 u5 O$ X0 A) l2 X" c(3)凹椭圆弧同样对应上面一、二两类变化(在图中将凸弧改换成凹弧);4 `5 M: L' A( P, z' j+ T

(4)长、短半轴互换后凸凹椭圆弧位置同样对应上面一、二两类变化;

, ?& @9 V9 k0 B( H' u! _4 [(5)倾斜椭圆弧(椭圆弧中心线与零件轴线成锐角)对应的以上变化。! M- p) N) p- a+ P. Z) V! W, a

仔细分析这些变化,在编程中实际上包含椭圆弧起始及终止点的变化,椭圆弧中心点轴向位置、径向位置的变化,凹凸椭圆弧的变化,长半轴及短半轴的互换,椭圆弧中心线与零件轴线夹角的变化(倾斜椭圆)等,这里笔者对除倾斜椭圆外的几种

情况进行总结,编程如下:(见图六)

# v$ {+ _# J# R0 H6 s$ J1 \4 g! K

- n N! C* ^; u* E( k4 m: A. J图六0 q+ |3 p; r& H, P% T

#101=a;(与Z轴平行的半轴长)

/ z# M; H7 u# T; A#102=b;(与X轴平行的半轴长)$ h0 K* Y2 J4 m

#103=m;(椭圆弧起始点到椭圆中心距离,起始点位于椭圆中心线左侧为负,右侧为正)7 e0 Z4 T; y' A8 \$ L* [+ D( j1 R1 I

#104=n;(椭圆弧终止点到椭圆中心距离,终止点位于椭圆中心线左侧为负,右侧为正)

% j4 o, E- h4 g$ G9 E% \- c#105=e;(椭圆中心线到零件轴线距离)" M! }0 K. y2 r# G

#106=L;(椭圆中心到编程原点z向距离,这里将编程原点置于零件右端面中心)

1 Q; d% I' t2 U: m- bN10 #107=#102*SQRT[#101*#101-#103*#103]/ #101;(计算X值); o$ i& S' D+ P9 g0 D* {8 B" F" M$ C3 y

G01 X[2*#105±2*#107] Z[#103-#106] F0.2;(凸椭圆弧x计算中取“+”,凹椭圆弧取“-”)# u+ F/ R/ W9 u6 L+ C3 {3 j1 H

#103=#103-0.5;(设定z向步进量0.5mm)7 ^7 R4 y% K+ `) p; n% y& i# Y% B

IF [#103 GE#104] GOTO10;(判断是否到达椭圆弧终点)

' ~* ]; R! L1 T3 m' g1 _7 @2 XG00 U50 Z……;(退刀)2 E% G7 p3 g |' Z5 E( o! {4 e1 G

3.结语" B3 D& p4 K; L8 c) v% Z

这个程序里面椭圆弧起始及终止点的变化取决于m、n,椭圆弧中心点轴向位置变化取决于L,径向位置变化取决于e,凹凸椭圆弧的变化取决于X值计算中的正、负号的选择,长半轴及短半轴的互换在程序注释上a、b值已经注明。实际使用中只要将该程序存入系统,通过修改#101~#106就可以加工各种情况下的椭圆轮廓。至于椭圆弧中心线与零件轴线夹角的变化的宏编程只是在X、Z值上进行三角函数的计算,这里就不再赘述。9 S1 |# o/ O l5 N+ ]

* f* J7 N7 x/ V9 B


相关文章

  • 数学建模讨论题
  • 数学建模讨论题 一. 某厂向用户提供发动机 ,合同规定:第一 ,第二,第三季度末分别交货40台.60台.80台.每季度生产费用为f(x) =ax+bx²(元) 其中x 是该季度生产的发动机台数,则交货后有剩余,可用于下季度交货,但需支付储存 ...查看


  • FANUC系统宏程序编程 1
  • FANUC系统宏程序编程 FANUC系统宏程序编程 一 变量 普通加工程序直接用数值指定G代码和移动距离:例如,GO1和X100.0.使用用户宏程序时,数值可以直接指定或用变量指定.当用变量时,变量值可用程序或用MDI面板上的操作改变. # ...查看


  • 典型配合零件的车削加工
  • [摘要] 本论文主要阐述了典型配合零件的车削加工,包括了零件的工艺分析.刀具选择.毛坯确定.装夹方式.夹具选择.加工步骤.程序编制以及废品分析. 该零件加工外圆和内径均采用了复合循环G71.螺纹复合循环G76,而且分了粗精加工,以提高零件的 ...查看


  • 宏程序及其在椭圆编程加工中的应用
  • 宏程序是数控加工专业高级工.技师和高级技师应掌握的内容.笔者在与企业 的交流中得知,有许多职工没有系统地学习过数控知识,尤其是宏程序这一块了解得很少,因此笔者特撰写本篇稿子,希望通过文中椭圆加工的宏 程序能够对其他非圆曲线的编写加工起到举一 ...查看


  • 椭圆形加工宏程序的编程实例
  • 椭圆形加工宏程序的编程实例 数控宏程序编程实例 2007年02月02日 星期五 22:18 实际应用中,还经常会遇到各种各样的椭圆形加工特征.在现今的数控系统中,无论硬件数控系统,还是软件数控系统,其插补的基本原理是相同的,只是实现插补运算 ...查看


  • 椭圆中点生成算法
  • (2008-12-02 10:37:16) 转载▼ 标签: r1 r2 中点 斜率 pi 椭圆 杂谈 分类: Direct3D编程 椭圆对称性质原理: (1)圆是满足x轴对称的,这样只需要计算原来的1/2点的位置: (2)圆是满足y轴对称的 ...查看


  • 数控椭圆编程
  • 数控椭圆编程 1.毛坯Ф30,加工右半个椭圆(Z 向有偏心). 主程序:WGF1.MPF G95G23G90G71 T1D1M03S500F0.3 G00X32Z2 R20=14.2(取最大切削余量30的一半为15,考虑到每次单边1mm 的 ...查看


  • ansys学习-使用问答1_桥梁空间
  • ansys学习-使用问答1 2006年11月20日 星期一 08:30 Q为问A为回复 ---------------------------------------------------------------------------- ...查看


  • 数控车床加工椭圆的宏程序实例
  • 随着数控技术不断进步, 数控车床加工中各种复杂形面也日渐增多, 如椭圆.抛物线.正弦曲线.余弦曲线.双曲线等各种非圆曲面.对于上述各种复杂成形面, 利用CAM 软件进行自动编程相对简单, 但由于种种原因, 在绝大多数情况下数控车床主要还是依 ...查看


热门内容