青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 3384|回复: 0

数字积分法插补圆弧插补程序设计

[复制链接]
发表于 2009-11-4 11:51 | 显示全部楼层 |阅读模式
 $ C0 n" e; p; _' r9 j
      数字积分法插补圆弧插补程序设计. x, X7 m( h7 n  L- [! b* Y( G) r' u+ [
      4.1.4 圆弧插补程序设计1 E( v. @5 q) v7 m& ?
            表4.1 圆弧插补时坐标修改情况
3 `. H3 ~  ~( Q            Table 4.1 Modification of the coordinate during circle interpolation
$ K" S" V* C0 J      对于圆弧插补,各个象限的积分器结构基本上相同,但是控制各坐标轴的进给方向和被积函数值的修改方向却不同,具体情况如表4.1所示: ( i+ h& U# H) n) T, y
       2 \; O# Q8 R' [0 \" o+ h/ D$ k
       $ T) ?& f+ n! E* k# D
            圆弧类型顺  圆逆  圆" J* v. y0 O! N- s7 V
            所在象限123412348 l! n8 G4 c2 l2 D" h- \6 m9 U
            Y值修改-+-++-+-3 v: g, [' a- D$ d& _+ @7 ~
            X值修改+-+--+-+" q, G0 P. d  n& c5 x5 e6 j
            Y轴进给方向-Y+Y+Y-Y+Y-Y-Y+Y3 T1 I4 T, B# h( G
            X轴进给方向+X+X-X-X-X-X+X+X: n+ }' r3 F  F, e6 k( h/ d+ w
      由于各个象限的控制差异,所以圆弧插补一般需要按象限来分成若干个模块进行插补计算,程序里可以用圆弧半径作为基值,同时给各轴的余数赋比基值小的数(如R/2等),这样可以避免当一个轴被积函数较小而另一个轴被积函数较大进,由于被积函数较小的轴的位置变化较慢而引起的误差。具体的插补流程图如图4.4所示# p% _. {& A3 F& {
      流程图里一些变量的意义如下:
( z" g/ D( j' y0 w9 P      · Xflag—X轴进给标志
) L/ E5 X3 B+ ~/ p. f, l      · Yflag—Y轴进给标志
; R( x5 e' ?2 W6 A+ d* B& L2 }      · Nx—X轴方向长度
  G0 C3 g9 V# p- u( y      · Ny—Y轴方向长度! e1 s& S/ O- {! ]
      · R—基准值; u6 A$ J4 o* v
      · delta—步长
( u& F8 Z+ N7 z8 j      · JRX—X轴余数
9 n+ O# S. g9 B      · JRY—Y轴余数! @( X& \& Q% _" H9 K/ X, x3 F
      · JX—X轴被积函数值
1 l3 @) `# W- m: x7 i      · JY—Y轴被积函数值
1 b( L4 W2 |# P! A, {; Q      
  H8 w# v/ z/ [9 T      
9 M% n( j1 t* U2 a% M            N0 O, f3 X5 {0 c* D( K# L" U- A/ h, r  N
            Y" E( n4 Z, v) b" \3 G
            N* \( U& N- s" ^# Z1 g6 ~. _
            N
- U# e  F) Y7 K4 j            Y
* L5 i' @' ]2 t  G8 f            Y1 W) d7 b* J' @! t3 }* M
            N
  |- Z1 k7 Z+ F0 j            Y
) [- n/ ~& b* v            N
+ q: s5 h, C! O$ x4 E0 X3 X            Y
( u' n% J+ g0 r  ]4 q            入口
* o7 x5 |* Z. C4 K/ s( u7 f; z, U$ M            保护数据指针
$ [9 W! H4 A. ~! @* D( Z5 T            起点象限判断,所跨象限数计算
$ O5 I* s( y, s- E5 [            计算各轴步数2 Q2 q/ {# Q3 ^6 g
            Xflag=Yflag=0: C; l! _  D) y
            Nx>delta
. \3 }/ g) f4 Q* q( a$ q8 Y            JRX=JRX+JX
0 U$ F3 N+ h3 r* r, ~+ t7 E8 E4 H            JRX>R?
5 e8 k5 w" D6 |            JRX=JRX-R. \5 @4 N# T, M
            Xflag=1
9 b0 `  f$ l" C1 n+ X& ~            Nx=Nx-1
$ m8 a+ L' g- |& T. B            JX修正
8 b, r6 I4 g: U3 z* `& m: a8 q' F            Ny>delta?
9 V. [/ M8 h) H9 V2 M# \# D            JRY=JRY+JY7 F9 p) I5 X4 |& U6 E
            JRY>R?/ q4 R% p" @; ]( S* _  p
            JRY=JRY-R7 h& j  r  o/ e4 ]  u* t, ]
            Yflag=1
4 R# F7 ?2 N, P& [' G5 e            Ny=Ny-1, d! E$ C3 F, z' q2 A4 Y
            JY修正
/ @. @: t) O9 {7 k: [' t            升降速处理, W, X2 u% m" j6 i0 m7 c) W
            进给# L4 s; y( J9 n  w
            Nx>delta?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2025-8-2 02:57 , Processed in 0.126047 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表