VB软件_模拟逐点比较法逆圆弧插补的程序设计_第1页
VB软件_模拟逐点比较法逆圆弧插补的程序设计_第2页
VB软件_模拟逐点比较法逆圆弧插补的程序设计_第3页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、宿迁学院课程设计说明书设计题目:基于VB数字积分法-、二象限逆圆插补讣算与仿真系(部):机电工程系专业:自动化(数控技术)班级:0 9数控本(2 )姓名:李伟学号:200 9 0 7052指导老师(签名):刘淳起止时间:20 1 2年12月3日至2 0 1 2年 1 2月7日 共1周20 1 2年12月6日正文:数控原理与系统课程设计说明书一、课程设计的目的1)了解连续轨迹控制数控系统的组成原理。2)掌握逐点t匕较法插补的基本原理。3 )握逐点比较法插补的软件实现方法。二.课程设计的任务逐点比较法插补是最简单的脉冲増量式插补算法之一,其过程清晰,速度平 稳,但一般只用于一个平面内两个坐标轴的插

2、补运算。其基本原理是在刀具按要求轨迹运动加工零件轮廓的过程中,不断比较刀具与被加工零件轮廓之间的相对 位置,并根据比较结果决定下一步的进 给方向,使刀具向减小偏差的方向进给, 且只有一个方向的进给。也就是说,逐点 I:匕较法每一步均要比较加工点瞬时坐标 与规定零件轮廓之间的距离,依此决定 下一步的走向。如果加工点走到轮廓外 面去了 ,则下一步要朝看轮廓内部走;如 果加工点处在轮廓的内部,则下一步要 向轮廓外面走,以缩小偏差,这样周而复 始,直至全部结束,从而获得一个非常接 近于数控加工程序规定轮廓的轨迹。逐 点比较法插补过程中的每进给一步都要 经过偏差判别、坐标进给、偏差计算和终点判别四个节拍

3、的处理,其工作流程图 如图所示。三逐点比较法基本原理逐点鼎交法I象限逆圆插补在加工圆弧过程中,人们很容易联想到使用动点到圆心的距离与该圆弧的名 义行鼎交来反映加工偏差。假设被加工零件的轮廓为第I象限逆走向圆弧SE圆心在0(0 , 0 ),半径为 R ,起点为S(XS,YS ),终点为E ( Xe,Ye),圆弧上任意加工动点为N ( X i ,Yi)o 当比较该加工动点到圆心的距离丽与圆弧半径R的大小时,可获得刀具与圆弧 轮廓之间的相对位置关系。当动点N(X i ,Yi)正好落在圆弧上时,则有下式成立Xr +Yt2 =X; +Y =R2当动点N(Xi , Y i )落在圆弧外侧时,则有下式成立X

4、 +Yt2 > X; +Y =R2当动点N ( X i ,Y i )落在圆弧内侧时,则有下式成立x +Y; <X;+y:=R2由此可见,取逐点比较法圆弧插I卜的偏差函数表达式为F = X +Y; -R2当动点落在圆外时,为了减小加工误差,应向圆内进给,即向(-X )轴方向 走一步;当动点落在圆内时,应向圆外进给,即向(+Y )轴方向走一步。当动点正 好落在圆弧上且尚未到达终点时,为了使加工继续下去,理论上向(+Y)轴或(-X) 轴方向进给均可以,但一般情况下约定向(-X)轴方向进给。综上所述,现将逐点比较法第I象限逆圆插补规则概括如下:当F>0时,即"X,2 + X

5、 - " > 0,动点落在圆外则向(-X )轴方向进给一 步;当F二0时,即ex/ +* -用二° ,动点正好落在圆上约定向(-X)轴方向 进给一步;当Fv 0时,即f = xW_r vO,动点落在圆内,则向(+Y)轴方向进给一 步。由偏差函数表达式可知,计算偏差F值,就必须逬行动点坐标、圆弧半径 的平方运算。显然,在用硬件或汇编语言实现时不太方便。为了简化这些计算, 按逐点比较法直线插I卜的思路,也可以推导出逐点比较法圆弧插I卜过程中偏差函 数计算的递推公式。假设第i次插I卜后,动点坐标为N (Xi,Yi),其对应偏差函数为斥=xj+y;2_R2当F i>0,

6、向(-X)轴方向进给一步,则新的动点坐标值为Xi + l=Xi-l, Yi + l=Yi因此,新的偏差函数为岛=X右 + Y-R2= (Xj -1)2 + 冷 _ R2:.2Fi+1= Fi-2Xi+l同理,当F i <0,则向( + Y)轴方向进给一步,则新的动点坐标值为Xi+1 二Xi ,Yi+ l = Yi + l因此,可求得新的偏差函数为"x 右 + 拓一,=x: + 化 + 1尸一,Fi + l = Fi+2Yi + l将上式进行t匕较,可以看出两点不同:第一,递推形式的偏差计算公式中仅有 加/减法以及乘2运算,而乘2可等效成该二进制数左移一位,这显然比平方运算 来得

7、简单。第二,进给后新的偏差函数值与前一点的偏差值以及动点坐标N(Xi,Yi) 均有关系。由于动点坐标值随看插补过程的进行而不断变化,因此,每插补一次,动 点坐标就必须修正一次,以便为下一步的偏差计算作好准备。至此,将第I象限逆 圆弧插补的规则和计算公式汇总,见表(表2-1)第I象限逆圆弧插补计算公式差函数点ma给方向新偏差计算动点坐标修正i>0圆卜或圆外XFFi+i = Fi-2Xi + lXi+1 二 Xi-1 ,Yi+i二 Yii <0圆内YF Fi + *Fi+ 2 Y i+ 1Xi +1 = Xi,Yi + i=Yi+ 1表2-1和直线插补一样,圆弧插补过程也有终点判别问题

8、。当圆弧轮廓仅在一个象限区域内,其终点判别仍可借用直线终点判别的三种方法进行,只是计算公式略 不同。二 | Xe-Xs | +|Ye- Ys|。X=max | Xe - Xs | , |Ye-Ys | Xl=|Xe-Xs| , X2= | Ye-Y s |式中 X S、Ys 被插补圆弧轮廓的起点坐标;b、插补象限和圆弧走向前面所讨论的逐点比较法直线和圆弧插补,均是针对第一象限直线和逆圆插 补这种特定情况进行的。然而,任何数控机床都应具备处理不同象限、不同走向 曲线的能力。四个象限中圆弧插补圆弧插补情况比直线插补复杂,不仅有象限问题,而且还有圆弧走向问题。 现以第I象限顺圆S R 1插补为例,介

9、绍圆弧插补的特性。假设圆弧SE起点为S ( XS , YS),终点为E (Xe, Ye),圆心在坐标原点上。 与逆圆插补相似,当某一时刻动点N ( Xi , Yi )在圆弧的外侧时,有FnO成立, 应向-Y)轴方向进给一步,以减小误差;若动点N(Xi,Yi)在圆弧内侧,则应 向+ X )轴方向进给一步。由此可推导出第I象限顺圆廊卜偏差函数的递推公式 如下:当F40时,向-Y )轴方向进给一步,则新的动点坐标为Xi + 1 二Xi , Yi + l=Yi-l新动点的偏差函数为F® = X 右 +Y-R2= Xf + 化-1)2- R2Fi + l=Fi-2Yj + 1当Fi <

10、0时,向+ X)轴方向进给一步,则新的动点坐标为Xi + 1 二 Xi + 1, Yi + 1= Yi新动点的偏差函数为片+严 X审 + 熄一,=(X” +1)2 + y2_ R2/.Fi + 1= Fi+2Xi + 1现将上式比较,可以看出它们有两点不同:)当Fi>0或Fiv 0时,对应的进给方向不同;2 )插|卜计算公式中动点坐标的修正也不同,以至于偏差计算公式也不相同。进一步还可根据上述方法推导出其他象限不同走向圆弧的插补公式。现将各种相应偏差计算见表(表2-2)四个象限圆弧插补偏差计算与进给方向线型F>0F<0偏差计算坐标迸给偏差计算坐标进给S R1-AY+ AXNR

11、2F-2|Y | +1-F-AYF + 2|X|+1-F-AXSR31 Y|-L|Y|+ AY1 X|+1-|X |-AXNR4+AY+AXNR1-AX+AYSR2F-2 | X|+l-F+AXF+2|Y| + 1-F+ AYNR 3凶 - L 1 X|+ AX|Y| + L|Y |-AYSR4-AX-AY表2-2从表可以看出,当按第I象限逆圆NR1进行插补运算时,现若有意将X轴进 给反向测可以走出第II象限顺圆S R2来;或者若将Y轴进给反向,则可以走出 SR4来;或者将X轴和Y轴的进给均反向,则可以走出NR3来;并且这四种线型 (NR1、SR2、NR3、SR4)使用的偏差计算公式都相同,无

12、须改变。进一步还可以看出,当按第I象限逆圆NR1线型插补时,现若将计算公式 坐标X与Y对调,即把X当作Y ,把Y当作X,那么就可得到S R1的走向。类 似地通过改变进给方向,利用SR1的公式就可获得其余三种线型(N R 2、S R3、 NR4 )的走向。下面,我们对圆弧逐点比较法作一个简要的介绍。四算法描述(逐点比较法在VB中的具体实现)根据上述基本原理,我们可以知道逐点比较法圆弧廊卜需要设置两个终点计器JIX=|Xe - Xs和恵Y二|Ye - Ys|,分别对X轴和Y轴进行终点监控。每当X轴或Y轴产生一个溢出脉冲,相应的终点计数器就作减1修正,直到为零,表明该坐标已到终点,并停止其坐标的累加

13、运算。只有当两个坐标轴均到达终点 时,圆弧插|卜才结束。乙二8<二6<人'Z= 6 X=1+£ * Z -8=6 dX-0<8=8d6=WZ=8ZS=8AfE二8X8=I+V 早乙 + I -=8d人+0>l- = Zd8t7=l-9Z = ZZV二 Lk'£二上X二【+如乙-9二ZJXv-0<9= 9dLS = l-SZ=9Z歼9 人方二9X9 二 1 +£ * 乙+ 1 -二9入+0>1 -二ST99=I-tzZ=SZ£=S 人'方二SX1-=1+乙¥乙+ 9 -二S人P +0&g

14、t;9HSA=l-SZ=izZ乙二以9-=1+1+6 -人+0>6-二£ dV8=I-Z=£l二£ 人X£X6-二 1+0忆+0二 £人+0> 0二乙£6=l-lZ=?Z0二乙人方二乙X01-= 1+(1-) *乙 + 6-二乙入+0> 6-二【dZ0二6i=i-oZ= iZI 人 P =IX-二 1 +S * 3-0=ldx-0=0dIn = oZ1-=0A ' S 二0X0=0dW44W®BF写兩nsfrfw®BW申二篦田一焉日M工39 二 510F9 二 3>0-“XF 10=

15、3-2*2+ 1 二0X10 二l,Y10=5110=19 - 1二 111F10 二 0-次F 1 1=0 - 2*1+1 =-1xn 二 0 ,Y11二 5Ill =110 -1 = 0根据上述基本原理以及对预V B软件编程的拿握,查阅参考相关文献资料,编制了本课程设计的程序。Pr i va t e Sub Command 1_C 1 i ck()D im r As S ing 1 e , X As I n t e ger, Y As Intege r, c A s I n t e g e r , d A s In t eger, a A s S ingle, b As Sin g 1 e

16、 , pi As Single, m As In tege r , n AsI ntegerX = Int(Te x t 1)Y = In t (Texc = I n t (T e xt3)d = Int(Tex t 4)a = At n (A b s (Y / X)b = Atn( A bs(d / c)pi= 3. 14 1 59265m = X *X + Y *Yn = c * c + d *dPict urel. ForeC o 1 o r = vbB 1 ac kPict u re 1 .D r awWi d th = 2I f O p tionl Valuc= True Th e

17、nI f X <= 0 Or Y < 0 O r c<=0 Or d <OOrm <> nThe nPrint Msg B o x("非法数据! ",4& "提示信息”)Els ePic turel.Line (5 00,5 0 0 )-( 500. 6 500)Pic t u rel.L i ne (5 00. 6500)-(5 5 0 0, 6 5 0 0)Picture 1. L i ne (5 4 00, 6 5 30)-(5 5 0 0,6 5 0 0)Pi c t ure 1 .Line(5400, 64 7

18、 0)- ( 5 500. 6500)Pictur e l.Line (5 3 0, 60 0 )(5 00,500)Pict urel.Lin6(470,600 )-(5 00,5 0 0 )Pict u re 1 .F o r e C olor = vbR e dPi c turel.D r awWidth = 5Sq r (X* X + Y* Y)*400P i ctur e l.Cir c le (500. 650 0 ), r, a , bEnd IfEls e If Option 2 . Va 1 u e = True The nI f X >= 0 Or Y< 0 O

19、rc>= 0 Ord <0 Or m <> n The nPrin t Msg Box ("非法数据! ”, 4 & ”提示信息")E I sePic t u rel.L i n e (550 0,50 0 ) -(5500. 6 500) Picture 1 .Line ( 5 0 0, 6 5 00) -(57 0 0, 65 0 0) Pic t ure 1 .Line (5 6 00,6530) - ( 5700, 6500)Pic t ure 1 Line (5 6 0 0. 6470)-( 5 700. 6500) Pict ur

20、el Lin e (553 0 ,600)-(5 5 0 0, 5 00)Pict urel. L i ne (5470, 600)-(5500, 500) Pic t ur e l.Fo r eColor = vbRe dPictu r el. D r a wW i dt h = 5 r= Sqr(X * X + Y* Y) * 4 0 0Pi c turel.C i rcle (5500,650 0), r, , pi a. pi bEnd 1 fEnd 1 fE nd SubP r i vat e S ub Com man d 2_C1 i ck()Dim kt mJ, 1, n, F(

21、3 0 ), X(30), Y( 3 0) As Integer, a As I nte ger, b As Integer, c As In t eger» d A s In t egera= Int(Textl)b = I nt(T e x t 2)c = I nt (Tex t 3)d = I nt (Tex t4)m = 01 = 0k = 0F (m) = 0X (m) = aY(m) = bP i cture 1.ForeColor = vbG r e e nPi c ture 1 DrawWidth = 3j = Abs(Abs ( a ) - A b s(c)+ A

22、bs(Abs(b) - Abs ( d )Forml.Curre n tX = 200Form 1. Curre niY =200P rint 初始 M , ”进给方向 M F(0)= 0 M X(0) =”& I m(T e xtl),H Y(0)=H& I n t (Tex t 2 ) Xe = M & I n t (Tc x t 3 )Ye = n & Int(Tex t 4), H ZI f O p t i o n 1. V alue = T r ue Then Forn = 1 To jI f F (m) >= 0 And j >0 The

23、nm = m + 11 = 1 4- 1F(m) = F(m - 1) 2 Abs(X (m - 1) )+ 1X (m) = X(m - 1) - 1Y(m) = Y (m -1)Pic t urel.Line (500 + 400* (a - 1), 65 00-400*(b + k)-(50 0+ 4 00 *(a- 1+ 1), 6 500- 400* (b+ k)Forml Cu r r e ntX = 200Form 1 Curr entY =20 0+ ni * 30 0P r i nt '第” & m & ”步 J 11 -AX ”F (M &

24、m & ” )=M & F(m), K X C & m & H)=H & X (m) , H Y(H & m & H)=H & Y ( m)Xe = H & In t (Text 3 ), H Ye = H & Int(Tcx( 4), H E = M & j nElsek = k + 1m = m+ 1F(m) = F(m 1) + 2* A b s(Y(ml) +1Y(m) = Y(m I)+ 1X (m) = X(m 一 1)P ict u r e 1. Line (50 0 + 400*0 *(a

25、一 1 ), 6500 - 400 * (b +Form 1.Cur r en t X = 200Form l.Cur r entY = 200 + Print "第” & m m & H)=H & 3), " Ye =End If Next n(a -I) , 650 0 -400* (b + k) )-(50 0 +40 k-D)& "步 M ,H X(m) , H ”& Int(Tcxt4),m * 300+ AYY (M & m叮& m &X & F(m ) , M X ( M &am

26、p; i & n) =n & Y (m) , H Xe = H & I n t (Text L =N&j- n; H MEls e I f Opti o n2.V a lue = True Then For n = 1 TojI f F(m) >= 0 Andj > OTh e nm = m + 1k = k+ 1F(m)= F(m - 1) 2* Abs (Y (m - 1) + 1X(m) = X(m 1)Y(m) = Y (m - 1) - 1Pict urel.Line (5 500+ 40 0 * (a-I) , 65 0 0 -4 00

27、* (b - k + 1 )-(5 5 00 + 400* (a- I),6 500- 4 00 *(b- k)Form 1 .Curren t X = 200Forml.CurrentY = 2 0 0+ m * 300Pr i nt "第” & m & ”步",v -AY MF(H & m & 0 )=H & F(m), H X (M & m & H)=n & X(m), H YC & m & M) = H & Y (m), " Xe =”& Int(Te x,M

28、Ye = ”& Int(Te x 14) L = M & j nE I se1= 1 + 1m = m + 1F (m) = F(m 1) + 2 * Ab s (X(m 1)+ 1Y(m) = Y(m - 1)X (m) = X(m -1)1P i ctu rel.Line (55 0 0 + 400 * (a - I) , 6500 - 400 * (b - k ) >(5500 + 4 00*(a -1 + 1 ), 6500 - 4 0 0 * ( b - k)Forml.Cu r r e n t X = 200Forml.Cu r r e ntY = 2 0 0

29、 + m * 300Print M 第” & m & ”步”,” -AX ”,M F(M & m & M)=u & F (m),u X(n & m & ”)=M & X(m), ” Y(“ & m & X & Y(m), ” X e i & Int(Text3), n Ye = M & In t (Text4), ” £ =" & jnEnd I fNext nEnd IfEnd SubPri v a te Sub Command3_C 1 ick()Textl.Tex t =,MTex t 2 .T e xt = ,M,Tex t 3 .Te x t = ,H,Tex t4.Text =,H,Pi c turel.CIsFo r m 1 .Cl sEn d Su b六、各象限选例展示r »-»ro莎 ft ?C0A07052j6* A园Mo J ®园创3? T5Hi ©聽客令 钙处七0.0l!S36O x I1S20o文件e工脛也 枯式g 胆 运行cs憲xaqj刘接程序 也口电)嘶世)B®_|O_妙工用1 (123如)PsS <F«rr»! fr»)F*r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论