硕士数控技术期末作业四象限圆弧插补资料.docx

上传人:b****6 文档编号:8195328 上传时间:2023-01-29 格式:DOCX 页数:26 大小:130.42KB
下载 相关 举报
硕士数控技术期末作业四象限圆弧插补资料.docx_第1页
第1页 / 共26页
硕士数控技术期末作业四象限圆弧插补资料.docx_第2页
第2页 / 共26页
硕士数控技术期末作业四象限圆弧插补资料.docx_第3页
第3页 / 共26页
硕士数控技术期末作业四象限圆弧插补资料.docx_第4页
第4页 / 共26页
硕士数控技术期末作业四象限圆弧插补资料.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

硕士数控技术期末作业四象限圆弧插补资料.docx

《硕士数控技术期末作业四象限圆弧插补资料.docx》由会员分享,可在线阅读,更多相关《硕士数控技术期末作业四象限圆弧插补资料.docx(26页珍藏版)》请在冰豆网上搜索。

硕士数控技术期末作业四象限圆弧插补资料.docx

硕士数控技术期末作业四象限圆弧插补资料

硕士《数控理论及加工技术》试题

姓名:

李世勇学号:

2012223020112

一、编写实现四个象限圆弧脉冲增量法插补计数程序,写出程序设计框图及程序注释。

答:

我们假设圆弧的中点为坐标原点,下图是主程序的设计框图。

 

返回值为1返回值为4

返回值为2返回值为3

 

 

 

返回值为0

返回值为1

 

本程序首先实现了一个象限判断函数QuadrantDecide();以判断X0,Y0点所处的象限,并分别实现了四象限的插补函数,这四个插补函数会根据选择的插补方向SN完成本象限内的插补,并进行终点判别,如果到达终点则返回值为1,否则为0。

在主程序中我们用了一个while循环根据个象限插补函数的返回值判断插补是否完成,若未完成,则根据当前的X0,Y0点所处象限选择相应的象限插补函数继续插补,直到完成。

我们把用到的各个变量都申明为全局变量,所以各个函数均没有参数。

/*四象限圆弧脉冲增量法插补计数程序

最后将X,Y方向脉冲变化的情况存储

在二维数组detail[100][2]*/

#include

intstep=0;//用于detail的计数

intF;//误差计数

intR;//半径,由用户输入

intdetail[100][2]={0};//记录X,Y方向脉冲变化的情况

intSN;//插补的方向,为顺时针,为逆时针

intflag;//X0,Y0点所处象限的判断标志,为QuadrantDecide()的返回值

intX0;

intY0;//插补起点坐标

intXe;

intYe;//插补终点坐标

intQuadrantDecide();//象限判断判断函数,判断当前X0,Y0点所处象限

intSNR1();//第一象限插补函数

intSNR2();//第二象限插补函数

intSNR3();//第三象限插补函数

intSNR4();//第四象限插补函数

intmain()

{

usingstd:

:

cout;

usingstd:

:

cin;

usingstd:

:

endl;

cout<<"四象限圆弧插补程序:

"<

cout<<"请输入圆弧半径:

R\n"<<"R=";

cin>>R;

cout<<"请输入圆弧起点坐标:

\n"<<"X0=";

cin>>X0;

cout<<"Y0=";

cin>>Y0;

cout<<"请输入圆弧终点坐标:

\n"<<"Xe=";

cin>>Xe;

cout<<"Ye=";

cin>>Ye;

cout<<"请选择圆弧插补方式:

\n1.顺时针2.逆时针(请输入或)\n";

inti;

cin>>i;

SN=i-1;

intj=0;

while(j==0)

{

flag=QuadrantDecide();//首先判断X0,Y0点当前所处象限,然后选择相应的象限插补函数

switch(flag)

{

case1:

j=SNR1();break;

case2:

j=SNR2();break;

case3:

j=SNR3();break;

case4:

j=SNR4();break;

default:

j=0;

}

}

cout<<"此圆弧的插补步骤为:

\n";

for(intn=0;n

{

cout<

}

return0;

}

//X0,Y0象限判断函数,根据插补方向SN和X0,Y0的值判断

intQuadrantDecide()

{

inti=0;

if(SN==0)

{

if(X0>=0&&Y0>0)

{

i=1;

}

if(X0<0&&Y0>=0)

{

i=2;

}

if(X0<=0&&Y0<0)

{

i=3;

}

if(X0>0&&Y0<=0)

{

i=4;

}

}

elseif(SN==1)

{

if(X0>0&&Y0>=0)

{

i=1;

}

if(X0<=0&&Y0>0)

{

i=2;

}

if(X0<0&&Y0<=0)

{

i=3;

}

if(X0>=0&&Y0<0)

{

i=4;

}

}

returni;

}

intSNR1()

{

if(0==SN)

{

F=X0*X0+Y0*Y0-R*R;//取F初值

while

(1)

{

if(F>=0)

{

F=F-2*Y0+1;

Y0=Y0-1;

detail[step][1]=-1;//记录Y的变化

step++;

}

elseif(F<0)

{

F=F+2*X0+1;

X0=X0+1;

detail[step][0]=1;//记录X的变化

step++;

}

if(QuadrantDecide()!

=1||(X0==Xe&&Y0==Ye))//如果X0,Y0过象限了,或者到达终点了,则停止

{

break;

}

}

}

elseif(1==SN)

{

F=X0*X0+Y0*Y0-R*R;

while

(1)

{

if(F>=0)

{

F=F-2*X0+1;

X0=X0-1;

detail[step][0]=-1;

step++;

}

elseif(F<0)

{

F=F+2*Y0+1;

Y0=Y0+1;

detail[step][1]=1;

step++;

}

if(QuadrantDecide()!

=1||(X0==Xe&&Y0==Ye))//如果X0,Y0过象限了,或者到达终点了,则停止

{

break;

}

}

}

if(X0==Xe&&Y0==Ye)

return1;

else

return0;

}

 

 

intSNR2()

{

if(0==SN)

{

F=X0*X0+Y0*Y0-R*R;

while

(1)

{

if(F>=0)

{

F=F+2*X0+1;

X0=X0+1;

detail[step][0]=1;

step++;

}

elseif(F<0)

{

F=F+2*Y0+1;

Y0=Y0+1;

detail[step][1]=1;

step++;

}

if(QuadrantDecide()!

=2||(X0==Xe&&Y0==Ye))//如果X0,Y0过象限了,或者到达终点了,则停止

{

break;

}

}

}

elseif(1==SN)

{

F=X0*X0+Y0*Y0-R*R;

while

(1)

{

if(F>=0)

{

F=F-2*Y0+1;

Y0=Y0-1;

detail[step][1]=-1;

step++;

}

elseif(F<0)

{

F=F-2*X0+1;

X0=X0-1;

detail[step][0]=-1;

step++;

}

if(QuadrantDecide()!

=2||(X0==Xe&&Y0==Ye))//如果X0,Y0过象限了,或者到达终点了,则停止

{

break;

}

}

}

if(X0==Xe&&Y0==Ye)

return1;

else

return0;

}

intSNR3()

{

if(0==SN)

{

F=X0*X0+Y0*Y0-R*R;

while

(1)

{

if(F>=0)

{

F=F+2*Y0+1;

Y0=Y0+1;

detail[step][1]=1;

step++;

}

elseif(F<0)

{

F=F-2*X0+1;

X0=X0-1;

detail[step][0]=-1;

step++;

}

if(QuadrantDecide()!

=3||(X0==Xe&&Y0==Ye))//如果X0,Y0过象限了,或者到达终点了,则停止

{

break;

}

}

}

elseif(1==SN)

{

F=X0*X0+Y0*Y0-R*R;

while

(1)

{

if(F>=0)

{

F=F+2*X0+1;

X0=X0+1;

detail[step][0]=1;

step++;

}

elseif(F<0)

{

F=F-2*Y0+1;

Y0=Y0-1;

detail[step][1]=-1;

step++;

}

if(QuadrantDecide()!

=3||(X0==Xe&&Y0==Ye))//如果X0,Y0过象限了,或者到达终点了,则停止

{

break;

}

}

}

if(X0==Xe&&Y0==Ye)

return1;

else

return0;

}

intSNR4()

{

if(0==SN)

{

F=X0*X0+Y0*Y0-R*R;

while

(1)

{

if(F>=0)

{

F=F-2*X0+1;

X0=X0-1;

detail[step][0]=-1;

step++;

}

elseif(F<0)

{

F=F-2*Y0+1;

Y0=Y0-1;

detail[step][1]=-1;

step++;

}

if(QuadrantDecide()!

=4||(X0==Xe&&Y0==Ye))//如果X0,Y0过象限了,或者到达终点了,则停止

{

break;

}

}

}

elseif(1==SN)

{

F=X0*X0+Y0*Y0-R*R;

while

(1)

{

if(F>=0)

{

F=F+2*Y0+1;

Y0=Y0+1;

detail[step][1]=1;

step++;

}

elseif(F<0)

{

F=F+2*X0+1;

X0=X0+1;

detail[step][0]=1;

step++;

}

if(QuadrantDecide()!

=4||(X0==Xe&&Y0==Ye))//如果X0,Y0过象限了,或者到达终点了,则停止

{

break;

}

}

}

if(X0==Xe&&Y0==Ye)

return1;

else

return0;

}

我们以一个半径为3的半圆为例,如下图1-1,由图1-1我们可以清楚的看出逆时针插补的时候其X,Y坐标的变化情况,其脉冲变化为:

(-1,0),(0,1),(0,1),(0,1),(-1,0),(-1,0),(0,-1),(-1,0),(-1,0),

(-1,0),(0,-1),(0,-1)

下面我们运行所编制的程序,依次输入插补起点坐标(3,0),终点坐标(-3,0),选择逆时针插补,可得到下图1-2所示的结果,由图中我们可以看到其输出的X,Y方向的脉冲的变化和我们预期的是一样的。

二、论述数控机床的发展趋势及其对加工的影响,论述要充分。

答:

数控机床是先进制造技术的核心。

随着现代技术的发展,制造业对数控机床及数控技术提出了更高的要求:

高速化、高精度化、高可靠性、开放式、复合化、智能化、网络化及人机界面友好等。

下面我们对这些发展的趋势一一进行详细的论述。

1.高速、高精度化

高速化指数控机床的高速切削和高速插补进给,目标是在保证加工精度的前提下,提高加工速度。

这不仅要求数控系统的处理速度快,同时还要求数控机床具有大功率和大转矩的高速主轴、高速进给电机、高性能的刀具、稳定的高频动态刚度。

高精度包括高进给分辨率、高定位精度和重复定位精度、高动态刚度、高性能闭环交流数字伺服系统等。

数控机床由于装备有新型的数控系统和伺服系统,使机床的分辨率和进给速度达到0.1μm(24m/min),1μm(100~240m/min),现代数控系统已经逐步由16bitCPU过渡到32bitCPU。

日本产的FANUC15系统开发出64bitCPU系统,能达到最小移动单位0.1μm时,最大进给速度为100m/min。

FANUC16和FANUC18采用简化与减少控制基本指令的RISC(ReducedInstructionSetComputer)精简指令计算机,能进行更高速度的数据处理,使一个程序的处理时间缩短到0.5ms,连续1mm移动指令的最大进给速度可达到120m/min。

日本交流伺服电动机已装上每转可产生100万个脉冲的内藏位置检测器,其位置检测精度可达到0.01mm/脉冲及在位置伺服系统中采用前馈控制与非线性控制等方法。

补偿技术方面,除采用齿隙补偿、丝杠螺距误差补偿、刀具补偿等技术外,还开发了热补偿技术,减少由热变形引起的加工误差。

2.“开放式”

要求新一代的数控机床的控制系统是一种开放式、模块化的体系结构。

系统的构成要素应是模块化的,同时各模块之间的接口必须是标准化的;系统的软件、硬件构造应是“透明的”、“可移植的”;系统应具有“连续升级”的能力。

为满足现代机械加工的多样化要求,新一代数控机床机械结构更趋向于“开放式”。

机床结构按模块化、系列化原则进行设计与制造,以便缩短供货周期,最大限度满足用户的工艺要求,机电一体化内容更加丰富,因此专门为数控机床配套的各种功能部件已完全商品化。

3.智能化

所谓智能化数控系统,是指具有拟人智能特征,智能数控系统通过对影响加工精度和效率的物理量进行检测、建模、提取特征,自动感知加工系统的内部状态和外部环境,快速做出实现最佳目标的智能决策,对进给速度、背吃刀量、坐标移动、主轴转速等工艺参数进行实时控制,使机床的加工过程处于最佳状态。

现代数控机床智能化技术主要包括以下几个方面:

(1)在数控系统中引进自适应控制技术

数控机床中因工件毛坯余量不匀、材料硬度不一致、刀具磨损、工件变形、润滑或冷却液等因素的变化将直接或间接影响加工效果。

自适应控制是在加工过程中不断的检查某些能代表加工状态的参数,如切削力、切削温度等,通过评价函数计算和最优化处理,对主轴转速、刀具(或工作台)进给速度等切削用量参数进行校正,是数控机床能够始终在最佳的切削状态下工作。

(2)设置故障自诊断功能

数控机床工作过程中出现故障时,控制系统能自动诊断,并立即采取措施排除故障,以适应长时间在无人环境下的正常运行要求。

(3)具有人机对话自动编程功能

可以把自动编程机具有的功能,装入数控系统,使零件的程序编制工作可以在数控系统上在线进行,用人机对话方式,通过CRT彩色显示和手动操作键盘的配合,实现程序的输入、编辑和修改,并在数控系统中建立切削用量专家系统,从而达到提高编程效率和降低操作人员技术水平的要求。

(4)应用图像识别和声控技术

由机床自己辨别图样,并自动地进行数控加工的智能化技术和根据人的语言声音对数控机床进行自动控制的智能化技术。

智能化技术提升了数控机床的功能和品质,数控机床智能化的发展前景非常广阔。

它是世界制造技术进一步提高效率、自动化、智能化、网络化、集成化的努力目标,也是在今天数字控制机床技术基础上向更高阶段发展的努力方向。

预计在21世纪前半期,有可能在现有机床技术上实现单台机床的“适应控制”,并逐步向制造系统发展;在后半期,有可能建立不同程度智能化技术水平的CIM、CIMS,其发展时间的快慢,将取决于人类的努力和科学技术水平的提高。

4.复合化

复合化加工,即在一台机床上工件一次装夹便完成多任务种、多任务序的加工,通过减少装卸刀具、装卸工件、调整机床的辅助时间,实现一机多能,最大限度提高机床的开机率和利用率。

20世纪60年代初期,在一般数控机床的基础上开发了数控加工中心(MC),即自备刀库的自动换刀数控机床。

在加工中心机床上,工件一次装夹后,机床的机械手可自动更换刀具,连续地对工件的各加工面进行多种工序加工。

目前加工中心的刀库容量可多达120把,自动换刀装置的换刀时间为1~2s。

加工中心中除了镗铣类加工中心和车削类车削中心外,还出现了集成型车/铣加工中心,自动更换电极的电火花加工中心及带有自动更换砂轮装置的内圆磨削加工中心等。

随着数控技术的不断发展,打破了原有机械分类的工艺性能界限,出现了相互兼容、扩大工艺范围的趋势。

复合加工技术不仅是加工中心、车削中心等同类技术领域内的复合,而且正向不同类技术领域内的复合发展。

多轴同时联动移动,是衡量数控系统的重要指标,现代数控系统的控制轴数可多达16轴,同时联动轴数已达到6轴。

高档次的数控系统,还增加了自动上下料的轴控制功能,有的在PLC里增加位置控制功能,以补充轴控制数的不足,这将会进一步扩大数控机床的工艺范围。

5.高可靠性

高可靠性的数控系统是提高数控机床可靠性的关键。

选用高质量的印制电路和元器件,对元器件进行严格地筛选,建立稳定的制造工艺及产品性能测试等一整套质量保证体系。

在新型的数控系统中采用大规模、超大规模集成电路实现三维高密度插装技术,进一步地把典型的硬件结构集成化,做成专用芯片,提高了系统的可靠性。

现代数控机床均采用CNC系统,数控系统的硬件由多种功能模块制造,对于不同功能的模块可根据机床数控功能的需要选用,并可自行扩展,组成满意的数控系统。

在CNC系统中,只要改变一下软件或控制程序,就能制成适应各类机床不同要求的数控系统。

现代数控机床能装备有各种类型的监测、检测装置,以及具有故障自动诊断与保护功能。

能够对工件和刀具进行监测,发现工件超差,刀具磨损、破裂,能及时报警,给予补偿,或对刀具进行调换,具有故障预报和自恢复功能,保证数控机床长期可靠地工作。

数控系统一般对软件、硬件进行故障自诊断,能自动显示故障部位及类型,以便快速排除故障。

此外系统中注意增强保护功能,如行程范围保护功能、断电保护功能等,以避免损坏机床和工件的报废。

6.网络化

随着柔性制造单元(FMC)、柔性制造系统(FMS)的发展,数控机床网络化建设已是现代制造业发展的一个大趋势。

网络化数控装备是近年的新的焦点。

数控装备的网络化将极大地满足生产线、制造系统、制造企业对信息集成的需求,也是实现新的制造模式如敏捷制造、虚拟企业、全球制造的基础单元。

数控机床网络系统包括:

(1)网络服务器;

(2)局域网线;

(3)CAD/CAM计算机;

(4)CNCLINK-4.0管理系统;

(5)联网系统主控机;

(6)远程通讯接口;

(7)通讯电缆;

(8)数控机床。

其中网络服务器、局域网线、CAD/CAM系统和数控机床是企业已存在的资源。

系统管理机是一台安装了联网专用软件的工业级PC计算机,可以将客户管理端软件安装在局域网的任何一台计算机上作为管理工作站。

联网系统管理机是一台专用计算机,其作用是接受各工作站的调度,向网络上所有数控机床发送指令,实现机床信息的统一管理。

远程通讯接口设备是专用于主控机与机床间通讯的多串口分配器,其特点是可实现远距离传输而无信号损失。

通讯电缆是普通4芯屏蔽电缆,两端加光电隔离器以避免干扰信号。

随着网络技术日益普遍运用,互联网进入车间只是时间问题,这将是数字化制造的主要标志。

从另一角度来看,企业资源计划如果仅仅局限于业务管理部门(人、财、物、产、供、销)或设计开发等企业上层的信息化是远远不够的,车间最底层的加工设备——数控机床不能够连成网络或信息化,就必然成为制造业信息化的制约瓶颈。

所以,对于现代制造工厂来说,除了要提高机床的数控化率外,更要使所拥有的数控机床具有双向、高速的联网通讯功能,以保证信息流在车间的底层之间及底层与上层之间通信畅通无阻。

7.人机界面的友好

现代数控机床具有丰富的显示功能,多数系统都具有实时图形显示、PLC梯形图显示和多窗口的其他显示功能。

丰富的编程功能,像会话式自动编程功能、图形输入自动编程功能,有的还具有CAD/CAM功能。

方便的操作,有引导对话方式帮助你很快熟悉操作,设有自动工作手动参与功能。

根据加工的要求,各系统都设了多种方便于编程的固定循环。

伺服系统数据和波形的显示,伺服系统参数的自动设定。

系统具有多种管理功能,刀具及其寿命的管理、故障记录、工作记录等。

PLC程序编制方法增加,目前有梯形图编程(LadderLanguageProgram)方法、步进顺序流程图编程(StepSequenceProgram)方法。

现在越来越广泛地用C语言编写PLC程序。

帮助功能,系统不但显示报警内容,而且能指出解决问题的方法。

三、论述直线电机的特点、应用及其对加工的影响,举例论述。

答:

1.直线电机的特点

直线电机是一种将电能直接转化成直线运动机械能而不需要任何中间转换机构的传动装置。

由于采用了“零传动”,从而较传统传动方式有明显的优势。

它主要具有以下一些特点:

(1)结构简单。

管型直线电机不需要经过中间转换机构而直接产生直线运动,使结构大大简化,运动惯量减少,动态响应性能和定位精度大大提高;同时也提高了可靠性,节约了成本,使制造和维护更加简便。

它的初次级可以直接成为机构的一部分,这种独特的结合使得这种优势进一步体现出来。

  

(2)适合高速直线运动。

因为不存在离心力的约束,普通材料亦可以达到较高的速度。

而且如果初、次级间用气垫或磁垫保存间隙,运动时无机械接触,因而运动部分也就无摩擦和噪声。

这样,传动零部件没有磨损,可大大减小机械损耗,避免拖缆、钢索、齿轮与皮带轮等所造成的噪声,从而提高整体效率。

(3)初级绕组利用率高。

在管型直线感应电机中,初级绕组是饼式的,没有端部绕组,因而绕组利用率高。

(4)无横向边缘效应。

横向效应是指由于横向开断造成的边界处磁场的削弱,而圆筒型直线电机横向无开断,所以磁场沿周向均匀分布。

  

(5)容易克服单边磁拉力问题。

径向拉力互相抵消,基本不存在单边磁拉力的问题。

(6)易于调节和控制。

通过调节电压或频率,或更换次级材料,可以得到不同的速度、电磁推力,适用于低速往复运行场合。

(7)适应性强。

直线电机的初级铁芯可以用环氧树脂封成整体,具有较好的防腐、防潮性能,便于在潮湿、粉尘和有害气体的环境中使用;而且可以设计成多种结构形式,满足不同

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 哲学历史

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

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