青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2009-11-4 11:51 | 显示全部楼层 |阅读模式
 
$ R: m2 `' Q) C8 m      数字积分法插补圆弧插补程序设计
+ N$ F0 ?; e9 e6 E+ @1 s/ C      4.1.4 圆弧插补程序设计' b( l+ C: q4 P7 h  R
            表4.1 圆弧插补时坐标修改情况2 ^, k  M- ^, T1 Y0 @0 U4 H
            Table 4.1 Modification of the coordinate during circle interpolation! {2 e/ v. l9 W* r7 i( h/ \7 y" ]
      对于圆弧插补,各个象限的积分器结构基本上相同,但是控制各坐标轴的进给方向和被积函数值的修改方向却不同,具体情况如表4.1所示: 
" Z- T3 t, @: Z' B       
1 X/ d! L3 s8 S( \% ^: `2 A       * R( Q6 Q: Z  M
            圆弧类型顺  圆逆  圆3 s( l* [  {/ n' P, r6 ?
            所在象限123412344 L% ]# ], c, d! B- i% u
            Y值修改-+-++-+-
4 j5 B, b* w8 i5 S            X值修改+-+--+-+% N3 K% d) ~4 K1 N# H; ~, I9 C: U2 T
            Y轴进给方向-Y+Y+Y-Y+Y-Y-Y+Y+ x" q* V, j, c. Q
            X轴进给方向+X+X-X-X-X-X+X+X
# s( m2 i% B' w      由于各个象限的控制差异,所以圆弧插补一般需要按象限来分成若干个模块进行插补计算,程序里可以用圆弧半径作为基值,同时给各轴的余数赋比基值小的数(如R/2等),这样可以避免当一个轴被积函数较小而另一个轴被积函数较大进,由于被积函数较小的轴的位置变化较慢而引起的误差。具体的插补流程图如图4.4所示; I* w- J- ?( t; ]% ]% l
      流程图里一些变量的意义如下:
: W0 _( x$ s6 x5 p8 Q1 n      · Xflag—X轴进给标志
; U3 \( O3 h/ F) }  n      · Yflag—Y轴进给标志
7 O( A( C+ C8 d; w2 [$ y, o/ [& P      · Nx—X轴方向长度+ A/ }& x* V  X9 _
      · Ny—Y轴方向长度
! h9 d# c1 T2 D* R  u      · R—基准值2 ]" q& g8 W" R' X/ B
      · delta—步长
$ L3 V1 v7 o$ N) l' y      · JRX—X轴余数
- J4 C% \' t1 v3 e5 ^7 g      · JRY—Y轴余数
0 H4 g  B$ s0 Q8 s      · JX—X轴被积函数值
9 s( b, o4 p6 N' E' o      · JY—Y轴被积函数值
# C8 W! {8 [- Z1 h: O2 p      
! ^5 X! U8 G2 `- F$ Y! J# ^; y9 b       " g, @; V) n; Z! N
            N# T: x% _, a' G$ ~( e, k
            Y
' o$ }4 f4 b3 ]* l# ^: ]" T            N+ k. e. M. I/ @% `7 d3 r, p
            N
0 s; Y) E0 w8 p) r            Y
* X, I1 {* X8 `8 h. ~! \+ |4 s+ N            Y
: U0 F4 n  |7 r0 L1 P- C' {            N7 B6 a% P/ K8 h- v" c
            Y+ L% g6 y) }0 j# [3 j
            N; f4 m- |( ?: P- z$ u
            Y5 T- g" L! @8 n0 K
            入口
- _( I/ g0 B/ T3 V3 x/ [7 i            保护数据指针8 t( @4 t7 `0 a) v. n5 H. L
            起点象限判断,所跨象限数计算
! v+ s: r1 s8 J, k  V' O- |            计算各轴步数
: ^, ^' @# B$ y" W) u5 f            Xflag=Yflag=04 w8 }5 z& k( w6 t' `7 X
            Nx>delta3 _4 s4 Q8 M) B! E
            JRX=JRX+JX
  C  o. e6 r; [. g6 T& U/ }9 s            JRX>R?
  F1 N' u$ l! m            JRX=JRX-R
/ |0 [) ]- O/ g3 {+ F            Xflag=17 v  T# d( e3 Q$ O' t+ f: m
            Nx=Nx-1( I4 E" o+ o4 w
            JX修正
6 E: y# p+ M# _            Ny>delta?: @) r  p9 I) G% c4 ]8 h
            JRY=JRY+JY" y! h5 }$ b4 E- V6 v
            JRY>R?: y2 |0 r* [4 C; I$ i
            JRY=JRY-R
# H. B' W. ~+ k' c1 {& T" S9 F            Yflag=1
2 a' m1 z* a5 ]! H            Ny=Ny-1
; C. L7 v! q; D% b1 Y! c            JY修正
9 z: w1 a( Q. ?/ G9 J  f# I            升降速处理: k, q* b5 a' K% Y! {
            进给
$ |( v  r/ [  z8 _- l            Nx>delta?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 12:28 , Processed in 0.053253 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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