数控加工仿真课程设计说明书.docx
- 文档编号:567520
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:35
- 大小:99.66KB
数控加工仿真课程设计说明书.docx
《数控加工仿真课程设计说明书.docx》由会员分享,可在线阅读,更多相关《数控加工仿真课程设计说明书.docx(35页珍藏版)》请在冰点文库上搜索。
数控仿真技术课程设计
广东工业大学 数控课程设计
摘 要
从工程的角度来看,仿真就是通过对系统模型的实验去研究一个已有的或
设计中的系统,分析复杂的动态对象,仿真是一种有效的方法,可以减少风险,缩短设计和制造的周期并节约投资。
计算机仿真就是借助计算机,利用系统模型对实际系统进行实验研究的过程。
它随着计算机技术的发展而迅速地发展,在仿真中它有越来越重要的地位。
计算机仿真技术的发展趋势主要表现在两个方面:
应用领域的扩大和仿真计算机的智能化。
计算机仿真技术不仅在传统的工程技术领域(航空、航天、化工等方面)继续发展,而且扩大到社会经济、生物等许多非工程领域,此外,并行处理、人工智能、知识库和专家系统等技术的发展正影响着仿真计算机的发展。
数控加工仿真利用计算机来模拟实际的加工过程,是验证数控加工程序的可靠性和预测切削过程的有力工具,以减少工件的试切,提高生产效率。
仿真软件界面友好,基本实现了设计任务的要求,通过本软件可以知道在仿真加工刀具的坐标、各轴的工作情况以及辅助电机(冷却液的控制情况)
本仿真程序应用的是脉冲插补算法。
在仿真过程中应用了两种插补方法:
直线插补,圆弧插补(包括顺时方向插补和逆时方向插补)。
本仿真程序可以实现如下指令的判别和执行:
G01,G02, G03,G04,G05,M05,M08,M09,M03,M30.
在应用时,编程者只要按照本应用程序的要求输入程序,即可以实现所要求的加工过程的仿真过程。
本程序能够判断所输入的程序的正确性,可以对程序进行编辑。
本软件可以从平面和轴测两个视图同时观察仿真过程。
34
Abstract
Thetypeofnumericalcontrolinmyresignispoint-to-point.
Therearetwointerpolationschemesthathavebeenusedtogeneratingasmoothcontinuouspath.Theyinclude:
1.Linearinterpolation
2.Circularinterpolation
Linearinterpolationisusedtogenerateastraight-linepath.Theprogrammerisrequiredtospecifythebeginningpointandendpointofthestraightline(X.Y.Z.).Circularinterpolationschemesisusedtogenerateacircular(I.J).Theinterpolatorcomputesthefeedratesforeachofthetwo(orthree)axesinordertoachievethespecifiedfeedrate.
MyresigncancarryoutthesecommandssuchasG01,G02, G03, G04,G05,M05,M08
,M09,M03,M30;
Thesimulationprocesscanbeseenintwomeans:
orthographicandIsometricatthesametime.
广东工业大学 数控课程设计
目 录
第一章 设计任务书 4
第二章 数控仿真技术发展状况 5
第三章 功能简介 7
第四章 NC代码的读取 9
第五章 插补过程 10
第六章 设计小结 13
第七章 参考书目 13
第八章 数控代码 14
1.设计题目:
第一章 设计任务书
对于给定的一段NC代码,用VB或其他高级语言编写程序解释、插补,
在PC机上仿真数控装置,进行图形描绘、坐标值显示、步进电机控制模拟显示及信号输出、冷却液和主轴开关量控制模拟显示及信号输出。
具体要求如下:
(1)NC代码中包含的代码类型有:
G90G54G00G01G02G03M03M05M08M09M30
2、数控系统的计算机仿真
对于给定的一段NC代码,用VB或其
他高级语言编写程序解释、插补,在PC机上仿真数控装置,进行图形描绘、坐标值显示、步进电机控制模拟显示及信号输出、冷却液和主轴开关量控制模拟显示及信号输出。
具体要求如下:
(1)NC代码中包含的代码类型有:
G90G54G00G01G02G03M03M05M08M09M30
例:
下面给出一个具体的图形示意图,NC代码及其加工轨迹图:
图1工件平面
%
N112G1Z-1.
N126X10.
O0000
N114Y15.0
N128G0Z50.
N106G0G90G54X10.Y20.M03M08
N118G2X15.Y13.09J7.5
N130M5M09
N108Z50.
N120X20.Y15.I-5.0J5.59
N136M30
N110Z10.
N122G1Y20.0
%
(2)、要求根据NC代码屏幕模拟加工过程,图形显示位置,坐标值显示,辅助功能状态显示
(冷却液和主轴开关量控制模拟显示)。
(3)、PC机模拟加工过程中,要求有实时的驱动三轴步进电机的控制信号、控制冷却液和主轴转动的开关量输出控制信号。
假设信号从计算机并行打印口的数据信号线输出,端口地址为
0x378。
并行口数据线分配如下(低电平有效):
图2加工仿真示图
广东工业大学 数控课程设计
第二章 数控仿真技术发展状况
(1)计算机仿真的概念及应用
为了解决数控加工中的程序编制问题,50年代,MIT设计了一种专门用于
机械零件数控加工程序编制的语言,称为APT(Automatically ProgrammedTool)。
其后,APT几经发展,形成了诸如APTII、APTIII(立体切削用)、APT(算法改进,增加多坐标曲面加工编程功能)、APTAC(Advancedcontouring)(增加切削数据库管理系统)和APT/SS(Sculp tured Surface)(增加雕塑曲面加工编程功能)等先进版。
采用APT语言编制数控程序具有程序简炼,走刀控制灵活等优点,使数控加工编程从面向机床指令的“汇编语言”级,上升到面向几何元素.APT仍有许多不便之处:
采用语言定义零件几何形状,难以描述复杂的几何形状,缺乏几何直观性;缺少对零件形状、刀具运动轨迹的直观图形显示和刀具轨迹的验证手段;难以和CAD数据库和CAPP系统有效连接;不容易作到高度的自动化,集成化。
针对APT语言的缺点,1978年,法国达索飞机公司开始开发集三维设计、分析、NC加工一体化的系统,称为为CATIA。
随后很快出现了象EUCLID,UGII,INTERGRAPH,Pro/Engineering,MasterCAM及NPU/GNCP等系统,这些系统都有效的解决了几何造型、零件几何形状的显示,交互设计、修改及刀具轨迹生成,走刀过程的仿真显示、验证等问题,推动了CAD和CAM向一体化方向发展。
到了80年代,在CAD/CAM一体化概念的基础上,逐步形成了计算机集成制造系统(CIMS)及并行工程(CE)的概念。
目前,为了适应CIMS及CE发展的需要,数控编程系统正向集成化和智能化方向发展。
在集成化方面,以开发符合STEP(Standard for the ExchangeofProductModelData)标准的参数化特征造型系统为主,目前已进行了大量卓有成效的工作,是国内外开发的热点;在智能化方面,工作刚刚开始,还有待我们去努力。
(2)数控仿真技术的研究现状
数控机床加工零件是靠数控指令程序控制完成的。
为确保数控程序的正确性,防止加工过程中干涉和碰撞的发生,在实际生产中,常采用试切的方法进行检验。
但这种方法费工费料,代价昂贵,使生产成本上升,增加了产品加工时间和生产周期。
后来又采用轨迹显示法,即以划针或笔代替刀具,以着色板
或纸代替工件来仿真刀具运动轨迹的二维图形(也可以显示二维半的加工轨迹),有相当大的局限性。
对于工件的三维和多维加工,也有用易切削的材料代替工
件(如,石蜡、木料、改性树脂和塑料等)来检验加工的切削轨迹。
但是,试切要占用数控机床和加工现场。
为此,人们一直在研究能逐步代替试切的计算机仿真方法,并在试切环境的模型化、仿真计算和图形显示等方面取得了重要
的进展,目前正向提高模型的精确度、仿真计算实时化和改善图形显示的真实感等方向发展。
(3)虚拟制造目前的发展状况
虚拟制造从提出到现在已历经了20多年,技术上得到了很大的发展,应用方面也得到了广泛的扩展。
在国外,有很多学校、研究所、科研单位、大型企业等都在不断的研究和应用虚拟制造技术。
近年来,虚拟现实技术已较多地应用到汽车开发工作中,已初步形成一种集专业理论、工程设计、科学试验等为一身的较为完整的应用体系。
例如,1995年美国标准与技术研究所的报告“国家先进制造实验台的概念设计计划”,强调了分散的、多节点的分散虚拟制造(DVM),即虚拟企业的概念;而美国国家研究委员会的报告“制造中的信息技
术”,则探讨了产品集成、过程设计、车间控制、虚拟工厂等的信息技术问题。
福特汽车公司也已经计划应用虚拟环境技术来设计和开发汽车,该公司的先进车辆技术组把虚拟制造技术应用于装配仿真和虚拟成形,以提高空气动力学、人机工程学和表面建模的效果。
工作状态
广东工业大学 数控课程设计
第三章 功能简介
工具栏 NC模拟
NC代码输入框 坐标值实时状态 并行口输出状态
图
(1)
1.1、主界面简介
如图
(1)所示,程序主界面由如下几个部分组成:
工具栏、NC代码输入框、坐标值实时状态框、工作状态框、NC模拟框。
其中,工具栏菜单依次为:
文件、编辑、视图、运行,工作状态框显示了冷却液的开关状态、主轴的转速
及转向、步进电机X电机、Y电机的转向。
NC代码在NC代码输入框输入,根据NC代码在NC模拟框进行模拟加工。
1.2、参数设置定界面:
图
(2)
如图
(2)所示,在此界面,根据需要可以选择脉冲当量(单位为毫米mm)以及图形的放大倍数,以便显示,插补形式由于时间关系。
通过写入工件坐标的原点。
便可随时改变坐标的原点。
1.3、NC代码格式
在NC代码输入框输入代码,开头必须要有程序开始符“%”、结尾同样以结束符“%”结束,程序不能输入行符,因为本程序还不能辨别。
指令符
(G、M)可以是大写也可以是小写,指令间允许有空格。
输入圆心时只能用IJ
指令,R指令不能识别——这是该程序的不足之处,还有待提高。
1.4、程序基本操作
首先,在NC代码输入框输入NC代码或打开已有的代码,接着按工具栏上的运行——“调试”,程序经过调试后,如果程序有错,会自动报错,报错时光标将会定位在有错的代码附近,可以方便用户修改,直到无误为至,此时程序会告诉用户——调试成功,紧接着按——“模拟”,在NC模拟框便会出现用户希望的图形。
绘图的过程中用户可以按——“暂停”键——暂停绘图、再按时便继续绘制,按——“结束”整个程序将停止。
与此同时,坐标值实时显示框实时显示动点的坐标,工作状态框也反映工作状况。
在快捷工具栏功能按钮一样可以实现如上功能。
整个加工过程比较直观,一目了然。
本程序优秀之处在于——当程序未调试之前“模拟”键成淡色,不能使用,以防出错,而当模拟时“调试”键成淡色,程序不会乱套。
广东工业大学 数控课程设计
第四章 NC代码的读取
开始
读入整个程序
赋初值i=1
N
判断是否有%
Y
N
程序报错
判断指令和坐标
值正确与否
Y
N
i=i+1
读完?
Y
结束
读入第i行G、M、S指令和
X、Y、I、J的坐标值
图3
第五章 插补过程
3.1插补算法说明
本软件应用脉冲增量插补方法,这类插补方法的特点是:
(1)每次插补的结果仅产生一个单位的行程增量(一个脉冲当量),以一个脉冲的方式输出给步进电机。
其基本思想是:
用折线来逼近曲线(包括直线)。
(2)插补速度与进给速度密切相关。
(3)脉冲增量插补的实现方法较简单。
脉冲增量插补的方法有逐点比较法、数字积分法,本软件用逐点比较法。
逐点比较法的原理是:
在仿真过程中,能逐点地计算和判别运动轨迹与给定轨迹的偏差,并根据偏差控制进给轴向给定轮廓靠近,缩小偏差,使加工轮廓逼近给定轮廓。
逐点比较法是以折线来逼近直线和圆弧曲线的,它与规定的直线或圆弧之间的最大误差不超过一个脉冲当量,因此,只要将脉冲当量取得足够小,就可达到加工精度的要求。
3.2直线插补原理:
3.2.1直线插补流程图
起始F0,X0,Y0
F≥0
X(Y)=0
结束
Y
X(Y)=X(Y)-1
F=F+Ye
F=F-Xe
+Y进给
+X进给
N
Y
X0,Y0
N
:
广东工业大学 数控课程设计
3.2.2偏差计算公式
假设加工如图 所示直线OA,取直线起点为坐标原点,直线终点坐标A(Xe,Ye)为已知,即直线OA为给定轨迹。
M(Xm,Ym)点为加工点
(动点)。
若M点在直线OA上,则根据相似三角形的关系可得:
F(xm)≥0
△x=+
M· A(Xe,Ye)
F(xm)<0
M
△y=+
Xm/Ym=Xe/Ye
即 YmXe—YeXm=0
由此,可定义直线插补的偏差判别式如下:
Fm=XeYm-YeXm
若Fm=0表示动点在OA直线上
若Fm>0表示动点在OA直线上方若Fm<0表示动点在OA直线下方
当Fm³0时M点在直线上或在直线上方
,应沿+X方向进给一步,走步后新的坐标值为
Xm+1=Xm+1Ym+1=Ym
新的偏差为:
Fm+1=Fm—Ye
图4逐点比较法插补(直线)
若Fm<0则应沿+Y方向进给一步,走步后新的坐标值为
Xm+1=XmYm+1=Ym+1
新的偏差为:
Fm+1=Fm+Xe
Y
B’
F(xm)<0
△y=+
F(xm)<0
△y=+
B
F(xm)≥0 F(xm)≥0
△x=+ △x=+
A
F(xm)≥0 F(xm)≥0
△x=+ △x=+
O
X
F(xm)<0
B’’
△y=-
F(xm)<0
△y=-
B’’’
图5四象限直线偏差符号和进给方向
3.2.3终点判断的方法
设置变量CountN减法计数器,在加工之前存入终点坐标值Xe、Ye,X或Y坐标每进给一步时,就
在计数器中、减去1,直到为零,停止插补,到达终点。
3.2.4其它象限的直线插补计算
对称或关于X轴对称,所以,只要作符合上的
其它象限其实与第一象限或关于原心变化,程序实现非常方便。
圆弧插补流程图
起始F0,X0,Y0
F≥0
N
X(Y)=0
Y
结束
X(Y)=X(Y)-1
F=F+2Ym+1
F=F-2Xm+1
+Y进给
+X进给
Y
N
X0,Y0
:
3.2.1偏差计算公式
以第一象限逆圆为例介绍插补公式
如图7所示,要加工圆弧AB,设圆弧的圆心在原点,并已知圆弧的起点A(Xo,Yo),终点B(Xe,Ye),圆弧半径为R。
加工动点M(Xm,Ym),
M(Xm,Ym)
Rm
A(Xo,Yo)
R
X
它到圆心的距离为Rm。
则有三种情况:
当动点M在圆上有:
X
当动点M在圆内有:
X
当动点M在圆外有:
X
2+Y
m
m
m
m
2+Y
m
m
2+Y
2-R2=0 Y
2-R2<0
2-R2>0
B(Xe,Ye)
因此,可定义圆弧偏差判别公式如下:
m
m
m
F=R2-R2=X
2+Y
2-R2
m
若Fm³0,应沿-X轴方向进给一步,到M+1点,
图7第一象限逆圆弧
广东工业大学 数控课程设计
其坐标值为:
Xm+1=Xm-1
Y
F(xm)<0
△y=+
F(xm)≥0
△y=-
Ym+1=Ym
F(xm)≥0
△x=-
F(xm)<0
△x=-
则新加工点的偏差为:
Fm+1
2
=X
m+1
2
+Y
m+1
-R2=F
-2Xm+1
F(xm)<0
△x=+
F(xm)≥0
△x=+
m
m
X
若F<0,沿+Y轴方向进一步,到M+1点, O
逆圆
其坐标值为
F(xm)<0
△y=-
F(xm)≥0
△y=+
Xm+1=Xm
Ym+1
=Ym+1
则新加工点的偏差为:
图8逆圆插补示意图
Fm+1
2
=X
m+1
2
+Y
m+1
-R2=F
+2Ym+1
m
3.2.2终点判断的方法
在绘图的过程中,不断地比较动点与终点的距离,当其距离小于脉冲当量时,在误差允许的范围达到终点。
3.2.3其它象限的圆弧插补计算
如图8所示,其它象限的圆弧或关于X轴对称、或关于X轴对称、或关于原心对称,完全可以按第一象限逆圆偏差公式进行计算,所不同的是将进给方向改变。
第六章 设计小结
数控课程设计是机电专业的一个重要的实践性环节,是对所学《数控技术》
课程和其它有关课程知识和技能的一次综合性练习,旨在使我们的知识得以巩固、充实、系统化,并进一步扩展。
课程设计是培养我们理论联系实际、解决生产实际问题的良好机会。
通过对数控铣床典型部件的设计和零件编程的具体问题的解决,不仅使我们对CAD/CAM仿真软件有了更深刻的了解,还是我们编程能力有了很大的提高。
通过这次的设计,使我们更加明白知识的联贯性、融合性、全面性以及交错性的重要所在,这也是设计目的所在。
我们应该持有自我增值、自我发展的人生观。
要领悟“学海无边苦作舟”的真谛。
力争上游。
第七章 参考书目
[1]廖效果等主编.《数控技术》[M]湖北科学技术版社-2000.5[2]《数控原理》机械工业出版社1997.3
[3]龚沛曾等.《VisualBasic程序设计教程》[M].高等教育出版社-1998
[4]《VisualBasic6.0》清华大学出版社1998.1
第八章 数控代码
DimXAsDouble,YAsDouble,zAsDouble 'X,Y,Z起点坐标
Dimx1AsDouble,y1AsDouble,z1AsDouble 'X,Y,Z终点坐标
DimgorderAsString,morderAsString,ornumberAsInteger'GM指令
DimmovorderAsString,conorder1AsString,conorder2AsString '移动,控制指令
DimcbstypeAsInteger '移动指令类型
DimxpointAsDouble,ypointAsDouble '轴测图坐标
DimxppAsDouble,yppAsDouble,zppAsDouble '平面图坐标DimcentiAsDouble,centjAsDouble '圆心相对起点坐标
PublicgetxAsDouble,getyAsDouble,getzAsDouble 'get参数设置
PublicbeiAsInteger '图形放大倍数DimstrAsString '读入NC代码DimprglineAsInteger '运行行数DimreadnumAsInteger
DimmmAsDouble '积分插补累加数DimfmAsDouble '比较插补FMDimdlAsDouble '脉冲当量
DimStepdlAsInteger
DimxmAsDouble,ymAsDouble,zmAsDouble '动点X,Y,ZDimmxAsDouble,myAsDouble,mzAsInteger '积分插补数DimpauseconAsInteger '暂停控制
Dimxx()AsDouble,yy()AsDouble,zz() AsDouble '保存XYZ值
Dimxx0()AsDouble,yy0()AsDouble,zz0()AsDoubleDimxf0()AsDouble,yf0()AsDouble,zf0()AsDoubleDimxf1()AsDouble,yf1()AsDouble,zf1()AsDoubleDimmovrouAsInteger
DimmousexAsDouble,mouseyAsSingle
'PrivateDeclareSubDIO_OutputByteLib"d:
/dio.dll"(ByValAddressAsInteger,ByValDataOutAsInteger)
'PrivateDeclareFunctionDIO_InputByteLib"dio.dll"(ByValAddressAsInteger)
AsInteger
'并行口输入输出函数
'画坐标
Subdrawxyz()
linez.Cls '画轴测图坐标
linez.Scale(-700/bei,700/bei)-(600/bei,-600/bei)linez.Line(0,0)-(0,650/bei),QBColor(10)
linez.Line(0,650/bei)-(-10/bei,620/bei),QBColor(10)
广东工业大学 数控课程设计
linez.Line(0,650/bei)-(10/bei,620/bei),
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数控 加工 仿真 课程设计 说明书