数控编程刀补课程设计.docx
- 文档编号:16308223
- 上传时间:2023-07-12
- 格式:DOCX
- 页数:22
- 大小:994.80KB
数控编程刀补课程设计.docx
《数控编程刀补课程设计.docx》由会员分享,可在线阅读,更多相关《数控编程刀补课程设计.docx(22页珍藏版)》请在冰点文库上搜索。
数控编程刀补课程设计
内容提要
题目:
用计算机高级编程语言(如VB,VC++等)来实现数控装置中的一个基本的功能——刀具补偿功能(亦即仿真数控装置的刀具补偿功能),要求对任意给定的某一由直线与圆弧组成的平面几何轮廓:
(1)能实现四种转接(直线—直线、直线—圆弧、圆弧—直线、圆弧—圆弧);
(2)能实现三种过渡方式(伸长型、缩短型、插入型);
(3)能实现左、右刀补(即G41,G42)。
(4)在屏幕上绘出刀具的中心轨迹。
首先,根据题目的要求设定仿真系统的界面,能实现各种情况下的刀补功能,包括四种转接功能、三种过渡方式、两种刀补方式以及刀具中心轨迹、输入程序。
除此之外,根据实际可以适当地增加一些其他的有关数控方面的仿真功能,包括所用刀具半径、打开和编辑文件功能等等。
其次,根据所选择的刀补方法,结合题目要求,进行各种刀补情况的考虑分析,并且计算出不同情况下的刀具路径,包括运用相关公式算出转接点的坐标(例如,伸长型中的直线与直线的交点;插入型中的圆弧与圆弧的交点等等),具体的直线和圆弧的路径等。
当然,还可以运用角度的不同来控制刀具路线。
然后,就是利用VisualBasic6.0为开发工具进行仿真软件的设计。
就是说,按照所选的方法和算法,通过VB语言的编程,实现需要实现的功能。
这一部分包括缩编程序的算法及流程图。
最后,进行检验。
通过一些数控程序的输入,验证所设计的仿真软件的可行性,以及存在的问题和不足。
课程设计任务
一、课程设计的内容
用计算机高级编程语言(如VB,VC++等)来实现数控装置中的一个基本的功能——刀具补偿功能(亦即仿真数控装置的刀具补偿功能),要求对任意给定的某一由直线与圆弧组成的平面几何轮廓:
二、课程设计的要求与数据
具体的要求如下:
(1)能实现四种转接(直线—直线、直线—圆弧、圆弧—直线、圆弧—圆弧);
(2)能实现三种过渡方式(伸长型、缩短型、插入型);
(3)能实现左、右刀补(即G41,G42)。
(4)在屏幕上绘出刀具的中心轨迹。
三、课程设计应完成的工作
每个学生应在规定时间内,独立完成所选题目。
运用VB编程语言,编写计算机软件在WINDOWS实现数控装置的计算机仿真。
要求清楚地分析问题、提出算法、确定人机界面、列出流程图,最后用程序验证,完成软件测试,并且提交程序说明书。
对选择典型零件编程题目的学生,要求用编写计算机软件的方法解决数控过程的一个问题。
可以任选用本人熟悉的一种编程语言,要求清楚地分析问题、提出算法、列出流程图,最后用程序验证,并且提交程序说明书。
仿真数控装置的刀具补偿功能的程序实现内容说明
一、内容提要
本文介绍了以VisualBasic6.0为开发工具,制作程序来实现数控装置中的一个基本的功能--刀具补偿功能(亦即仿真数控装置的刀具补偿功能),要求对任意给定的某一由直线与圆弧组成的平面几何轮廓;
(1)能实现四种转接(直线--直线,直线--圆弧,圆弧--直线,
圆弧--圆弧);
(2)能实现三中过渡方式(伸长型,缩短型,插入型);
(3)能实现左,右刀补(即G41,G42)。
(4)在屏幕上绘出刀具的中心轨迹。
在程序中讨论了刀具半径补偿的原理,并介绍了如何判断缩短型,伸长型和插入型,如何实现直线与直线,直线与圆弧,圆弧与直线,圆弧与圆弧的转接
二、软件功能介绍
1.本模拟软件分两个窗口实现,界面友好,在以往的软件界面上有了较大的改进,操作方便,图形界面如下:
图3-1介绍窗口
图3-2直线-直线类型界面
图3-3直线-圆弧类型界面
图3-4圆弧-直线类型界面
图3-5圆弧-圆弧类型界面
2、软件功能简介:
(1)软件能实现任何直线、圆弧交叉多段线段的连接刀具插补加工;
(2)能实现直线—直线刀具补偿,直线—圆弧刀具补偿,圆弧—直线刀具补偿,和圆弧—圆弧刀具补偿;
(3)可以在窗口点击从而输入数据,同时具有实时显示鼠标坐标功能
(4)刀具半径可以变换大小
(5)坐标系分为2个坐标系,其中默认坐标系原点在左下角,自定义坐标系原点在中心,可以实现对坐标的缩放功能,同时显示其最大坐标系
(6)状态栏有输入数据的提示
3软件使用流程及软件使用说明
1选择刀补类型
2右图控件栏具有3大功能
1、可以选择坐标系类型;
2、可以显示最大坐标值
3、可以对所选择的坐标系进行缩放
下图为本软件所具有的2个坐标系
3此窗口为左右刀补选择窗口,刀具半径需要进行填写
4此为状态提示栏,用以提示下一步进行的操作,同时改软件具有鼠标实时坐标显示窗口,亦再次窗口进行显示
5此窗口为参数输入窗口,需要填写数据从而绘制所需要的刀补路径
6此窗口为主要显示窗口i,所绘制的图形均在此进行显示,同时本窗口具有鼠标捕抓功能,只需要捕抓窗口就能够把所在的点输入参数栏里
三、刀具半径补偿知识
3.1刀具半径补偿的基本概念
3.1.1概念:
根据按零件轮廓编制的程序和预先设定的偏置参数,数控装置能实时自动生成刀具中心轨迹的功能称为刀具半径补偿功能。
根据ISO标准,当刀具中心轨迹在编程轨迹(零件轮廓)前进方向的右边时,称为右刀补,用G42指令实现;反之称为左刀补,用G41指令实现。
3.1.2主要用途
数控装置大都具有刀具半径补偿功能,这为程序编制提供了方便。
当编制零件加工程序时,可利用刀具半径补偿功能,直接按零件轮廓进行编程,而不需要进行大量的刀具中心运动轨迹的计算。
采用刀具半径补偿后,数控系统能自动计算出刀具中心的偏移向量,进而得到偏移后的刀具中心轨迹,并使系统按中心轨迹运行。
具体体现在以下两个方面:
1)由于刀具的磨损或因换刀引起的刀具半径变化时,不必重新编程,只须修改相应得偏置参数即可。
2)由于轮廓加工往往不是一道工序能完成的,在粗加工时,要为精加工工序预留加工余量。
加工余量的预留可通过修改偏置参数实现,而不必为粗、精加工各编制一个程序。
3.1.3常用方法
刀具半径补偿分为B类补偿和C类补偿。
B刀补的特点是刀具中心轨迹的段间连接都是以圆弧进行的;C刀补的特点是相邻两段轮廓的刀具中心轨迹之间用直线进行连接。
B类补偿只能实现在本程序段内的刀具半径补偿,而对程序段间的过渡不予处理。
只有B类刀具半径补偿功能的数控系统,使用时,对有外轮廓(外拐角)部分,必须增加尖角过渡辅助程序段;对内轮廓(内拐角),则会产生过切现象,因此,不能使用B类刀具半径补偿。
刀具半径C类补偿功能可实现自动尖角过渡,只要给出零件轮廓的程序数据,数控系统就能自动地进行拐角处的刀具中心轨迹交点的计算,采用的算法是一次进行两段直线的处理,C类补偿功能可用于内、外拐角轮廓的加工。
四、刀具半径补偿计算
刀具补偿转接类型的判别方法
刀补算法中的转接类型和转接角
有着直接的关系。
如果能由两个相接程序段的方向矢量判断出sin
和cos
符号的正负,则可确定出
角的范围,进而判断出两个相接程序段的转接类型。
上述问题可采用旋转坐标变换方法解决。
以直线和直线转接为例,以第一线段编程轨迹为基准进行
坐标旋转变换,其中(x0,z0),(x1,z1),(x2,z2)是两直线的端点。
刀具半径大小为R.
令
,
的正负由刀补类型,直线斜率,起点与终点的关系决定.
有dqdx1=qdx1-R*
*T*k1*m3
dqdy1=qdy1+R*
*T*k1*m1
dzdx2=zdx2-R*
*T*k2*m4'刀补情况
dzdy2=zdy2-R*
*T*k2*m2
(dqdx1,dqdy1),(dqdx2,dqdy2)为起点坐标和终点坐标偏置后的坐标
T为刀补类型,k1,k2为线段的斜率,m1,m2,m3,m4为线段起点坐标与终点坐标的位置关系.
由此可以得到转接类型的判别条件:
(1)缩短型条件180°<
<360°
(2)伸长型条件90°<
<180°
(3)插入型条件0°
90°
根据上述各式,可以方便地完成转接类型的判别。
与其他刀补转接类型的判别方法相比,该方法极大地减少了刀补算法的实时计算量。
五、刀具补偿算法
5.1直线与直线
5.1.1缩短型和伸长型
直线接直线的缩短型和伸长型的刀补交点公式一样,现利用伸长型直线接直线来求刀补转接点求公式。
图2.1
1刀补前输入直线的三点坐标分别为起点(qdx1,qdy1),转接点(zdx1,zdy1),终点(zdx2,zdy2),此三点为已知数据
2通过第一点和第二点坐标求出此直线的方程:
根据两点式求出方程为
(y-qdy1)/(x-qdx1)=k(zdy1-qdy1)/(zdx1-qdx1)
3通过偏移的刀具半径R,可以求得第一条直线的方程为
y=x(zdy1-qdy1)/(zdx1-qdx1)+qdx1(zdy1-qdy1)/(zdx1-qdx1)+R
求方程在Y坐标上的节距,此时x=0
可以得到节距为qdx1(zdy1-qdy1)/(zdx1-qdx1)+R
4同理可以求出第二条直线的节距为zdx1(zdy2-zdy1)/(zdx2-zdx1)+R
5通过输入的三点可以求出直线一和直线二的斜率K1=(zdy1-qdy1)/(zdx1-qdx1)
K2=(zdy2-zdy1)/(zdx2-zdx1)
6通过线段的长度可以列出方程从而解出第一条直线与第二条直线的交点坐标
即X×K1-Y×K2=zdx1(zdy2-zdy1)/(zdx2-zdx1)+R-qdx1(zdy1-qdy1)/(zdx1-qdx1)+R
7容易通过偏移求得第一条直线与第二条直线的起点以及终点
5.1.2插入型
对于插入型转接,与上面算法一样,通过对方程组的求解,可以求得插入型刀补的2个转接点坐标(X1,Y1)、(X2、Y2)
X1=X2+R*(Cos(θ1)-Sin(θ1)*k)
Y1=Y2+R*(Sin(θ1)+Cos(θ1)*k)
X2=X2+R*(-Sin(θ2)*k-Cos(θ2))
Y2=Y2+R*(Cos(θ2)*k-Sin(θ2))
5.2直线与圆弧
图2.2
直线方程:
y=k*x+b
(1)
圆弧方程:
(R+r)^2=(x-x0)^2+(y-y0)^2
(2)
通过以上两式可以求出交点的坐标值
假设直线L的起点为(X1,Y1),终点为(X2,Y2),圆弧C的起点为(X2,Y2),圆心角为Co2,圆心坐标为(Xo2,Yo2)。
圆弧半径为Ro2。
经过分析与比较,直线接圆弧的伸长型和插入型的计算与直线接直线的相同,而缩短型的计算则不同,因此我们仅讨论缩短型刀具中心轨迹的转接点计算。
(1)顺时针画圆弧时可求得公式
CM=Ro2*Cos(A)+k*R
OM=Sqr((Ro2+k*R)^2-CM^2)
XC=Xo2-k*OM*Cos(A1)-CM*Sin(A1)
YC=Yo2-k*OM*Sin(A1)+CM*Cos(A1)
左刀补k=1,右刀补k=-1
(2)逆时针画圆弧可求得公式
CM=Ro2*Cos(A)–k*R
OM=Sqr((Ro2–k*R)^2-CM^2)
XC=Xo2+k*OM*Cos(A1)+CM*Sin(A1)
YC=Yo2+k*OM*Sin(A1)-CM*Cos(A1)
左刀补k=1,右刀补k=-1
5.3圆弧与直线
图2.3
直线接圆弧的伸长型和插入型的计算与直线接直线的相同,而缩短型的计算则不同,因此我们仅讨论缩短型刀具中心轨迹的转接点计算。
图22为圆弧与直线的缩短型转接进行左刀补的情况。
编程轨迹为12—23,A1是圆弧在OA点处的切线与X轴正向的夹角,a2是矢量AF与X轴正向的夹角,夹角a=a2一a1。
圆弧半径值为R。
总结各种情况下圆弧与直线的缩短型转接计算公式:
图22
(1)逆时针画圆弧时可求得公式、
CM=Ro1*Cos(A)–k*R
OM=Sqr((Ro1–k*R)^2-CM^2)
XC=Xo1-k*OM*Cos(A2)+CM*Sin(A2)
YC=Yo1-k*OM*Sin(A2)-CM*Cos(A2)
左刀补k=1,右刀补k=-1
(2)顺时针画圆弧可求得公式CM=Ro1*Cos(A)+k*R
OM=Sqr((Ro1+k*R)^2-CM^2)
XC=Xo1+k*OM*Cos(A2)-CM*Sin(A2)
YC=Yo1+k*OM*Sin(A2)+CM*Cos(A2)
左刀补k=1,右刀补k=-1
5.4圆弧与圆弧
图2.3
圆弧方程1:
(R1+r)^2=(x-x01)^2+(y-y01)^2
(1)
圆弧方程2:
(R2+r)^2=(x-x02)^2+(y-y02)^2
(2)
经过分析比较发现,圆弧与圆弧转接时的伸长型与插入型的计算与直线接直线的一样,而缩短型的计算不同,因此,只需研究缩短型的刀具中心轨迹的转接点。
5.4.1逆圆弧接逆圆弧
圆弧12和23如图23,已知其坐标,可以计算出圆弧圆心O1,O2坐标及其半径RO1,RO2,在△O1O2C中可求出∠CO1O2,用Coo表示,直线O1O2与X轴正向夹角亦可求出,用Aoo表示,则可求出交点C的坐标如下:
图23
Ro1=Ro1–k*R
Ro2=Ro2–k*R
l=Sqr((Xo1-Xo2)^2+(Yo1-Yo2)^2)
t=(Ro1^2+l^2-Ro2^2)/(2*Ro1*l)
Coo=Atn(-t/Sqr(-t*t+1))+2*Atn
(1)
Aoo由前求A1的方法来求,则:
XC=Xo1+Ro1*Cos(Coo+k*Aoo)
YC=Yo1+k*Ro1*Sin(Coo+k*Aoo)
左刀补k=1,右刀补k=-1
5.4.2顺圆弧接顺圆弧
对顺圆弧接顺圆弧的情况,若将弧12与23两个矢量变反,并将1和3的坐标置换,则原顺圆弧接顺圆弧的情况就变成了逆圆弧接逆圆弧的情况,因此把顺圆弧接顺圆弧的情况与逆圆弧接逆圆弧的情况一起考虑,求出交点C的坐标,再把线型、坐标还原即可。
Ro1=Ro1+R
Ro2=Ro2+R
l=Sqr((Xo1-Xo2)^2+(Yo1-Yo2)^2)
t=(Ro2^2+l^2-Ro1^2)/(2*Ro2*l)
Coo=Atn(-t/Sqr(-t*t+1))+2*Atn
(1)
XC=Xo2+Ro2*Cos(Coo-R/Abs(R)*Aoo)
YC=Yo2-R/Abs(R)*Ro2*Sin(Coo-R/Abs(R)*Aoo)
5.4.3逆圆弧接顺圆弧
圆弧12和23如图24,已知其坐标,可以计算出圆弧圆心O1,O2坐标及其半径RO1,RO2,在△O1O2C中可求出∠CO1O2,用Coo表示,直线O1O2与X轴正向夹角亦可求出,用Aoo表示,则可求出交点C的坐标如下:
图24
Ro1=Ro1–k*R
Ro2=Ro2+k*R
l=Sqr((Xo1-Xo2)^2+(Yo1-Yo2)^2)
t=(Ro1^2+l^2-Ro2^2)/(2*Ro1*l)
Coo=Atn(-t/Sqr(-t*t+1))+2*Atn
(1)
XC=Xo1+Ro1*Cos(Coo-k*Aoo)
YC=Yo1-k*Ro1*Sin(Coo-k*Aoo)
5.4.4顺圆弧接逆圆弧
采用与上述分析类似的方法,可求出交点C的坐标如下:
Ro1=Ro1+k*R
Ro2=Ro2–k*R
l=Sqr((Xo1-Xo2)^2+(Yo1-Yo2)^2)
t=(Ro1^2+l^2-Ro2^2)/(2*Ro1*l)
Coo=Atn(-t/Sqr(-t*t+1))+2*Atn
(1)
XC=Xo1+Ro1*Cos(Coo-k*Aoo)
YC=Yo1-k*Ro1*Sin(Coo-k*Aoo)
六程序流程图
流程图:
开始
选择生成轮廓类型型
直线-直线
直线-圆弧
圆弧-直线
圆弧-圆弧
输入刀具半径
输入参数
选择左右刀补
判断刀补属于什么类型
生成刀补轨迹
结束
输入刀具半径
输入刀具半径
输入刀具半径
输入参数
输入参数
输入参数
选择左右刀补
选择左右刀补
选择左右刀补
判断刀补属于什么类型
判断刀补属于什么类型
判断刀补属于什么类型
生成刀补轨迹
生成刀补轨迹
生成刀补轨迹
七、设计总结
本次课程设计时间比较紧,在不断的努力下终于完成了课程的最终设计,设计的软件有许多创新的地方,譬如鼠标的捕抓功能以及屏幕取点的功能等,在此次的设计中遇到了很多的困难,但是每次都是通过网上的知识以及同学间的相互讨论最终得到了正确的答案,在软件的调试过程中更是可能由于其中的一个小bug就导致一晚的无用功,其中的辛酸与曲折难以言语,虽然如此,但是最终成功完成软件的一刻我觉得什么都是值得的,充满了充实感与成功感。
通过本次课程设计我受益良多,不仅巩固了数控技术的知识,另外,在编程实现所需功能的时候,需运用数学知识,而且需考虑各种可能出现的情况。
因此,这次课程设计也提高了个人全面分析问题的能力。
然而,由于能力有限,本软件有一定的局限性,直线和圆弧、圆弧和圆弧的刀补仿真不具有通用性,今后我会继续努力,做得更好。
通过对VB语言的连续运用,已经比较熟悉地能运用本软件去编写所需要的语句,对以后职业的发展具有莫大的作用
八、参考文献
[1]、《数控技术》主编:
廖效果华中科技大学出版社
[2]、刘德平,侯伯杰.CNC系统刀具半径补偿功能的实现[B].郑州大学机械工程学院,河南郑州 450002;TP273;1001-2265(2002)02-0018–03
[3]、黄永清.虚拟数控系统刀具半径补偿功能研究[A]南京工程学院,江苏南京211100;:
TP273,TG71;671.5276(2003)06—0057—0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数控 编程 课程设计