2022年VB软件模拟逐点比较法逆圆弧插补的程序设计方案.docx

上传人:Che****ry 文档编号:12803305 上传时间:2022-04-26 格式:DOCX 页数:17 大小:347.75KB
返回 下载 相关 举报
2022年VB软件模拟逐点比较法逆圆弧插补的程序设计方案.docx_第1页
第1页 / 共17页
2022年VB软件模拟逐点比较法逆圆弧插补的程序设计方案.docx_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《2022年VB软件模拟逐点比较法逆圆弧插补的程序设计方案.docx》由会员分享,可在线阅读,更多相关《2022年VB软件模拟逐点比较法逆圆弧插补的程序设计方案.docx(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、宿 迁 学 院课 程 设 计 说 明 书设计题目 :基于 VB数字积分法一、二象限逆圆插补运算与仿真系 部:机电工程系专 业:自动化(数控技术)班 级:09数控本( 2) 姓 名:李伟学 号:202107052指导老师(签名):刘萍起止时间: 2021 年 12 月 3 日至 2021 年 12 月 7 日共 1 周正文:20 12 年 12 月 6 日数控原理与系统课程设计说明书一、课程设计的目的1)明白连续轨迹掌握数控系统的组成原理;2 把握逐点比较法插补的基本原理; 3)握逐点比较法插补的软件实现方法;二课程设计的任务逐点比较法插补是最简洁的脉冲增量式插补算法之一,其过程清楚,速度平稳,

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

3、个节拍的处理,其工作流程图如下列图;三.逐点比较法基本原理逐点比较法 I象限逆圆插补在加工圆弧过程中,人们很简洁联想到使用动点到圆心的距离与该圆弧的名义半径进行比较来反映加工偏差;假设被加工零件的轮廓为第象限逆走向圆弧 SE,圆心在 O( 0,0),半径为R,起点为 S( XS, YS),终点为 E(Xe ,Ye),圆弧上任意加工动点为N( Xi, Yi);当比较该加工动点到圆心的距离ON 与圆弧半径 R的大小时,可获得刀具与圆弧轮廓之间的相对位置关系;当动点N(Xi ,Yi)正好落在圆弧上时,就有下式成立XYXYR22222iiee当动点N(Xi ,Yi)落在圆弧外侧时,就有下式成立XYXY

4、R22222iiee当动点N(Xi ,Yi)落在圆弧内侧时,就有下式成立XYXYR22222iiee由此可见,取逐点比较法圆弧插补的偏差函数表达式为XY222FiiR当动点落在圆外时,为了减小加工误差,应向圆内进给,即向X轴方向走一步;当动点落在圆内时,应向圆外进给,即向Y轴方向走一步;当动点正好落在圆弧上且尚未到达终点时,为了使加工连续下去,理论上向+Y轴或X轴方向进给均可以,但一般情形下商定向 X轴方向进给;综上所述,现将逐点比较法第象限逆圆插补规章概括如下:2当F0时,即 FX i22YRi 0,动点落在圆外,就向 X 轴方向进给一步;X2当F0时,即 Fi22YRi=0 ,动点正好落在

5、圆上,商定向 X轴方向进给一步;X2当F0时,即 Fi22YRi 0,动点落在圆内,就向 轴方向进给一步;由偏差函数表达式可知,运算偏差 F值,就必需进行动点坐标、圆弧半径的平方运算;明显,在用硬件或汇编语言实现时不太便利;为了简化这些计 算,按逐点比较法直线插补的思路,也可以推导出逐点比较法圆弧插补过程中偏差函数运算的递推公式;假设第i次插补后,动点坐标为 N(Xi ,Yi),其对应偏差函数为Y2R22FiX ii当Fi0,向X轴方向进给一步,就新的动点坐标值为Xi1=Xi 1, Yi 1=YiY2R22因此,新的偏差函数为Fi 122Y2RXi 1i 1X i1iFi 1=Fi 2Xi 1

6、同理,当 Fi 0,就向轴方向进给一步,就新的动点坐标值为Xi1=Xi , Yi 1=Yi 1X222因此,可求得新的偏差函数为Fi 122Y2RXi 1i 1iYi1RFi 1=Fi 2Yi 1将上式进行比较,可以看出两点不同:第一,递推形式的偏差运算公式中 仅有加/减法以及乘 2运算,而乘 2可等效成该二进制数左移一位,这明显比平方运算来得简洁;其次,进给后新的偏差函数值与前一点的偏差值以及动点坐标N( Xi,Yi)均有关系;由于动点坐标值随着插补过程的进行而不断变化,因此,每插补一次,动点坐标就必需修正一次,以便为下一步的偏差运算作好准备;至此,将第象限逆圆弧插补的规章和运算公式汇总,见

7、表(表2-1 ) 第象限逆圆弧插补运算公式新动差函数 点位置给方向偏差运算点坐标修正i0圆上或圆外 XFFi 1Fi 2Xi1Xi1Xi1,Yi1Yii0圆内YF Fi 1Fi2Y i1Xi1Xi,Yi1Yi1表2-1和直线插补一样,圆弧插补过程也有终点判别问题;当圆弧轮廓仅在一个象限区域内,其终点判别仍可借用直线终点判别的三种方法进行,只是运算公式略不同;|Xe Xs|Ye Ys|max|Xe Xs|,|Ye Ys|1|Xe Xs|,2 |Ye Ys|式中 XS 、Ys 被插补圆弧轮廓的起点坐标;Xe、Ye 被插补圆弧轮廓的终点坐标;b、插补象限和圆弧走向前面所争论的逐点比较法直线和圆弧插补

8、,均是针对第一象限直线和逆圆插补这种特定情形进行的;然而,任何数控机床都应具备处理不同象限、不同走向曲线的才能;四个象限中圆弧插补圆弧插补情形比直线插补复杂,不仅有象限问题,而且仍有圆弧走向问题;现以第象限顺圆SR1 插补为例,介绍圆弧插补的特性;假设圆弧 SE起点为S( XS,YS),终点为 E(Xe,Ye),圆心在坐标原点上;与逆圆插补相像,当某一时刻动点N(Xi, Yi)在圆弧的外侧时,有 F 0成立,应向 Y 轴方向进给一步,以减小误差;如动点N(Xi, Yi)在圆弧内侧,就应向 X轴方向进给一步;由此可推导出第象限顺圆插补偏差函数的递推公式如下:当Fi0时,向Y轴方向进给一步,就新的

9、动点坐标为Xi1Xi, Yi1Yi1X222新动点的偏差函数为Fi 1222XYRi 1i 1iYi1RFi1Fi2Yi 1当Fi0时,向X轴方向进给一步,就新的动点坐标为Xi1Xi 1, Yi1YiY2R22新动点的偏差函数为Fi 1222XYRi 1i 1X i1iFi1Fi 2Xi 1现将上式比较,可以看出它们有两点不同:1)当Fi0或Fi 0时,对应的进给方向不同;2)插补运算公式中动点坐标的修正也不同,以至于偏差运算公式也不相同;进一步仍可依据上述方法推导出其他象限不同走向圆弧的插补公式;现将各种相应偏差运算见表(表 2-2 )四个象限圆弧插补偏差运算与进给方向线型F0偏差运算坐标进

10、给F0偏差运算坐标进给SR1YXNR2F 2|Y| 1FYF2|X| 1 FXSR3NR4|Y| 1|Y|YY|X|1|X|XXNR1SR2F 2|X| 1FXXF2|Y| 1 FYYNR3SR4|X| 1|X|XX|Y|1|Y|YY表 2-2从表可以看出,当按第象限逆圆 NR1 进行插补运算时,现如有意将X 轴进给反向,就可以走出第象限顺圆 SR2 来;或者如将 Y 轴进给反向,就可以走出 SR4 来;或者将 X 轴和 Y 轴的进给均反向,就可以走出 NR3 来;并且这四种线型( NR1 、SR2 、NR3 、SR4 )使用的偏差运算公式都相同,无须改变;进一步仍可以看出,当按第象限逆圆 N

11、R1 线型插补时,现如将运算公式坐标X 与 Y 对调,即把 X 当作 Y,把 Y 当作 X,那么就可得到 SR1 的走向;类似地通过转变进给方向,利用 SR1 的公式就可获得其余三种线型( NR2 、SR3 、NR4 )的走向;下面,我们对圆弧逐点比较法作一个简要的介绍;四算法描述(逐点比较法在VB 中的详细实现)依据上述基本原理,我们可以知道逐点比较法圆弧插补需要设置两个终点计器 JX |Xe Xs| 和 JY|Ye - Ys| ,分别对 X 轴和 Y 轴进行终点监控;每当 X 轴或 Y 轴产生一个溢出脉冲,相应的终点计数器就作减 1 修正,直到为零,说明该坐标已到终点,并停止其坐标的累加运

12、算;只有当两个坐标轴均到达终点时,圆弧插补才终止;点( -1,4),且寄存器位数 N3,当插补开头时,被积函数寄存器初值分别为JVX Ys-1 和 JVY Xs 4,终点判别寄存器 JX |Xe Xs| -1 和 JY|Ye - Ys| 5.该圆弧插补运算过程如下表所示,插补轨迹如下图折线所示;工作节拍第一拍其次拍第三拍第四拍序号偏差判别坐 标 进偏差运算坐标修改终点判别如下图所示,圆弧起点S(4,-1),终给起点F0=0X0=5,Y0=-10=111F0=0-XF1=0-2*5+1=-9X1=4,Y1=-11= 0-1=102F1=-90+YF2=-9+2*-1+1=- 10X2=4,Y2=

13、02= 1-1=93F2=-100+YF3=-10+2*0+1=-9X3=4,Y3=13= 2-1=84F3=-90+YF4=-9+2*1+1=-6X4=4,Y4=24= 3-1=75F4=-60+YF5=-6+2*2+1=-1X5=4,Y5=35= 4-1=66F5=-10-XF7=6-2*4+1=-1X7=3,Y7=47= 6-1=48F7=-10-XF9=8-2*3+1=3X9=2,Y9=59= 8-1=210F9=30-XF10=3-2*2+1=0X10=1,Y10=510= 9-1=111F10=0-XF11=0-2*1+1=-1X11=0,Y11=511= 10-1=0依据上述基本

14、原理以及对预VB 软件编程的把握,查阅参考相关文献资料,编制了本课程设计的程序;Private Sub Command1_ClickDim r As Single, X As Integer, Y As Integer, c As Integer, d As Integer, a As Single, b As Single, pi As Single, m As Integer, n As IntegerX = IntText1 Y = IntText2 c = IntText3 d = IntText4a = AtnAbsY / Xb = AtnAbsd / c pi = 3.141592

15、65m = X * X + Y * Y n = c * c + d * dPicture1.ForeColor = vbBlack Picture1.DrawWidth = 2If Option1.Value = True ThenIf X = 0 Or Y 0 Or c = 0 Or d 0 Or m n Then Print MsgBox 非法数据 ., 48, 提示信息 ElsePicture1.Line 500, 500-500, 6500Picture1.Line 500, 6500-5500, 6500Picture1.Line 5400, 6530-5500, 6500Pictu

16、re1.Line 5400, 6470-5500, 6500Picture1.Line 530, 600-500, 500Picture1.Line 470, 600-500, 500Picture1.ForeColor = vbRed Picture1.DrawWidth = 5r = SqrX * X + Y * Y * 400Picture1.Circle 500, 6500, r, , a, b End IfElseIf Option2.Value = True ThenIf X = 0 Or Y = 0 Or d 0 Or m n Then Print MsgBox 非法数据 .,

17、48, 提示信息 ElsePicture1.Line 5500, 500-5500, 6500Picture1.Line 500, 6500-5700, 6500Picture1.Line 5600, 6530-5700, 6500Picture1.Line 5600, 6470-5700, 6500Picture1.Line 5530, 600-5500, 500Picture1.Line 5470, 600-5500, 500Picture1.ForeColor = vbRed Picture1.DrawWidth = 5r = SqrX * X + Y * Y * 400Picture1

18、.Circle 5500, 6500, r, , pi - a, pi - b End IfEnd IfEnd SubPrivate Sub Command2_ClickDim k, m, j, l, n, F30, X30, Y30 As Integer, a As Integer, b As Integer, c As Integer, d As Integera = IntText1 b = IntText2 c = IntText3 d = IntText4 m = 0l = 0k = 0Fm = 0Xm = aYm = bPicture1.ForeColor = vbGreen Pi

19、cture1.DrawWidth = 3j = AbsAbsa - Absc + AbsAbsb - Absd Form1.CurrentX = 200Form1.CurrentY = 200Print 初始 , 进给方向 , F0=0, X0 = & IntText1, Y0= & IntText2, Xe = & IntText3, Ye = & IntText4, = & jIf Option1.Value = True Then For n = 1 To jIf Fm = 0 And j 0 Then m = m + 1l = l + 1Fm = Fm - 1 - 2 * AbsXm

20、- 1 + 1 Xm = Xm - 1 - 1Ym = Ym - 1Picture1.Line 500 + 400 * a - l, 6500 - 400 * b + k-500 + 400 * a - l + 1, 6500 - 400 * b+ kForm1.CurrentX = 200 Form1.CurrentY = 200 + m * 300Print 第 & m & 步, - X, F & m & = & Fm, X & m & = & Xm, Y& m & = & Ym, Xe = & IntText3, Ye = & IntText4, = & j - nElsek = k +

21、 1 m = m + 1Fm = Fm - 1 + 2 * AbsYm - 1 + 1 Ym = Ym - 1 + 1Xm = Xm - 1Picture1.Line 500 + 400 * a - l, 6500 - 400 * b + k-500 + 400 * a - l, 6500 - 400 * b + k - 1Form1.CurrentX = 200Form1.CurrentY = 200 + m * 300Print 第 & m & 步, + Y, F & m & = & Fm, X & m & = & Xm, Y& m & = & Ym, Xe = & IntText3, Y

22、e = & IntText4, = & j - n ; End IfNext nElseIf Option2.Value = True Then For n = 1 To jIf Fm = 0 And j 0 Then m = m + 1k = k + 1Fm = Fm - 1 - 2 * AbsYm - 1 + 1 Xm = Xm - 1Ym = Ym - 1 - 1Picture1.Line 5500 + 400 * a - l, 6500 - 400 * b - k + 1-5500 + 400 * a - l, 6500 - 400 *b - k Form1.CurrentX = 20

23、0Form1.CurrentY = 200 + m * 300Print 第 & m & 步, - Y, F & m & = & Fm, X & m & = & Xm, Y & m & = & Ym, Xe = & IntText3, Ye = & IntText4, = & j - nElsel = l + 1m = m + 1Fm = Fm - 1 + 2 * AbsXm - 1 + 1 Ym = Ym - 1Xm = Xm - 1 - 1Picture1.Line 5500 + 400 * a - l, 6500 - 400 * b - k-5500 + 400 * a - l + 1,

24、 6500 - 400 * b- kForm1.CurrentX = 200 Form1.CurrentY = 200 + m * 300Print 第 & m & 步, - X, F & m & = & Fm, X & m & = & Xm, Y& m & = & Ym, Xe = & IntText3, Ye = & IntText4, = & j - n End IfNext n End If End SubPrivate Sub Command3_Click Text1.Text = Text2.Text = Text3.Text = Text4.Text = Picture1.Cls Form1.Cls End Sub六、各象限选例展现一 参考文献【1】汪木兰主编 .数控原理与系统 .机械工业出版社, 2004【2】李金泽主编 .基于 VisualBasic 编程软件的数控插补运算与设计方法 .机械工业出版社, 2007 年

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁