硕士数控技术期末作业四象限圆弧插补.docx
《硕士数控技术期末作业四象限圆弧插补.docx》由会员分享,可在线阅读,更多相关《硕士数控技术期末作业四象限圆弧插补.docx(24页珍藏版)》请在冰豆网上搜索。
硕士数控技术期末作业四象限圆弧插补
2010级硕士研究生
《数控理论与加工技术》作业
专业:
机械设计及理论教师:
罗红波
一、编程实现四个象限圆弧顺时针逐点比较法插补计数,逐条程序注释说明。
解:
以下为基于单片机汇编语言的4个象限顺圆弧逐点比较法插补程序,具备过象限插补的能力(实际上就是实现了数控编程G代码中的顺时针圆弧插补指令G02的功能)。
其中用R表示圆弧,S表示顺时针,SR1、SR2、SR3、SR4分别表示第一象限、第二象限、第三象限、第四象限的顺圆弧。
主程序根据偏差
:
及
分为两大板块:
⑴当偏差
时,首先根据圆弧标志判断圆弧所在象限(起始为SR1、SR2、SR3或SR4),然后分程序段分别实现SR1、SR2、SR3、SR4或者SR1→SR4、SR2→SR1、SR3→SR2、SR4→SR3(过象限插补能力设计)的逐点比较法插补计数。
之后,通过程序循环,可实现顺时针整圆弧的插补计数。
(程序段RP_2_0之前板块)
⑵当偏差
时,首先根据圆弧标志判断圆弧所在象限(起始为SR1、SR2、SR3或SR4),然后分程序段分别实现SR1、SR2、SR3、SR4或者SR1→SR4、SR2→SR1、SR3→SR2、SR4→SR3(过象限插补能力设计)的逐点比较法插补计数。
之后,通过程序循环,可实现顺时针整圆弧的插补计数。
(程序段RP_2_0之后板块)
;******************************************************************************
;顺圆弧插补程序:
RP
;******************************************************************************
RP:
MOVA,#00H
MOVFz1,A;偏差单元初始化清零
MOVFz2,A
MOVFz3,A
RP0:
MOVDPTR,#FEED%
MOVXA,@DPTR
CJNEA,#01H,RP0_1
MOVR6,#02H
SJMPRP0_5
RP0_1:
CJNEA,#02H,RP0_2
MOVR6,#04H
SJMPRP0_5
RP0_2:
CJNEA,#03H,RP0_3
MOVR6,#08H
SJMPRP0_5
RP0_3:
MOVR6,#10H
RP0_5:
LCALLDEL1MS;调用延时1MS子程序
MOVA,Fz1
JBACC.7,RP_2;F<0,则转
MOVA,FLAG
ANLA,#07H;圆弧标志:
000=SR1,001=SR2CJNEA,#00H,RP_1_1
MOVA,#03H;说明是SR1,应走-Z
MOVF_ORIENT,A
LCALLDISP_XZ
LCALLMAN_MOVE;按标志走步
LCALLDISP_XZ
LCALLCOPM_F1;计算偏差及动点坐标:
F<-F-2Z+1,Zi<-Zi-1
MOVA,FLAG
ANLA,#00100000B;判是否过象限
JZRP_1_0_2;不过象限则转
MOVA,Zi1;判是否要过象限了
ORLA,Zi2
ORLA,Zi3
JNZRP_1_0_3;<>0,还不过象限
MOVA,FLAG;否则,过了象限为SR4
SETBACC.0;#03H=SR4
SETBACC.1
CLRACC.2
CLRACC.5;清过象限标志位////98/7/10
MOVFLAG,A
SETBF0;////98/7/10
LCALLNEW_STEPS;重新计算步数
MOVA,#00H;偏差单元清零
MOVFz1,A
MOVFz2,A
MOVFz3,A
LJMPRP0
RP_1_0_3:
LCALLRP_IS_END;判是否到终点:
Xe=Xi,Ze=Zi
JNCRP_1_0_4;C=1,到了;否则,未到
RET;到了,就返回
RP_1_0_4:
LJMPRP0;继续插补
RP_1_0_2:
LCALLRP_IS_OVER;步数减1,并判是否结束
JNCRP_1_0_5
RET
RP_1_0_5:
LJMPRP0
RP_2:
LJMPRP_2_0;F<0处理
RP_1_1:
CJNEA,#01H,RP_1_2
MOVA,#02H;说明是SR2,应走+X
MOVF_ORIENT,A
LCALLDISP_XZ
LCALLMAN_MOVE;按标志走步
LCALLDISP_XZ
LCALLCOPM_F3;计算偏差及动点坐标:
F<-F-2X+1,Xi<-Xi-1
MOVA,FLAG
ANLA,#00100000B;判是否过象限
JZRP_1_1_2;不过象限则转
MOVA,Xi1;否则,判是否要过象限了
ORLA,Xi2
ORLA,Xi3
JNZRP_1_1_3;<>0,还不过象限
MOVA,FLAG;否则,过了象限为SR1
CLRACC.0;#00H=SR1
CLRACC.1
CLRACC.2
CLRACC.5
MOVFLAG,A
CLRF0
LCALLNEW_STEPS
MOVA,#00H
MOVFz1,A
MOVFz2,A
MOVFz3,A
LJMPRP0
RP_1_1_3:
LCALLRP_IS_END;判是否到终点:
Xe=Xi,Ze=Zi
JNCRP_1_1_4;C=1,到了;否则,未到
RET;到了,就返回
RP_1_1_4:
LJMPRP0;继续插补
RP_1_1_2:
LCALLRP_IS_OVER;步数减1,并判是否结束
JNCRP_1_1_5
RET
RP_1_1_5:
LJMPRP0
RP_1_2:
CJNEA,#02H,RP_1_3
MOVA,#04H;说明是SR3,应走+Z
MOVF_ORIENT,A
LCALLDISP_XZ
LCALLMAN_MOVE;按标志走步
LCALLDISP_XZ
LCALLCOPM_F1;计算偏差及动点坐标:
F<-F-2Z+1,Zi<-Zi-1
MOVA,FLAG
ANLA,#00100000B;判是否过象限
JZRP_1_2_2;不过象限则转
MOVA,Zi1;否则,判是否要过象限了
ORLA,Zi2
ORLA,Zi3
JNZRP_1_2_3;<>0,还不过象限
MOVA,FLAG;否则,过了象限为SR2
SETBACC.0;#01H=SR2
CLRACC.1
CLRACC.2
CLRACC.5
MOVFLAG,A
SETBF0
LCALLNEW_STEPS
MOVA,#00H
MOVFz1,A
MOVFz2,A
MOVFz3,A
LJMPRP0
RP_1_2_3:
LCALLRP_IS_END;判是否到终点:
Xe=Xi,Ze=Zi
JNCRP_1_2_4;C=1,到了;否则,未到
RET;到了,就返回
RP_1_2_4:
LJMPRP0;继续插补
RP_1_2_2:
LCALLRP_IS_OVER;步数减1,并判是否结束
JNCRP_1_2_5
RET
RP_1_2_5:
LJMPRP0
RP_1_3:
CJNEA,#03H,RP_1_4
MOVA,#01H;说明是SR4,应走-X
MOVF_ORIENT,A
LCALLDISP_XZ
LCALLMAN_MOVE;按标志走步
LCALLDISP_XZ
LCALLCOPM_F3;计算偏差及动点坐标:
F<-F-2X+1,Xi<-Xi-1
MOVA,FLAG
ANLA,#00100000B;判是否过象限
JZRP_1_3_2;不过象限则转
MOVA,Xi1;否则,判是否要过象限了
ORLA,Xi2
ORLA,Xi3
JNZRP_1_3_3;<>0,还不过象限
MOVA,FLAG;否则,过了象限为SR3
CLRACC.0;#02H=SR3
SETBACC.1
CLRACC.2
CLRACC.5
MOVFLAG,A
CLRF0
LCALLNEW_STEPS
MOVA,#00H
MOVFz1,A
MOVFz2,A
MOVFz3,A
LJMPRP0
RP_1_3_3:
LCALLRP_IS_END;判是否到终点:
Xe=Xi,Ze=Zi
JNCRP_1_3_4;C=1,到了;否则,未到
RET;到了,就返回
RP_1_3_4:
LJMPRP0;继续插补
RP_1_3_2:
LCALLRP_IS_OVER;步数减1,并判是否结束
JNCRP_1_3_5
RET
RP_1_3_5:
LJMPRP0
;F<0处理
RP_2_0:
MOVA,FLAG
ANL A,#07H ;圆弧标志:
000=SR1,001=SR2
CJNEA,#00H,RP_2_1
MOVA,#02H;说明是SR1,应走+X
MOVF_ORIENT,A
LCALLDISP_XZ
LCALLMAN_MOVE;按标志走步
LCALLDISP_XZ
LCALLCOPM_F2;计算偏差及动点坐标:
F<-F+2X+1,Xi<-Xi+1
MOVA,FLAG
ANLA,#00100000B;判是否过象限
JZRP_2_0_2;不过象限,则转
MOVA,Zi1;判是否要过象限了
ORLA,Zi2
ORLA,Zi3
JNZRP_2_0_3;<>0,还不过象限
MOVA,FLAG;否则,过了象限为SR4
SETBACC.0;#03H=SR4
SETBACC.1
CLRACC.2
CLRACC.5
MOVFLAG,A
SETBF0
LCALLNEW_STEPS
MOVA,#00H
MOVFz1,A
MOVFz2,A
MOVFz3,A
LJMPRP0
RP_2_0_3:
LCALLRP_IS_END;判是否到终点:
Xe=Xi,Ze=Zi
JNCRP_2_0_4;C=1,到了;否则,未到
RET;到了,就返回
RP_2_0_4:
LJMPRP0;继续插补
RP_2_0_2:
LCALLRP_IS_OVER;步数减1,并判是否结束
JNCRP_2_0_5
RET
RP_2_0_5:
LJMPRP0
RP_2_1:
CJNEA,#01H,RP_2_2
MOVA,#04H;说明是SR2,应走+Z
MOVF_ORIENT,A
LCALLDISP_XZ
LCALLMAN_MOVE;按标志走步
LCALLDISP_XZ
LCALLCOPM_F4;计算偏差及动点坐标:
F<-F+2Z+1,Zi<-Zi+1
MOVA,FLAG
ANLA,#00100000B;判是否过象限
JZRP_2_1_2;不过象限则转
MOVA,Xi1;否则,判是否要过象限了
ORLA,Xi2
ORLA,Xi3
JNZRP_2_1_3;<>0,还不过象限
MOVA,FLAG;否则,过了象限为SR1
CLRACC.0;#00H=SR1
CLRACC.1
CLRACC.2
CLRACC.5
MOVFLAG,A
CLRF0
LCALLNEW_STEPS
MOVA,#00H
MOVFz1,A
MOVFz2,A
MOVFz3,A
LJMPRP0
RP_2_1_3:
LCALLRP_IS_END;判是否到终点:
Xe=Xi,Ze=Zi
JNCRP_2_1_4;C=1,到了;否则,未到
RET;到了,就返回
RP_2_1_4:
LJMPRP0;继续插补
RP_2_1_2:
LCALLRP_IS_OVER;步数减1,并判是否结束
JNCRP_2_1_5
RET
RP_2_1_5:
LJMPRP0
RP_2_2:
CJNEA,#02H,RP_2_3
MOVA,#01H;说明是SR3,应走-X
MOVF_ORIENT,A
LCALLDISP_XZ
LCALLMAN_MOVE;按标志走步
LCALLDISP_XZ
LCALLCOPM_F2;计算偏差及动点坐标:
F<-F+2X+1,Xi<-Xi+1
MOVA,FLAG
ANLA,#00100000B;判是否过象限
JZRP_2_2_2;不过象限则转
MOVA,Zi1;否则,判是否要过象限了
ORLA,Zi2
ORLA,Zi3
JNZRP_2_2_3;<>0,还不过象限
MOVA,FLAG;否则,过了象限为SR2
SETBACC.0;#01H=SR2
CLRACC.1
CLRACC.2
CLRACC.5
MOVFLAG,A
SETBF0
LCALLNEW_STEPS
MOVA,#00H
MOVFz1,A
MOVFz2,A
MOVFz3,A
LJMPRP0
RP_2_2_3:
LCALLRP_IS_END;判是否到终点:
Xe=Xi,Ze=Zi
JNCRP_2_2_4;C=1,到了;否则,未到
RET;到了,就返回
RP_2_2_4:
LJMPRP0;继续插补
RP_2_2_2:
LCALLRP_IS_OVER;步数减1,并判是否结束
JNCRP_2_2_5
RET
RP_2_2_5:
LJMPRP0
RP_2_3:
CJNEA,#03H,RP_2_4
MOVA,#03H;说明是SR4,应走-Z
MOVF_ORIENT,A
LCALLDISP_XZ
LCALLMAN_MOVE;按标志走步
LCALLDISP_XZ
LCALLCOPM_F4;计算偏差及动点坐标:
F<-F+2Z+1,Zi<-Zi+1
MOVA,FLAG
ANLA,#00100000B;判是否过象限
JZRP_2_3_2;不过象限则转
MOVA,Xi1;否则,判是否要过象限了
ORLA,Xi2
ORLA,Xi3
JNZRP_2_3_3;<>0,还不过象限
MOVA,FLAG;否则,过了象限为SR3
CLRACC.0;#02H=SR3
SETBACC.1
CLRACC.2
CLRACC.5
MOVFLAG,A
CLRF0
LCALLNEW_STEPS
MOVA,#00H
MOVFz1,A
MOVFz2,A
MOVFz3,A
LJMPRP0
RP_2_3_3:
LCALLRP_IS_END;判是否到终点:
Xe=Xi,Ze=Zi
JNCRP_2_3_4;C=1,到了;否则,未到
RET;到了,就返回
RP_2_3_4:
LJMPRP0;继续插补
RP_2_3_2:
LCALLRP_IS_OVER;步数减1,并判是否结束
JNCRP_2_3_5
RET
RP_2_3_5:
LJMPRP0
二、论述数控机床的发展趋势。
现代数控机床的发展趋势
摘要:
数控机床是先进制造技术的核心。
随着现代技术的发展,制造业对数控机床及数控技术提出了更高的要求:
高速化、高精度化、高可靠性、开放式、复合化、智能化、网络化及人机界面友好等。
本文将就这些特点展开论述。
关键词:
数控机床发展趋势
机床制造业是一个国家的基本工业,是机器大工业生产的技术基础。
数控机床是机电一体化的典型产品。
机床数控化是机床行业技术进步的必由之路,在工业国家,数控机床占其机床总数的30%~40%。
技术轨迹日趋高、精、尖,目标方向仍是数控机床、柔性制造单元、柔性制造系统、计算机集成制造系统及至无人化车间和自动化工厂。
作为数控机床核心的数控系统技术发展十分迅速,各国以期抢占21世纪高科技制高点,足以引起我们关注和重视。
现代数控机床技术是基于机械学、控制学、电子学、计算机科学等四大基础学科发展起来的一门综合性新型学科。
随着制造技术发展的需求,制造业对21世纪数控机床及数控技术的发展提出了更高的要求。
要求现代数控机床向高速度、高精度、高可靠性、开放式、智能化、复合化、网络化及具备更完整功能的方向发展。
本文将就这些特点展开论述。
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、智能化
所谓智能化数控系统,是指具有拟人智能特征,智能数控系统通过对影响加工精度和效率的物理量进行检测、建模、提取特征,自动感知加工系统的内部状态和外部环境,快速做出实现最佳目标的智能决策,对进给速度、背吃刀量、坐标移动、主轴转速等工艺参数进行实时控制,使机床的加工过程处于最佳状态。
现代数控机床智能化技术主要包括以下几个方面:
⑴在数控系统中引进自适应控制技术
数控机床中因工件毛坯余量不匀、材料硬度不一致、刀具磨损、工件变形、润滑或冷却液等因素的变化将直接或间接影响加工效果。
自适应控制是在加工过程中不断的检查某些能代表加工状态的参数,如切削力、切削温度等,通过评价函数计算和最优化处理,对主轴转速、刀具(或工作台)进给速度等切削用量参数进行校正,是数控机床能够始终在最佳的切削状态下工作。
⑵设置故障自诊断功能
数控机床工作过程中出现故障时,控制系统能自动诊断,并立即采取措施排除故障,以适应长时间在无人环境下的正常运行要求。
⑶具有人机对话自动编程功能
可以把自动编程机具有的功能,装入数控系统,使零件的程序编制工作可以在数控系统上在线进行,用人机对话方式,通过CRT彩色显示和手动操作键盘的配合,实现程序的输入、编辑和修改,并在数控系统中建立切削用量专家系统,从而达到提高编程效率和降低操作人员技术水平的要求。
⑷应用图像识别和声控技术
由机床自己辨别图样,并自动地进行数控加工的智能化技术和根据人的语言声音对数控机床进行自动控制的智能化技术。
智能化技术提升了数控机床的功能和品质,数控机床智能化的发展前景非常广阔。
它是世界制造技术进一步提高效率、自动化、智能化、网络化、集成化的努力目标,也是在今天数字控制机床技术基础上向更高阶段发展的努力方向。
预计在21世纪前半期,有可能在现有机床技术上实现单台机床的“适应控制”,并逐步向制造系统发展;在后半期,有可能建立不同程度智能化技术水平的CIM、CIMS,其发展时间的快慢,将取决于人类的努力和科学技术水平的提高。
4、复合化
复合化加工,即在一台机床上工件一次装夹便完成多任务种、多任务序的加工,通过减少装卸刀具、装卸工件、调整机床的辅助时间,实现一机多能,最大限度提高机床的开机率和利用率。
20世纪60年代初期