《数控课程设计前加减速控制.doc》由会员分享,可在线阅读,更多相关《数控课程设计前加减速控制.doc(8页珍藏版)》请在三一办公上搜索。
1、数控技术课程设计前加减速控制(VB)指导教师:应用专业:机械设计制造及其自动化班级 学号 姓名 组号 班级序号 目 录一 设计任务书1. 课程的地位、任务和作用 32设计内容 3 3. 设计目的 3 二 VB软件设计说明书 2-1 分析问题 42-2 提出算法 42-3 列出流程图 52-4前加减速软件控制界面 62-5编写程序 6三 参考文献 9一、 设计任务书 1.课程的地位、任务和作用 本课程设计是在数控技术理论课程学习完后进行。数控技术是机械设计制造及其自动化专业必修的主干专业课之一,对实际应用能力要求很高;通过该课程设计使学生进一步掌握和消化数控机床基本内容,了解数控机床编程的特点和
2、步骤,深化工艺处理技术和编程方法,通过调试,掌握系统软件的操作方法,了解数控系统组成,深化系统控制原理和方法,通过设计和调试,掌握各种数控功能的实现方法,为今后从事数控领域工作作打下坚实的基础。 2设计内容2.1软件设计:问题分析,提出算法,列出流程图,编写程序,最后进行程序验证。 2.2 设计成员: 3.设计目的1)针对设计任务选择合适的实现方案;2)培养学生查阅技术手册和有关技术资料的能力;3)培养学生程序设计能力;4)培养学生程序调试能力;5)培养学生编制技术文档的能力;6)培养学生严肃认真、一丝不苟和实事求是的科学态度。二 、VB软件设计说明书 2-1分析问题:在CNC 装置中,加减数
3、控制多数都采用软件来实现,这给系统带来了较大的灵活性,这种用软件实现的加减数控制放在插补前进行称为前加减速控制。 2-2提出算法: 前加减速控制,仅对编程速度F指令进行控制,其优点是不会影响实际插补输出的位置精度,其缺点是需要预测减速点,而这个减速点要根据实际刀具的位置与程序段终点之间的距离来确定,预测工作需要完成的计算量较大。(1) 稳定速度和瞬时速度 稳定速度 Fs=F*T*K/60/1000 当Fs1000时 Fs=1000 瞬时速度fi=Fs,当系统处于加速(或减速)状态时,fiFs)(2) 线性加减速处理加减速度 a=1.67x10-5*F/t (mm/ms2)1) 加速处理 Fs=
4、Fs+aT 2) 减速处理 s=Fs2/2a+s Fi+1=Fi-aT(3) 终点判别处理1)直线插补Xi=xi-1+x Yi=yi-1+ySi=NE=sqr(Xe-Xi)2+(Ye-Yi)2)2)圆弧插补 Si=sqr(Xe-Xi)2+(Ye-Yi)2)YNYNNYNY入口Fs=F*T*K/60/1000FsfFsfs加速处理Fi+1=fi+a*TSis减速处理原始fs=f匀速处理Fi+1=fi-a*TFi+1=fs或Fi+1=0出口Fs=fsFi+1=fss前加减速控制原理框图NNYNNY入口Si= (xe-xi)2-(ye-yi)2需要减速计算减速区域S=fs2/2/a+ sSis?置减
5、速状态标志接近终点?置程序段转接标志到终点?置到终点标志出口终点判别原理框图 2-3列出流程图 2-4前加减速软件控制界面 2-5编写程序 前加减速控制程序代码 Dim x1 As Double, x2 As Double, y1 As Double, y2 As Double, a As Double, b As DoubleDim fs As Double, f As Integer, t As Integer, fi As Integer, F1 As Integer, mDim ti As Integer, t2 As Integer, ts As Integer, t1 As Int
6、eger, tt As DoublePrivate Sub Command1_Click()Timer1.Enabled = TrueIf Text1.Text = Or Text2.Text = Or Text3.Text = Or Text4.Text = Or Text5.Text = Or Text6.Text = ThenMsgBox (输入的数据不完整 & vbCrLf & 请输入完整后再运行程序) If Text1.Text = 0 Or Text2.Text = 0 Or Text3.Text = 0 Or Text4.Text = 0 Or Text5.Text = 0 Or
7、 Text6.Text 1000 Then fs = 1000x1 = 0y1 = 0x2 = Val(Text1.Text)y2 = Val(Text2.Text)a = (1.67 * 10 -5) * F1 / tLabel11.Caption = & Val(t) & & , & & Val(F1)x1 = x1 + 1y1 = y1 + y2 / x2si = Sqr(x2 - x1) 2 + (y2 - y1) 2)s = fs 2 / 2 / as1 = fs 2 / 2 / at1 = Sqr(2 * s / a)s2 = Sqr(x2 2 + y2 2) - si - s1t
8、2 = s2 / F1 * 60000ti = Val(t + t + t2)Label12.Caption = & Format(Val(t + t2), 0.00) & & , & & Val(F1)Label13.Caption = & Format(Val(t + t + t2), 0.00) & & , & & 0Picture2.Scale (0, 2 * F1)-(1.5 * ti, 0)Picture2.Line (x1, y1)-(t, F1)Picture2.Line (t, F1)-(t + t2, F1)Picture2.Line (t + t2, F1)-(ti, 0
9、)Timer2.Enabled = FalseTimer3.Enabled = FalseEnd Ifts = Val(t + t2)End SubPrivate Sub Command2_Click()Timer3.Enabled = FalseText1.Text = Text2.Text = Text3.Text = Text4.Text = Text5.Text = Text6.Text = Label11.Caption = Label12.Caption = Label13.Caption = Picture2.ClsEnd SubPrivate Sub Command3_Clic
10、k()EndEnd SubPrivate Sub Form_Load()Timer1.Enabled = FalseTimer2.Enabled = TruePicture1.Scale (0, 1000)-(1000, 0)If fi F1 ThenTimer2.Interval = Val(20)Timer2.Enabled = TrueIf fi ts ThenTimer3.Enabled = TrueTimer3.Interval = Val(20)End IfEnd SubPrivate Sub Timer3_Timer()Timer2.Enabled = FalseTimer3.Interval = Val(10)Picture2.Line (ts, F1)-(ti, 0), vbRedEnd Sub三 参考文献1 Visual Basic软件设计教程,江志文 主编,广州,中山大学出版社,20032 深入浅出 Visual Basic 6 软件设计,松桥工作室,北京,中国铁道工业出版社,20043 算法分析与设计技术,马绍汉主编,北京,科学出版社,2001