ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:926.80KB ,
资源ID:8325942      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8325942.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字积分圆弧第一二三四象限顺逆插补计算.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数字积分圆弧第一二三四象限顺逆插补计算.docx

1、数字积分圆弧第一二三四象限顺逆插补计算数 控 技 术 课 程 设 计 说 明 书 设计题目:数字积分法圆弧插补计软件设计指导老师: 专 业: 机械设计制造及其自动化 班 级: 机 姓 名: 学 号: 一、课程设计题目 1二、课程设计的目的 1三、课程设计使用的主要仪器设备 1四、课程设计的任务题目描述和要求 1五、数字积分法插补原理 25.1从几何角度来看积分运算 25.2数字积分圆弧插补 35.3数字积分法圆弧插补程序流程图 55.4插补实例 6六、程序清单 7七、软件运行效果仿真 18八、课程小节 21九、参考文献 22一、课程设计题目 数字积分法第一、二、三、四象限顺、逆圆插补计算二、课

2、程设计的目的数控原理与系统是自动化数控专业的一门主要专业课程,安排课程设计的目的是通过课程设计方式使学生进一步掌握和消化数控原理基本内容,了解数控系统的组成,掌握系统控制原理和方法,通过设计与调试,掌握各种功能实的现方法,为今后从事数控领域的工作打下扎实的基础。1)了解连续轨迹控制数控系统的组成原理。2) 掌握数字积分法DDA插补的基本原理。3掌握数字积分法DDA插补的软件实现方法。三、课程设计使用的主要仪器设备1、PC电脑一台 2、数控机床实验装置一台3、支持软件假设干选用VB环境四、课程设计的任务题目描述和要求数字积分法又称数字微分分析法DDA(Digital Differential A

3、nalyzer)。数字积分法具有运算速度快、脉冲分配均匀、易于实现多坐标联动及描绘平面各种函数曲线的特点,应用比较广泛。其缺点是速度调节不便,插补精度需要采取一定措施才能满足要求。由于电脑有较强的计算功能和灵活性,采用软件插补时,上述缺点易于克服。本次课程设计具体要求如下:1掌握数字积分插补法基本原理2设计出数字积分DDA插补法插补软件流程图3编写出算法程序清单算法描述数字积分法算法在VB中的具体实现 4要求软件能够实现第一、二、三、四象限顺、逆圆插补计算5软件运行仿真效果 插补结果要求能够以图形模式进行输出五、数字积分法插补原理 数字积分法又称数字积分分析法DDA(Digital diffe

4、rential Analyzer),简称积分器,是在数字积分器的基础上建立起来的一种插补算法。具有逻辑能力强的特点,可实现一次、两次甚至高次曲线插补,易于实现多坐标联动。只需输入不多的几个数据,就能加工圆弧等形状较为复杂的轮廓曲线。直线插补时脉冲较均匀。并具有运算速度快,应用广泛等特点。 5.1从几何角度来看积分运算如下列图所示,从时刻到t求函数曲线所包围的面积时,可用积分公式表示,如果将0t的时间划分成时间间隔为的有限区间,当足够小时,可得近似公式 :假设t 取“1”,上式简化为: 这种累加求和运算,即积分运算可用数字积分器来实现,假设求曲线与坐标轴所包围的面积,求解过程如下:被积函数寄存器

5、用以存放Y值,每当t 出现一次,被积函数寄存器中的Y值就与累加器中的数值相加一次,并将累加结果存于累加器中,如果累加器的容量为一个单位面积,则在累加过程中,每超过一个单位面积,累加器就有溢出。当累加次数到达累加器的容量时,所产生的溢出总数就是要求的总面积,即积分值。被积函数寄存器与累加器相加的计算方法:例:被积函数寄存器与累加器均为3位寄存器,被积函数为5,求累加过程。 101 101 101 101+000 +101 +010 +111 101 010 111 100 101 101 101 101+ 100 +001 +110 + 011 001 110 011 000经过2 = 8次累加

6、完成积分运算,因为有5次溢出,所以积分值等于5。5.2数字积分圆弧插补圆心为坐标原点的圆弧方程式为: 可得圆的参数方程为: 对t 微分得、方向上的速度分量为: 用累加器来近似积分为:如下图,设加工半径为R的第一象限逆时针圆弧AB,坐标原点定在圆心上,A(Xo,Yo)为圆弧起点,B(Xe,Ye)为圆弧终点,Pi(Xi,Yi)为加工动点。如下列图所示,可以得到:VR = VxYi = VyXi = K即Vx=K Yi,Vy=K Xi 因而可以得到坐标微小位移增量为: X=Vxt = KYit Y=Vyt = KXit 设t=1,K=1/2 则有:可看出,用DDA法进行圆弧插补时,是对加工 动点的坐

7、标Xi和Yi的值分别进行累加,假设积分累加器有溢出,则相应坐标轴进给一步,则圆弧积分插补器如下图:5.3数字积分法圆弧插补程序流程图DDA法插补不同象限圆弧时,算法也有所不同。当采用软件插补时,如果参与积分运算的寄存器均采用绝对值数据,则DDA法插补的积分累加过程完全相同,即JRJVJR,只是进给脉冲分配方向和圆弧插补动点坐标的修正有所不同。设有第象限逆圆弧SE,起点为S4,0,终点为E0,4,且寄存器位数N=3。试用DDA法对该圆弧进行插补,并画出插补轨迹。解:插补开始时,被积函数寄存器初值分别为JVXYS0,JVYXS4,终点判别寄存器JSX|XeXS|4,JSY|YeYS|4。该圆弧插补

8、运算过程见下表,插补轨迹如下列图所示的折线。六、程序清单Private Sub 建立坐标系_Click()Picture1.ForeColor = vbBlackPicture1.DrawWidth = 2Picture1.Line (500, 4500)-(8500, 4500) 画直线坐标轴Picture1.Line (4500, 500)-(4500, 8500)Picture1.CurrentX = 230 当前位置Picture1.CurrentY = 4400Picture1.Print -X 坐标轴标注Picture1.CurrentX = 4300Picture1.Curren

9、tY = 4300Picture1.Print (0,0)Picture1.CurrentX = 8650Picture1.CurrentY = 4400Picture1.Print XPicture1.CurrentX = 4400Picture1.CurrentY = 8600Picture1.Print -YPicture1.CurrentX = 4500Picture1.CurrentY = 400Picture1.Print YEnd SubPrivate Sub 画圆弧_Click()Dim a, b, c, d, n, m As IntegerDim r As Singlea =

10、 Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)d = Val(Text4.Text)n = a * a + b * bm = c * c + d * dr = Sqr(n)If Option1.Value = True Then If a 0 Or b 0 Or c 0 Or d 0 Or b 0 Or d 0 Or b 0 Or c 0 Or d 0 Then ans = MsgBox(出错了,起点、终点坐标不在同一象限内,请重新输入, 48, 提示信息) End IfEnd IfIf Option4.Value = True T

11、hen If a 0 Or c 0 Then ans = MsgBox(出错了,起点、终点坐标不在同一象限内,请重新输入, 48, 提示信息) End IfEnd IfPicture1.ForeColor = vbRedPicture1.DrawWidth = 4If Option1.Value = True Then If a c And b d Then If Option1.Value = True Then If b = 0 Then If c = 0 Then Picture1.Circle (4500, 4500), r * 300, , 0 * 3.14159, 3.14159

12、/ 2 Else Picture1.Circle (4500, 4500), r * 300, , 0 * 3.14159, 3.14159 / 2 - Atn(d / c) End If ElseIf c = 0 Then Picture1.Circle (4500, 4500), r * 300, , Atn(b / a), 3.14159 / 2 Else Picture1.Circle (4500, 4500), r * 300, , Atn(b / a), 3.14159 / 2 - Atn(d / c) End If End If ElseIf a d Then If Option

13、1.Value = True Then If a = 0 Then If d = 0 Then Picture1.Circle (4500, 4500), r * 300, , 0 * 3.14159, 3.14159 / 2 Else Picture1.Circle (4500, 4500), r * 300, , Atn(d / c), 3.14159 / 2 End If ElseIf d = 0 Then Picture1.Circle (4500, 4500), r * 300, , 0 * 3.14159, Atn(b / a) Else Picture1.Circle (4500

14、, 4500), r * 300, , Atn(d / c), Atn(b / a) End If End If Else ans = MsgBox(出错了,起点或终点坐标位置错误,请重新输入, 48, 提示信息) End If End If If Option2.Value = True Then If a c And b d Then If Option2.Value = True Then If a = 0 Then If d = 0 Then Else Picture1.Circle (4500, 4500), r * 300, , 3.14159 / 2, 3.14159 - Atn

15、(-d / c) End If ElseIf d = 0 Then Else End If End If ElseIf a c And b d Then If Option2.Value = True Then If b = 0 Then If c = 0 Then Else End If ElseIf c = 0 Then Picture1.Circle (4500, 4500), r * 300, , 3.14159 / 2, 3.14159 - Atn(-b / a) Else Picture1.Circle (4500, 4500), r * 300, , Atn(-c / d), 3

16、.14159 - Atn(-b / a) End If End If Else ans = MsgBox(出错了,起点或终点坐标位置错误,请重新输入, 48, 提示信息) End If End If If Option3.Value = True Then If a d Then If Option3.Value = True Then If b = 0 Then If c = 0 Then Picture1.Circle (4500, 4500), r * 300, , 3.14159, 3 * 3.14159 / 2 Else End If ElseIf c = 0 Then Pictur

17、e1.Circle (4500, 4500), r * 300, , Atn(b / a) + 3.14159, 3 * 3.14159 / 2 Else End If End If ElseIf a c And b d Then If Option3.Value = True Then If a = 0 Then If d = 0 Then Picture1.Circle (4500, 4500), r * 300, , 3.14159, 3 * 3.14159 / 2 Else Picture1.Circle (4500, 4500), r * 300, , 3.14159 + Atn(d

18、 / c), 2 * 3.14159 / 2 End If ElseIf d = 0 Then Picture1.Circle (4500, 4500), r * 300, , 3.14159, 3 * 3.14159 / 2 - Atn(a / b) Else Picture1.Circle (4500, 4500), r * 300, , Atn(d / c) + 3.14159, 3 * 3.14159 / 2 - Atn(a / b) End If End If Else ans = MsgBox(出错了,起点或终点坐标位置错误,请重新输入, 48, 提示信息) End If End

19、If If Option4.Value = True Then If a c And b c And b d Then If Option4.Value = True Then If b = 0 Then If c = 0 Then Else End If ElseIf c = 0 Then Picture1.Circle (4500, 4500), r * 300, , 3 * 3.14159 / 2, -Atn(-b / a) Else Picture1.Circle (4500, 4500), r * 300, , 3 * 3.14159 / 2 + Atn(-c / d), -Atn(

20、-b / a) End If End If Else ans = MsgBox(出错了,起点或终点坐标位置错误,请重新输入, 48, 提示信息) End If End IfEnd SubPrivate Sub 插补计算_Click()Dim a, b, c, d, ni, mi, ai, bi, ci, k, f, g, m, n, l, i, xs, yx, xe, ye, jvx, jvy, xi, yi As IntegerDim r As Singlea = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)d = Val(Tex

21、t4.Text)ni = a * a + b * bmi = c * c + d * dr = Sqr(ni)If Option1.Value = True Then If a 0 Or b 0 Or c 0 Or d 0 Or b 0 Or d 0 Or b 0 Or c 0 Or d 0 Then ans = MsgBox(出错了,起点、终点坐标不在同一象限内,请重新输入, 48, 提示信息) End IfEnd IfIf Option4.Value = True Then If a 0 Or c 0 Then ans = MsgBox(出错了,起点、终点坐标不在同一象限内,请重新输入,

22、48, 提示信息) End IfEnd Ifci = 2f = 1g = 1k = 0 正X进给标志 1 正向 -1负向m = 0 负Y进给标志 1 正向 -1负向n = 0 累加次数i = CInt(Text5) 寄存器位数赋给il = 2 ixs = CInt(Text1)ys = CInt(Text2)xe = CInt(Text3)ye = CInt(Text4)jvx = Abs(CInt(Text2)jvy = Abs(CInt(Text1)jrx = 0jry = 0xi = Abs(CInt(Text3) - CInt(Text1) X方向总步yi = Abs(CInt(Tex

23、t4) - CInt(Text2) Y方向总步长ai = xsbi = ysPicture1.ForeColor = vbGreenPicture1.DrawWidth = 3form1.CurrentX = 200form1.CurrentY = 200Print & X积分器 & Y 积分器 form1.CurrentX = 100form1.CurrentY = 400Print 累加次数 n & jvx & Jrx=Jrx+Jvx & X & Jx & Jvy & Jry=Jry+Jvy & Y & Jy form1.CurrentX = 100form1.CurrentY = 600

24、Print 开始 & & jvx & & jrx & & k & & xi & & jvy & & jry & & m & & yiwz: k = 0 X方向进给标志 1 X正向进给 -1负向进给 m = 0 Y方向进给标志 1 Y正向进给 -1负向进给If xi 0 Then X方向判断 jrx = jrx + jvx If jrx = l Then 判断寄存器是否溢出 jrx = jrx - l 溢出修正 If jrx = l Then 寄存器位数判断 GoTo ww5 End If If Option1.Value = True Then If a c And b c And b d T

25、hen k = -1 Else k = 1 End If End If If Option3.Value = True Then If a c And b c And b d Then k = -1 Else k = 1 End If End If xi = xi - 1 End IfEnd IfIf yi 0 Then Y方向判断 jry = jry + jvy If jry = l Then 判断寄存器是否溢出 jry = jry - l 溢出修正 If jry = l Then 寄存器位数判断 GoTo ww5 End If If Option1.Value = True Then If a c And b d Then m = 1 Else m = -1 End If End If If Option2.Value = True Then If a c And b c And b d Then m = 1 Else m = -1 End If End If If Option4.Value = True Then If a c And b d Then m = 1 Else m = -1 End If End If yi = yi - 1 Y方向总步长减1 End IfEnd Ifn = n + 1 累加次数加1form1.CurrentX = 10

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1