机床数控技术课程设计说明书

合集下载

数控技术课程设计机床

数控技术课程设计机床

数控技术课程设计机床一、教学目标本节课的教学目标是让学生掌握数控机床的基本原理、结构和操作方法,培养学生对数控技术的兴趣和认识,提高学生的实际操作能力。

具体分为以下三个方面:1.知识目标:使学生了解数控机床的定义、分类、基本构成和主要性能指标,掌握数控机床的加工原理和工作原理,熟悉数控编程的基本方法。

2.技能目标:通过实践活动,使学生能够正确操作数控机床,进行简单零件的加工,具备一定的数控编程和调试能力。

3.情感态度价值观目标:培养学生对数控技术的热爱,增强学生的创新意识和团队合作精神,培养学生勇于探索、积极进取的精神风貌。

二、教学内容本节课的教学内容主要包括以下几个部分:1.数控机床的定义、分类和基本构成。

2.数控机床的加工原理和工作原理。

3.数控编程的基本方法。

4.数控机床的操作步骤和注意事项。

5.数控机床的安全操作和维护。

三、教学方法为了提高教学效果,本节课将采用多种教学方法相结合的方式进行教学:1.讲授法:通过讲解数控机床的基本原理、结构和操作方法,使学生掌握相关理论知识。

2.演示法:通过实际操作数控机床,使学生直观地了解数控机床的工作原理和操作方法。

3.实践法:学生进行数控机床的实际操作,培养学生的动手能力。

4.讨论法:分组讨论数控编程方法和加工技巧,促进学生之间的交流与合作。

四、教学资源为了保证教学的顺利进行,本节课需要准备以下教学资源:1.教材:《数控技术》相关章节。

2.多媒体资料:数控机床的结构和工作原理图片、视频。

3.实验设备:数控机床、数控编程软件。

4.参考书:相关数控技术书籍。

以上是对数控技术课程设计机床的教学目标、教学内容、教学方法和教学资源的分析与设计。

希望通过本节课的学习,学生能够掌握数控机床的基本知识和操作技能,为后续课程的学习打下坚实的基础。

五、教学评估为了全面、客观地评价学生的学习成果,本节课采用以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答、小组讨论等表现,评估学生的学习态度和积极性。

数控技术课程设计

数控技术课程设计

南湖学院课程设计报告书题目:数控技术课程设计系部:机械与电子工程系专业:机械设计制造及其自动化班级:N机自08-4F姓名:刘文鹏学号:2 4 0 8 1 9 0 0 3 6 42011年6 月5 日南湖学院课程设计任务书设计题目:数控技术课程设计系部:机电系专业:机械设计制造及自动化学生姓名: 刘文鹏学号: 24081900364 起迄日期: 2011年 5月28日至2011年6月5日指导教师:谭华《数控技术》课程设计任务书一、课程设计目的本课程设计是学完数控编程之后,进行的下一个实践性教学环节,它一方面要求学生能根据零件图,用ISO码编制数控加工程序,熟悉加工程序输入、检查、编辑及执行的方法,另一方面,为今后的毕业设计、今后从事数控加工进行一次综合训练。

二、课程设计任务根据指导书提供的零件图及相关技术要求,选择车床和铣床加工零件各一个,选择某种数控系统的编程指令编程,并进行数控加工仿真。

三、设计题目、内容及步骤(具体题目见附录)1.根据零件图样要求、毛坯情况,确定工艺方案及加工路线;2.选择机床设备;3.选择刀具;4.确定切削用量;5.确定工件坐标系、对刀点和换刀点;6.编写程序。

四、完成的工作量1、设计说明书一份,包括课程设计目的,本人的设计任务,设计步骤,结论,心得体会;2、上交加工程序的仿真界面和图形。

五、进度安排按教学计划的规定,本课程设计时间为二周方案确定约占20%坐标点的计算约占15%程序的编制约占25%程序的仿真、效验和调试约占25%编写设计说明书约占15%六、附录(设计题目及参考例题)下面工件毛胚的材料为尼龙棒,编写程序并加工成工件。

图一图二图三图四图五图六用提供的刀具(Ø12㎜/Ø10㎜立铣刀)在蜡模上完成下列零件的加工,图示凸块外侧面,有刀具半径补偿功能,图二凸块厚3㎜。

图一图二图三图四目录1前言 (1)2设计任务与内容 (1)3设计步骤 (1)3.1数控车床加工零件 (1)3.1.1零件结构工艺分析、毛坯及加工定位基准的确定 (1)3.1.2加工方案 (2)3.1.3选择机床设备 (2)3.1.4选择刀具 (2)3.1.5确定切削用量 (3)3.1.6数控加工工序卡片 (3)3.1.7确定工件坐标系、对刀点和换刀点 (3)3.1.8编写程序 (4)3.1.9加工程序仿真 (4)3.2数控铣床加工零件 (5)3.2.1零件结构工艺分析、毛坯及加工定位基准的确定 (5)3.2.2加工方案 (6)3.2.3选择机床设备 (6)3.2.4选择刀具 (6)3.2.5确定切削用量 (6)3.2.6数控加工工序卡片 (6)3.2.7确定工件坐标系、对刀点 (7)3.2.8编写程序 (7)3.2.9加工程序仿真 (8)4.结语 (10)5 参考文献 (11)1前言数控技术课程设计是高等院校机械专业类各专业实践性很强的,重要的课程设计。

机床数控技术第三版课程设计

机床数控技术第三版课程设计

机床数控技术第三版课程设计1. 设计背景本课程设计是机床数控技术第三版的课程设计项目,旨在通过学生对数控工具机刀具路径规划与数控简单加工程序的编制,从而提高学生对机床数控技术的应用能力和创新能力。

2. 设计目标1.掌握工具路径规划的原理和方法。

2.掌握数控加工程序的编写方法。

3.实现针对不同零件的数控加工。

3. 设计内容3.1 实验环境1.本实验使用的数控工具机为CNC3020雕刻机。

2.软件环境:Mach 3 CNC控制软件以及AutoCAD 2014(或以上版本)。

3.2 实验步骤1.选择一种标准工件进行零件图的准备和3D模型的建立。

在AutoCAD中完成设计,并将模型导出为STL文件。

2.在Mach 3中完成设备的配置,包括控制器驱动程序、设备密码和连接方式等。

3.设计并编写相应的G代码程序,其中包括垂直下刀和水平下刀两个方向的切削程序。

完成程序后,使用Mach 3进行验证。

4.使用CNC3020雕刻机进行数控加工实验。

3.3 实验要求1.设计完成后,请按照设计格式和标准进行文档输出。

2.实验结果包括数控加工后的工件图和相应的G代码程序。

3.实验时间为1周。

4. 实验注意事项1.操作人员需具备一定的AutoCAD及Mach 3的使用技能。

C3020雕刻机工作时请注意安全,切勿将人体及其他物品靠近刀具区域。

3.加工完成后,请不要关闭设备电源及软件。

5. 评分细则1.设计方案的创新性、合理性以及程序的完整性等均需要考虑,满分为100分。

2.设计内容的完成度,评分范围为0-30分。

3.代码和文档的格式、规范性等方面,评分范围为0-20分。

6. 实验成果提交打包需要提交的实验内容,包括文档、G代码程序以及数控加工后的工件图,将其压缩成一个文件。

最后将文件提交到指定邮箱中。

7. 实验总结数控技术是现代制造业最重要的技术之一,在实际生产中得到了广泛应用。

本次课程设计通过CNC3020雕刻机进行数控加工实验,使学生在学习中直接体验到数控技术的应用,提高了学生的应用能力和动手能力。

数控机床套类课程设计

数控机床套类课程设计

数控机床套类课程设计一、课程目标知识目标:1. 学生能理解数控机床的基本概念、分类及用途。

2. 学生能掌握套类零件的加工工艺、编程方法及机床操作步骤。

3. 学生能了解数控机床的安全操作规程及维护保养知识。

技能目标:1. 学生能运用CAD/CAM软件进行套类零件的图形绘制、加工编程。

2. 学生能独立操作数控机床完成套类零件的加工。

3. 学生能对数控机床进行简单的故障排除及日常维护。

情感态度价值观目标:1. 学生培养对制造业的兴趣,增强对数控技术的认识。

2. 学生树立安全生产意识,养成良好的操作习惯。

3. 学生培养团队协作精神,提高沟通与交流能力。

课程性质:本课程为实践性较强的专业课,以培养学生实际操作能力为主,结合理论知识,提高学生的综合运用能力。

学生特点:学生处于中职或高职阶段,对数控机床有一定了解,具备一定的理论基础,但实际操作能力有待提高。

教学要求:结合学生特点,注重理论与实践相结合,强化操作训练,提高学生的实际加工能力。

同时,关注学生的情感态度培养,使其形成良好的职业素养。

通过具体的学习成果分解,为后续的教学设计和评估提供依据。

二、教学内容1. 数控机床概述- 数控机床的发展历程、分类及特点- 数控机床的组成及工作原理2. 套类零件加工工艺- 套类零件的特点及加工要求- 套类零件的加工工艺流程及参数选择3. 数控编程- 数控编程的基本概念、方法及步骤- 套类零件的数控编程实例分析4. CAD/CAM软件应用- CAD/CAM软件的基本操作- 套类零件的图形绘制、加工编程5. 数控机床操作- 数控机床的基本操作方法- 套类零件的机床操作步骤及注意事项6. 数控机床安全与维护- 数控机床的安全操作规程- 数控机床的日常维护与故障排除7. 实践操作- 套类零件的加工实践- 数控机床操作技能训练教学内容安排与进度:第1-2周:数控机床概述、套类零件加工工艺第3-4周:数控编程、CAD/CAM软件应用第5-6周:数控机床操作、实践操作第7-8周:数控机床安全与维护、综合训练本教学内容根据课程目标,结合教材章节进行组织,确保内容的科学性和系统性。

数控应用技术的课程设计

数控应用技术的课程设计

数控应用技术的课程设计一、课程目标知识目标:1. 让学生掌握数控机床的基本结构、工作原理及分类,了解数控系统的组成和功能。

2. 使学生掌握数控编程的基本知识,包括编程语言、程序结构及其相关指令。

3. 帮助学生了解数控加工工艺,掌握加工过程中的切削参数、刀具选择和路径规划。

技能目标:1. 培养学生能够独立操作数控机床,完成简单零件的加工。

2. 培养学生具备数控编程能力,能够根据零件图纸编写相应的数控程序。

3. 提高学生运用数控技术解决实际问题的能力,具备一定的创新意识和动手操作能力。

情感态度价值观目标:1. 培养学生热爱专业、热爱劳动,树立正确的职业观念。

2. 培养学生具备团队协作精神,学会与他人共同解决问题。

3. 增强学生的安全意识,养成遵守工艺规程、爱护设备的好习惯。

课程性质:本课程为专业实践课程,以数控技术应用为核心,注重理论与实践相结合。

学生特点:学生具备一定的机械基础知识,但对数控技术了解较少,动手操作能力有待提高。

教学要求:结合学生特点,采用任务驱动、项目教学等方法,引导学生主动探究,注重实践操作能力的培养。

将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. 数控机床概述:包括数控机床的发展、分类及基本结构,重点讲解数控机床的工作原理和性能指标。

(对应教材第一章)2. 数控编程基础:介绍数控编程的相关知识,如编程语言、程序结构、常用指令等,并通过实例进行分析。

(对应教材第二章)3. 数控加工工艺:讲解数控加工过程中的切削参数、刀具选择、路径规划等,分析典型零件的加工工艺。

(对应教材第三章)4. 数控机床操作与编程实践:指导学生进行数控机床的操作和编程实践,包括简单零件的加工,使学生掌握实际操作技能。

(对应教材第四章)5. 数控机床维护与故障排除:介绍数控机床的日常维护、保养及常见故障的排除方法,提高学生的设备维护能力。

(对应教材第五章)教学大纲安排:第一周:数控机床概述第二周:数控编程基础第三周:数控加工工艺第四周:数控机床操作与编程实践第五周:数控机床维护与故障排除教学内容注重科学性和系统性,结合教材章节进行合理安排和进度控制,旨在帮助学生全面掌握数控应用技术。

课程设计指导、任务书

课程设计指导、任务书

洛阳理工学院机床数控技术课程设计指导书编者:李妙玲应用专业:数控技术一、课程的地位、任务和作用本课程设计是在《机床数控技术》理论课程学习完后进行。

《机床数控技术》是数控技术专业必修的主干专业课之一,对实际应用能力要求很高;通过该课程设计使学生进一步掌握和消化数控机床程序编制的基本内容,了解数控机床编程的特点和步骤,深化工艺处理技术和编程方法,为今后从事数控领域工作打下扎实基础。

二、课程设计题目及要求本课程设计共分两大类课题,每类20个(共40个题目):1)车削(通常为轴)类零件数控加工程序编制(4个台阶以上,包括一段凸圆或凹圆弧、一段螺纹);2)铣削(通常为轮盘和板)类零件数控加工程序编制(轮廓线5段以上包括直线、圆弧,孔两种4个以上)。

参加本课程设计的学生分为4组,每组10-12人。

各班第一、三组做车削类零件,二、四组做铣削类零件。

每组选派一名组长,协助指导教师督促和检查课程设计进展,保证每个同学都能独立完成自己的课程设计。

要求学生达到如下目标:1)针对设计任务选择合适的实现方案;2)培养学生查阅技术手册和有关技术资料的能力;3)培养学生程序设计能力;4)培养学生编制技术文档的能力;5)培养学生严肃认真、一丝不苟和实事求是的科学态度。

三、课程设计基本内容1)任务布置、准备有关资料;2)绘制零件图;3)分析零件数控加工工艺;4)设计数控加工工艺卡;5)编写数控加工走刀路线图。

四、要求完成的技术文件1. 绘制零件图一份;2. 数控加工工序卡一份;3. 走刀路线图一或多份;4. 数控加工程序清单一份;5. 设计说明书一份。

(分析零件结构;选择机床设备、刀具;编写数控加工工艺;写出数值计算过程)五、成绩评定依据下列两个方面对学生进行考核,以五级评分制综合评定成绩:1)设计过程中的表现(独立完成的能力、分折问题的能力、工作态度);2)提交的设计质量。

六、主要参考书[1]孙小捞,数控技术实训.机械工业出版社。

机械加工工艺设计-课程设计实例

机械加工工艺设计-课程设计实例

机械加工工艺设计-课程设计实例机床数控技术课程设计说明书题目:零件的加工工艺及其数控铣床倒角加工生产纲要:年产20000件开始日期:2022.1.7完成日期:2022.1.21答辩日期:2022.1.22班级:学生:学号:指导老师:教研室主任:学校名:对我来说,希望能通过这次课程设计,对自己的将来从事的工作,进行一次适应性训练,通过本次课程设计锻炼了自己分析问题、解决问题的能力,对今后工作能有更多帮助。

由于实际实践经验不足、个人能力有限,设计中尚存在许多不足之处,请老师给予批评指正。

设计书包括:1、零件图2、零件的毛坯图3、机械加工工艺过程卡4、机械加工工序卡5、课程设计说明书6、数控加工仿真图一张一张两张七份一份一份一、零件分析零件工艺分析:1.加工内容该零件主要由平面,孔和外轮廓组成,毛坯为熔模铸造,外形尺寸为112mm某54mm某42mm,加工内容包括外轮廓;孔φ20mm孔和φ8mm孔;2.加工要求该零件为复杂形状零件,尺寸精度和形位要求不高,其中中孔尺寸为φ20H7为配合面要求有较高的精度要求,故加工时需安排精加工,孔内表面粗糙度也需达到1.6。

其余外轮廓和φ8孔要求不高,表面粗糙度为Ra6.3um。

3各结构的加工方法由于φ20H7孔加工要求较高,拟选择粗铰+精铰的方案。

除了前面较复杂的曲面平面组合外其他上下,左右和后侧面都使用粗铣+精铣的方案。

二、工艺规程的设计(一)、确定毛坯的制造形式由于该零件是总体尺寸较小,精度要求较高的特殊形状零件,而且要求批量较大,所以采用熔模铸造。

铸造可按照附件所带铸造毛坯图铸造。

要求无铸造缺陷,材料为ZG45,外轮廓和中孔预留加工余量为1~2mm,毛坯尺寸精度要求为0.25mm。

(二)、基准选择1.粗基准的选择如图1,按照粗基准选择的原则。

选择较为光洁,面积较大的表面为基准。

加工上下表面B、C、D、E和中间孔时要以C面为精基准。

加工外轮廓时也需要以C面和中孔为基准。

数控技术课程设计书籍

数控技术课程设计书籍

数控技术课程设计书籍一、教学目标本课程的教学目标是让学生掌握数控技术的基本概念、原理和应用,培养学生对数控技术的兴趣和好奇心,提高学生的实际操作能力。

具体目标如下:1.知识目标:了解数控技术的起源、发展历程和现状;掌握数控系统的基本组成、工作原理和功能;熟悉数控编程的基本方法和要求。

2.技能目标:能够运用数控编程软件进行简单零件的编程;具备数控机床的基本操作能力,能进行零件加工;具备故障分析和排除能力。

3.情感态度价值观目标:培养学生对新技术的敏感度,增强学生的创新意识;培养学生团队协作、沟通交流的能力;使学生认识到数控技术在我国制造业中的重要地位,增强学生的国家自豪感。

二、教学内容本课程的教学内容主要包括数控技术的基本概念、数控系统的组成和原理、数控编程方法和数控机床的操作。

具体安排如下:1.数控技术的基本概念:介绍数控技术的起源、发展历程和现状,使学生了解数控技术在我国的应用和发展。

2.数控系统的组成和原理:讲解数控系统的基本组成,如CNC装置、驱动装置、检测装置等,以及它们的工作原理。

3.数控编程方法:介绍数控编程的基本方法,如手工编程和计算机辅助编程,使学生掌握编程软件的使用和编程规则。

4.数控机床的操作:讲解数控机床的基本操作,如开机、关机、对刀、编程、加工等,使学生具备实际操作能力。

5.典型零件加工案例分析:分析实际加工中的典型零件,使学生了解数控技术在工程应用中的重要性。

三、教学方法为了提高教学效果,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。

具体应用如下:1.讲授法:用于讲解数控技术的基本概念、原理和编程方法,使学生掌握基本知识。

2.讨论法:学生针对实际案例进行讨论,培养学生的思考能力和团队协作精神。

3.案例分析法:分析典型零件的加工过程,使学生了解数控技术在工程应用中的价值。

4.实验法:安排实验室实践环节,让学生亲自动手操作数控机床,提高实际操作能力。

四、教学资源为了支持教学内容和教学方法的实施,我们将选择和准备以下教学资源:1.教材:选用国内知名出版社出版的数控技术教材,确保内容的科学性和系统性。

数控课程设计与书任务

数控课程设计与书任务

数控课程设计与书任务一、教学目标本课程的教学目标是使学生掌握数控编程的基本原理和方法,能够使用数控机床进行简单的零件加工,具备一定的数控技术应用能力。

具体分为以下三个维度:1.知识目标:学生需要了解数控编程的基础知识,掌握数控机床的基本结构和工作原理,熟悉常用的数控编程指令和编程方法。

2.技能目标:学生能够熟练操作数控机床,进行简单的零件加工,具备一定的数控编程和调整能力。

3.情感态度价值观目标:培养学生对数控技术的兴趣和热情,增强学生的创新意识和实践能力,使学生认识到数控技术在现代制造业中的重要地位和作用。

二、教学内容本课程的教学内容主要包括数控编程的基本原理和方法,数控机床的基本结构和工作原理,以及常用的数控编程指令和编程方法。

具体安排如下:1.第一章:数控技术概述,介绍数控技术的定义、发展历程和应用领域。

2.第二章:数控编程基础,介绍数控编程的基本概念、方法和步骤。

3.第三章:数控机床的结构与工作原理,介绍数控机床的基本结构、工作原理和主要部件。

4.第四章:数控编程指令及其使用,介绍常用的数控编程指令及其功能和使用方法。

5.第五章:数控编程实例,通过实际案例讲解数控编程的技巧和方法。

6.第六章:数控机床的操作与维护,介绍数控机床的操作步骤和维护方法。

三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学。

具体包括:1.讲授法:通过教师的讲解,使学生了解和掌握数控技术的基本概念、原理和方法。

2.案例分析法:通过分析实际案例,使学生了解数控编程的技巧和方法,提高学生的实际操作能力。

3.实验法:通过操作数控机床,使学生熟悉数控机床的结构和工作原理,提高学生的实践能力。

4.小组讨论法:通过小组讨论,激发学生的思考和创新意识,提高学生的合作能力。

四、教学资源为了支持教学内容和教学方法的实施,本课程将采用以下教学资源:1.教材:选用国内知名出版社出版的《数控技术》教材,作为学生学习的主要参考书。

数控技术教学课程设计

数控技术教学课程设计

数控技术教学课程设计一、课程目标知识目标:1. 学生能够理解数控技术的基本概念,掌握数控编程的基本原则和步骤。

2. 学生能够掌握数控机床的结构组成及其工作原理,了解不同类型的数控机床及其适用范围。

3. 学生能够掌握数控加工中的坐标系、编程指令和常用的数控术语。

技能目标:1. 学生能够独立进行简单的数控编程,并能运用数控机床进行加工操作。

2. 学生能够运用数控软件进行模拟加工,解决实际加工过程中遇到的问题。

3. 学生能够根据图纸要求,选择合适的数控机床和加工参数,完成零件的加工。

情感态度价值观目标:1. 培养学生热爱数控技术,树立正确的专业思想,增强职业责任感和使命感。

2. 培养学生具备良好的团队合作精神和沟通能力,提高解决实际问题的能力。

3. 培养学生严谨细致的工作态度,注重安全生产,提高安全意识。

课程性质:本课程为专业核心课程,以实践操作为主,理论教学为辅,旨在培养学生的数控技术应用能力。

学生特点:学生为中职或高职一年级学生,具备一定的机械基础知识,但对数控技术了解较少,动手能力有待提高。

教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的主观能动性,提高学生的实际操作能力和问题解决能力。

通过本课程的学习,使学生能够达到上述课程目标,为今后的工作和发展奠定基础。

二、教学内容1. 数控技术概述:介绍数控技术的起源、发展及其在现代制造业中的应用,使学生了解数控技术的重要性。

教学内容:数控技术的定义、发展历程、应用领域。

2. 数控机床结构与原理:讲解数控车床、数控铣床等常见数控机床的结构组成、工作原理及性能特点。

教学内容:数控机床的分类、结构、工作原理、性能参数。

3. 数控编程基础:教授数控编程的基本原则、步骤和方法,使学生掌握数控编程的基本技能。

教学内容:数控编程的基本原则、编程步骤、编程方法、编程指令。

4. 数控加工坐标系与术语:介绍数控加工中的坐标系、常用数控术语及加工参数的设置。

教学内容:坐标系、数控术语、加工参数设置。

数控技术课程设计cnc

数控技术课程设计cnc

数控技术课程设计cnc一、教学目标本课程的教学目标是使学生掌握数控技术的基本原理、方法和应用,培养学生具备数控编程、操作和维护的能力。

具体目标如下:1.知识目标:学生能理解数控技术的基本概念、原理和特点,掌握数控编程的方法和步骤,了解数控机床的结构和功能。

2.技能目标:学生能熟练使用数控编程软件进行编程,能操作数控机床进行加工,能对数控机床进行简单的故障排除和维护。

3.情感态度价值观目标:学生能认识到数控技术在现代制造业中的重要地位,培养对数控技术的兴趣和热情,树立正确的职业观念和团队协作精神。

二、教学内容本课程的教学内容主要包括数控技术的基本原理、数控编程、数控机床操作和维护等方面。

具体安排如下:1.数控技术的基本原理:介绍数控技术的发展历程、基本概念、原理和特点。

2.数控编程:讲解数控编程的基本方法、步骤和注意事项,包括平面编程、立体编程和加工中心编程等。

3.数控机床操作:介绍数控机床的基本结构、功能和操作方法,包括机床的启动、停止、对刀、切削参数设置等。

4.数控机床维护:讲解数控机床的日常维护、故障排除和维修方法。

三、教学方法为了提高教学效果,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

具体运用如下:1.讲授法:用于讲解数控技术的基本原理、概念和编程方法。

2.讨论法:鼓励学生积极参与课堂讨论,提高学生对数控技术问题的思考和分析能力。

3.案例分析法:通过分析实际案例,使学生更好地理解和掌握数控技术的应用。

4.实验法:安排实验课程,让学生亲自动手操作数控机床,提高学生的实际操作能力。

四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用权威、实用的数控技术教材,为学生提供系统的理论知识。

2.参考书:提供相关的数控技术参考书籍,丰富学生的知识体系。

3.多媒体资料:制作精美的PPT、视频等多媒体资料,提高课堂的趣味性和生动性。

4.实验设备:保证学生有足够的实践机会,提高学生的操作技能。

数控机床x52k课程设计说明书

数控机床x52k课程设计说明书

机电一体化课程设计计算说明书设计题目:立式铣床数控X52K横向工作台设计班级:XXXX学院姓名: XXX学号: XXX指导教师: XXXXXX2014年 1月 17 日XXXX目录目录 (2)一、课题来源的现实意义 (3)二、设计任务 (4)三、总体方案的确定 (5)1.机械传动部件的选择 (5)2.控制系统的设计 (6)四、机械传动部件的计算与选型 (6)1.铣削力的计算 (6)2.直线滚动导轨副的计算与选型 (7)3.滚珠丝杠螺母副的计算与选型 (8)4.步进电动机减速箱的选用 (11)5.步进电动机的计算与选型 (11)五、齿轮的校核计算 (15)1.齿轮的校核计算 (15)六、控制系统设计 (19)1.控制系统组成 (19)2.设计思路及器件选择 (20)七、课程设计心得体会 (23)八、参考文献: (24)一、课题来源的现实意义制造技术和自动化水平的高低已成为一个国家或地区经济发展水平的重要标志,而其中最具代表性的就是数控铣床。

数控铣床是指铣床的操作命令以数值数字的形式描述工作过程按规定的程序自动进行的铣床。

随着微电子技术,特别是计算机技术的发展,数控铣床迅速地发展起来。

尽管数控铣床可以较好地解决形状复杂、精密、小批量多品种零件的加工问题,能够稳定加工质量和提高生产率。

但是目前我国数控铣床占有率与工业发达国家相比还非常低,机械制造业水平与发达国家相比相对落后,设备陈旧,技术水平差距大,国际竞争力弱,影响了生产力的发展。

逐步提高数控铣床的占有率已经成为我国制造技术发展的总趋势。

提高铣床数控率有两个途径:一是增加新的数控铣床,价格昂贵,一次性投资大,目前各企业均有大量的普通铣床,完全用数控铣床替代根本不可能;二是对旧机床进行数控化改造。

我国是一个机床拥有量极大的国家,但大部分铣床服役龄较长,采取对旧铣床进行改造来提高设备的先进性和数控化率,是一个有效和实用的途径,是企业必走之路。

我国现正处于以从劳动密集型产业为主向以技术密集型产业为主过渡的发展阶段,对自动化设备的需求会越来越大、越来越积极。

机床数控课程设计

机床数控课程设计

机床数控课程设计一、教学目标本课程的教学目标是使学生掌握机床数控的基本概念、原理和方法,培养学生具备数控编程和操作的能力,提高学生在机械加工领域的实际操作技能和解决实际问题的能力。

知识目标:使学生了解机床数控的基本概念、原理和方法,包括数控系统的结构、功能和编程语言等;培养学生掌握数控编程的基本规则和技巧,包括线性编程、圆弧编程和刀具补偿等;使学生了解数控加工的应用领域和发展趋势。

技能目标:培养学生具备数控编程和操作的能力,包括编写数控程序、设置数控机床和操作数控机床等;培养学生掌握数控加工工艺和质量控制的方法,包括加工参数的选择、刀具的选择和加工质量的检测等。

情感态度价值观目标:培养学生对机床数控技术的兴趣和热情,提高学生对机械加工领域的认识和理解;培养学生具备创新意识和团队合作精神,使学生在实际工作中能够勇于尝试新方法和新技术,与他人合作解决问题。

二、教学内容本课程的教学内容主要包括机床数控的基本概念、原理和方法,数控编程和操作的基本规则和技巧,以及数控加工工艺和质量控制的方法。

1.机床数控的基本概念、原理和方法:介绍数控系统的结构、功能和工作原理,包括CNC、DNC和MNC等;讲解数控编程的基本规则和技巧,包括线性编程、圆弧编程和刀具补偿等。

2.数控编程和操作的基本规则和技巧:讲解数控程序的结构和编写方法,包括程序的格式、功能指令和编程策略等;讲解数控机床的设置和操作方法,包括机床的选择、刀具的选择和加工参数的设置等。

3.数控加工工艺和质量控制的方法:讲解数控加工工艺的基本原则和加工参数的选择方法,包括切削参数、刀具参数和加工路线等;讲解加工质量的检测方法和质量控制体系的建设。

三、教学方法本课程的教学方法主要包括讲授法、案例分析法、实验法和讨论法等。

1.讲授法:通过教师的讲解和讲解材料的展示,向学生传授机床数控的基本概念、原理和方法,引导学生理解和掌握相关知识。

2.案例分析法:通过分析具体的机床数控加工案例,使学生了解数控编程和操作的实际应用,培养学生解决实际问题的能力。

数控技术课程设计说明书(doc 32页)

数控技术课程设计说明书(doc 32页)

数控技术课程设计说明书(doc 32页)《数控编程》课程设计姓名:武刚刚系别:机电工程学院专业:机械设计制造及其自动化班级:12级机自专升本1班指导教师:陈小静学号:12042010119目录1.................................. 课程设计任务书21.1、 ................................ 目的与要求21.2、课程设计内容 (2)1.3、课程设计步骤与方法 (2)1.4、课程设计说明书与图纸 (3)1.5、课程设计进度表 (3)2................................ 零件的数控工艺分析42.1、工艺分析 (4)2.2、工件定位与装夹 (6)2.3、机床的合理选用 (7)2.4、选择刀具和确定切削用量 (7)2.5、确定走刀路线 (9)3.................................. 轨迹坐标的计算113.1、基点坐标计算 (11)4................................ 数控加工程序的编制144.1、左半部分程序的编制 (14)4.2、右半部分程序的编制 (14)5............................. 加工程序的调试及运行结果165.1、仿真软件简介 (16)5.2、加工仿真过程叙述 (16)5.3、加工仿真结果 (21)总结 (29)参考文献 (30)1.课程设计任务书1.1、目的与要求数控技术课程设计是学习数控技术课程后进行的一个重要的实践教学环节,可提高学生的数控编程能力,加深对数控原理及数控机床结构的理解,为学生进一步学习数控机床知识及从事相关工作打下基础。

教学目的:本课程设计是学完数控技术之后,进行的实践性教学环节,它一方面要求学生能根据零件图,编制数控加工工艺,用ISO码编制数控加工程序,熟悉加工程序输入、检查、编辑及执行的方法,另一方面,为今后的毕业设计、今后从事数控加工进行一次综合训练。

《数控技术》课程设计

《数控技术》课程设计

《数控技术》课程设计一、教学目标本课程的教学目标是使学生掌握数控技术的基本概念、原理和方法,能够运用数控技术解决实际问题。

具体目标如下:知识目标:学生能够理解数控技术的定义、发展历程和应用领域;掌握数控编程的基本原理和方法;了解数控机床的结构和工作原理。

技能目标:学生能够熟练使用数控编程软件进行编程;能够操作数控机床进行加工;能够对数控机床进行简单的故障排除和维护。

情感态度价值观目标:学生能够认识到数控技术在现代制造业中的重要地位和作用;培养学生的创新意识和团队合作精神;培养学生的动手能力和实践能力。

二、教学内容根据课程目标,教学内容主要包括数控技术的基本概念、数控编程原理、数控机床的结构和工作原理、数控加工工艺等。

具体安排如下:第一章:数控技术概述第二章:数控编程原理第三章:数控机床的结构和工作原理第四章:数控加工工艺第五章:数控编程软件的使用三、教学方法为了达到课程目标,我们将采用多种教学方法,包括讲授法、讨论法、案例分析法、实验法等。

具体方法如下:讲授法:通过讲解和演示,使学生掌握数控技术的基本概念和原理;讨论法:通过小组讨论,培养学生的思考能力和团队合作精神;案例分析法:通过分析实际案例,使学生能够将理论知识应用于实际问题;实验法:通过操作数控机床和编程软件,培养学生的动手能力和实践能力。

四、教学资源我们将选择和准备适当的教学资源,包括教材、参考书、多媒体资料、实验设备等。

具体资源如下:教材:《数控技术》参考书:《数控编程技术与应用》、《数控机床原理与维护》多媒体资料:数控技术介绍视频、数控编程软件教程实验设备:数控机床、编程软件以上是本课程的教学设计,希望能够帮助学生更好地学习和掌握数控技术。

五、教学评估为了全面、客观地评估学生的学习成果,我们将采用多种评估方式,包括平时表现、作业、考试等。

具体评估方式如下:平时表现:通过观察学生在课堂上的参与程度、提问回答、小组讨论等,评估学生的学习态度和理解程度;作业:布置适量的作业,让学生巩固所学知识,通过批改作业了解学生的掌握情况;考试:进行期中和期末考试,测试学生对知识的掌握和运用能力。

数控课程设计任务书

数控课程设计任务书

数控课程设计任务书一、教学目标本课程旨在让学生掌握数控技术的基本原理、方法和应用,培养学生的数控编程、操作和维护能力。

具体目标如下:1.知识目标:了解数控技术的基本概念、发展历程和分类;掌握数控编程的基本原理和方法;熟悉数控系统的组成、功能和工作原理。

2.技能目标:能够熟练使用数控编程软件进行编程;具备数控机床的基本操作能力;能对数控系统进行简单的故障诊断和维修。

3.情感态度价值观目标:培养学生对数控技术的兴趣和好奇心,提高学生的人文素养和创新精神;使学生认识到数控技术在我国制造业中的重要地位,增强学生的社会责任感和使命感。

二、教学内容1.数控技术的基本概念、发展历程和分类。

2.数控编程的基本原理和方法。

3.数控系统的组成、功能和工作原理。

4.数控机床的基本操作和维护。

5.数控技术在制造业中的应用案例。

三、教学方法1.讲授法:用于讲解数控技术的基本概念、原理和编程方法。

2.讨论法:学生就数控技术的应用和发展进行讨论,培养学生的创新意识和团队协作能力。

3.案例分析法:分析数控技术在制造业中的应用案例,使学生更好地理解数控技术的实际应用。

4.实验法:让学生亲自动手操作数控机床,提高学生的实际操作能力。

四、教学资源1.教材:选用权威、实用的数控技术教材,为学生提供系统、全面的知识学习。

2.参考书:提供相关的数控技术参考书籍,丰富学生的知识视野。

3.多媒体资料:制作精美的课件和教学视频,提高学生的学习兴趣。

4.实验设备:配置完善的数控机床和实验器材,确保学生能够进行实际操作训练。

五、教学评估为了全面、客观地评估学生的学习成果,本课程采用多种评估方式,包括:1.平时表现:通过课堂参与、提问、小组讨论等环节,评估学生的学习态度和课堂表现。

2.作业:布置适量的作业,评估学生的知识掌握和运用能力。

3.考试:设置期中考试和期末考试,全面测试学生的数控技术知识、技能和应用能力。

4.实践操作:通过数控机床操作实验,评估学生的实际操作能力。

数控机床课程设计说明书

数控机床课程设计说明书

广西科技大学《数控机床》课程设计说明书课题名称X-Y数控工作台设计学院机械工程学院专业机械工程及自动化班级学号姓名指导教师2015年 6 月 25 日数控技术及数控机床在当今机械制造业中的重要地位和巨大效益,显示了其在国家基础工业现代化中的战略性作用,并已成为传统机械制造工业提升改造和实现自动化、柔性化、集成化生产的重要手段和标志。

数控技术及数控机床的广泛应用,给机械制造业的产业结构、产品种类和档次以及生产方式带来了革命性的变化。

X-Y数控工作台是数控机床的重要组成部分,其制造精度对数控机床的精度有着重要的影响。

X-Y数控工作台通常由导轨座、移动滑块、工作、滚珠丝杠螺母副以及伺服电动机等部件构成。

本次课程设计内容主要是对数控铣床的X-Y数控工作台的滚珠丝杠螺母副、步进电机、导轨副的计算和选用。

关键词:数控机床开环控制滚珠丝杠步进电动机滚动导轨一、设计的目的 (1)二、设计任务 (1)三、设计主要步骤 (1)(一)确定设计总体方案 (1)1. 机械传动部件的选择。

(1)2. 控制系统的设计,完成进给控制系统原理框图及步进电机的控制驱动。

.. 2(二)机械传动部件的计算与选型 (2)1.导轨上移动部件的重量估算。

(2)2. 计算切削力。

(3)(三)滚珠丝杠传动的设计计算及效验。

(4)1. 最大工作载荷的计算。

(4)2. 最大计算动载荷的确定。

(4)3. 规格型号的初选。

(5)4. 传动效率的计算。

(6)5. 刚度的验算。

(7)6. 稳定性的验算。

(7)7. 临界转速的验算。

(8)8. 滚珠丝杠的选型及安装连接尺寸的确定。

(9)(四)步进电动机的传动计算及电动机选用。

(12)1.传动计算 (12)2.步进电动机的计算及选型。

(12)3. 步进电动机转轴上的等效负载转矩M的计算。

(15)(五)滚动导轨的设计计算 (18)1.工作载荷的计算。

(18)2. 小时额定工作寿命的计算。

数控技术课程设计说明书32

数控技术课程设计说明书32

目录1 概述 (1)1.1 PLC控制交流主轴电机的内容 (1)1.2 数控技术课程设计的目的 (1)2 电动机的选择 (1)2.1 电机参数的选择 (1)2.2 三相交流异步电动机的工作原理 (2)3 基本元器件的选择 (4)3.1 开关的选择 (4)3.2 热继电器的选择 (4)4 变频器的选择 (5)4.1 变频器基础知识 (5)4.2 变频器的工作原理 (6)4.3 变频器参数的选择 (6)4.4产品技术指标及规格 (6)4.5变频器的基本运行配线图 (9)4.6变频器的外部配置及应注意的问题 (11)5 控制系统设计 (11)5.1 输入输出信号分析 (12)5.2 PLC改造I/O分配图 (12)5.3 PLC选型 (12)5.4 动作序列图 (13)5.5 模拟块的选择 (13)5.6 系统接线图 (17)5.7 梯形图和程序指令设计 (18)总结 (20)参考文献 (21)1概述:1.1 PLC控制交流主轴电机的内容:PLC作为控制器对机床电气控制系统的改造越来越突出,其主要部分是对数控机床的典型执行元件交流主轴电机的控制。

在电动机发生故障时,为了保护电动机,减轻故障的损坏程度,继电保护装置的快速性和可靠性十分重要。

在单机容量日益增大的情况下,电机的额定电流可达数千甚至几万安,这就给电动机的继电保护提出了更高的要求。

传统的继电保护装置已经无法满足要求,因此微机保护应运而生。

PLC是用来取代传统的继电器控制的,与之相比,PLC在性能上比继电器控制逻辑优异,特别是可靠性高、设计施工周期短、调试修改方便、而且体积小、功耗低、使用维护方便。

1.2 数控技术课程设计的目的:通过本课程设计的训练,使学生在机床数控技术、机床电气控制等相关课程知识的基础上,能够运用所学独立完成主轴系统的自动控制系统设计,从而使学生进一步加深和巩固对所学知识的理解和掌握,并提高学生的实际操作能力。

(1)运用所学的知识,进行数控系统设计的初步训练,培养学生的综合设计能力;(2)掌握三相交流异步电动机的原理和控制方法;(3)掌握变频器的基本工作原理及使用控制方法;(4)掌握PLC控制系统设计的基本技能,具备查阅和运用标准、手册、图册等有关技术资料的能力;基本掌握编写技术文件的能力。

机床数控技术课程设计说明书.docx

机床数控技术课程设计说明书.docx

机床数控技术课程设计说明书指导老师:姓名:班级:学号:2014/01/10目录一课设任务 (1)二课设要求 (1)三编程语言 (1)四变量说明及程序界面 (1)(一)DDA第四象限直线插补变量说明 (1)(二)逐点比较法第1~2象限逆圆弧插补变量说明 (2)(三)DDA第四象限直线插补程序界面 (3)(1)普通DDA (3)(2)全加载 (3)(3)半加载 (4)(四)逐点比较法第1~2象限逆圆弧插补程序界面 (4)五详细程序设计流程图 (5)(一)DDA第四象限直线插补流程图 (5)(二)逐点比较法第1~2象限逆圆弧插补流程图 (6)六源程序 (6)七参考资料 (32)一课设任务(1)DDA法插补第四象限直线;(2)逐点比较法插补第1~2象限顺圆弧。

二课设要求(1)具有数据输入界面,如起点、终点、圆心、半径及插补步长等;(2)具有插补过程的动态显示功能,如单步插补、连续插补;(3)插补的步长可调;三编程语言:MATLAB四变量说明及程序界面(一)DDA第四象限直线插补程序界面:(三)DDA第四象限直线插补(1)普通DDA(2)全加载(3)半加载(四)逐点比较第1~2象限逆圆弧插补五详细程序设计流程图(一)DDA第四象限直线插补(二)逐点比较法第1~2象限逆圆弧插补六源程序function varargout = f2(varargin)% F2 MATLAB code for f2.fig% F2, by itself, creates a new F2 or raises the existing% singleton*.%% H = F2 returns the handle to a new F2 or the handle to% the existing singleton*.%% F2('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in F2.M with the given input arguments. %% F2('Property','Value',...) creates a new F2 or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before f2_OpeningFcn gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to f2_OpeningFcn via varargin.% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one% instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help f2% Last Modified by GUIDE v2.5 09-Jan-2014 10:52:17% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @f2_OpeningFcn, ...'gui_OutputFcn', @f2_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before f2 is made visible.function f2_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% varargin command line arguments to f2 (see VARARGIN)% Choose default command line output for f2handles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes f2 wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line. function varargout = f2_OutputFcn(hObject, eventdata, handles)% varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;% --- Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles) %绘制直线global x1 y1 x2 y2 L N x y Mx My Jvx Jrx1 Jrx2 Jrx3 Jvy Jry1 Jry2 Jry3 X Y;x1=str2double(get(handles.edit1,'string'));y1=str2double(get(handles.edit2,'string'));x2=str2double(get(handles.edit3,'string'));y2=str2double(get(handles.edit4,'string'));L=str2double(get(handles.edit7,'string'));N=str2double(get(handles.edit6,'string'));if x1<=0|y1>=0|x2<=0|y2>=0set(handles.text11,'string','直线不在第四象限!');%判断直线是否在第四象限elseif x1==x2y=y1:(y2-y1)/100:y2;x=y.*0+x1;plot(x,y,'k');hold on;elsex=x1:(x2-x1)/100:x2;plot(x,y,'k');hold on;endxmin=min(x);xmax=max(x);ymin=min(y);ymax=max(y);axis equal;axis([xmin-L xmax+L ymin-L ymax+L]); %定义坐标轴的边界set(handles.text11,'string','绘图完成');Mx=ceil(abs(x2-x1)/L); %计算插补步数My=ceil(abs(y2-y1)/L);Jvx=abs(x2-x1); %给寄存器赋值Jrx2=2^N-1;Jrx3=2^(N-1);Jvy=abs(y2-y1);Jry1=0;Jry2=2^N-1;Jry3=2^(N-1);X=x1;Y=y1;end% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)function edit1_Callback(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit1 as text% str2double(get(hObject,'String')) returns contents of edit1 as a double% --- Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction edit2_Callback(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit2 as text% str2double(get(hObject,'String')) returns contents of edit2 as a double% --- Executes during object creation, after setting all properties. function edit2_CreateFcn(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction edit3_Callback(hObject, eventdata, handles)% hObject handle to edit3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit3 as text% str2double(get(hObject,'String')) returns contents of edit3 as a double% --- Executes during object creation, after setting all properties.function edit3_CreateFcn(hObject, eventdata, handles)% hObject handle to edit3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction edit4_Callback(hObject, eventdata, handles)% hObject handle to edit4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit4 as text% str2double(get(hObject,'String')) returns contents of edit4 as a double% --- Executes during object creation, after setting all properties. function edit4_CreateFcn(hObject, eventdata, handles)% hObject handle to edit4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction edit5_Callback(hObject, eventdata, handles)% hObject handle to edit5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit5 as text% str2double(get(hObject,'String')) returns contents of edit5 as a double% --- Executes during object creation, after setting all properties. function edit5_CreateFcn(hObject, eventdata, handles)% hObject handle to edit5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction edit6_Callback(hObject, eventdata, handles)% hObject handle to edit6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit6 as text% str2double(get(hObject,'String')) returns contents of edit6 as a double% --- Executes during object creation, after setting all properties. function edit6_CreateFcn(hObject, eventdata, handles)% hObject handle to edit6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction edit7_Callback(hObject, eventdata, handles)% hObject handle to edit7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit7 as text% str2double(get(hObject,'String')) returns contents of edit7 as a double% --- Executes during object creation, after setting all properties. function edit7_CreateFcn(hObject, eventdata, handles)% hObject handle to edit7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end% --- Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles) %直线单步插补% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)global x1 y1 x2 y2 L N x y Mx My Jvx Jrx1 Jrx2 Jrx3 Jvy Jry1 Jry2 Jry3 X Y;if (get(handles.radiobutton1,'Value')==0)...&(get(handles.radiobutton2,'Value')==0)...&(get(handles.radiobutton3,'Value')==0)set(handles.text11,'string','请选择插补方式');elseif (Mx<=0)&(My<=0)set(handles.text11,'string','插补结束');elseJrx1=Jvx+Jrx1;Jry1=Jvy+Jry1;Jrx2=Jvx+Jrx2;Jry2=Jvy+Jry2;Jrx3=Jvx+Jrx3;Jry3=Jvy+Jry3;if get(handles.radiobutton1,'Value')==1 %普通DDAif (x1<=x2)&(y1<=y2) %转化后直线在第一象限if (Jrx1>=2^N)Jrx1=Jrx1-2^N;X=X+L;x=linspace(X-L,X,100);Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry1>=2^N)Jry1=Jry1-2^N;y=linspace(Y-L,Y,100);My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;elseif (x1>x2)&(y1<=y2) %转化后直线在第二象限if (Jrx1>=2^N)Jrx1=Jrx1-2^N;X=X-L;x=linspace(X+L,X,100);Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry1>=2^N)Jry1=Jry1-2^N;Y=Y+L;y=linspace(Y-L,Y,100);My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;elseif (x1>x2)&(y1>y2) %转化后直线在第三象限if (Jrx1>=2^N)Jrx1=Jrx1-2^N;X=X-L;x=linspace(X+L,X,100);Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry1>=2^N)Jry1=Jry1-2^N;Y=Y-L;y=linspace(Y+L,Y,100);My=My-1;y=zeros(1,100)+Y;endplot(x,y,'r');hold on;else %转化后直线在第四象限if (Jrx1>=2^N)Jrx1=Jrx1-2^N;X=X+L;x=linspace(X-L,X,100);Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry1>=2^N)Jry1=Jry1-2^N;Y=Y-L;y=linspace(Y+L,Y,100);My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;endelseif get(handles.radiobutton2,'Value')==1 %全加载if (x1<=x2)&(y1<=y2)if (Jrx2>=2^N)Jrx2=Jrx2-2^N;X=X+L;x=linspace(X-L,X,100); Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry2>=2^N)Jry2=Jry2-2^N;Y=Y+L;y=linspace(Y-L,Y,100); My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;elseif (x1>x2)&(y1<=y2)if (Jrx2>=2^N)Jrx2=Jrx2-2^N;X=X-L;x=linspace(X+L,X,100); Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry2>=2^N)Jry2=Jry2-2^N;Y=Y+L;y=linspace(Y-L,Y,100); My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;elseif (x1>x2)&(y1>y2)if (Jrx2>=2^N)Jrx2=Jrx2-2^N;X=X-L;x=linspace(X+L,X,100); Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry2>=2^N)Jry2=Jry2-2^N;Y=Y-L;y=linspace(Y+L,Y,100);My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;elseif (Jrx2>=2^N)Jrx2=Jrx2-2^N;X=X+L;x=linspace(X-L,X,100);Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry2>=2^N)Jry2=Jry2-2^N;Y=Y-L;y=linspace(Y+L,Y,100);My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;endelse %半加载if (x1<=x2)&(y1<=y2)if (Jrx3>=2^N)Jrx3=Jrx3-2^N;X=X+L;x=linspace(X-L,X,100);Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry3>=2^N)Jry3=Jry3-2^N;Y=Y+L;y=linspace(Y-L,Y,100); My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;elseif (x1>x2)&(y1<=y2)if (Jrx3>=2^N)Jrx3=Jrx3-2^N;X=X-L;x=linspace(X+L,X,100); Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry3>=2^N)Jry3=Jry3-2^N;Y=Y+L;y=linspace(Y-L,Y,100); My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;elseif (x1>x2)&(y1>y2)if (Jrx3>=2^N)Jrx3=Jrx3-2^N;X=X-L;x=linspace(X+L,X,100); Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry3>=2^N)Jry3=Jry3-2^N;Y=Y-L;y=linspace(Y+L,Y,100); My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;elseif (Jrx3>=2^N)Jrx3=Jrx3-2^N;X=X+L;x=linspace(X-L,X,100);Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry3>=2^N)Jry3=Jry3-2^N;Y=Y-L;y=linspace(Y+L,Y,100);My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;endendendend% --- Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles) %直线连续插补% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)global x1 y1 x2 y2 L N x y Mx My Jvx Jrx1 Jrx2 Jrx3 Jvy Jry1 Jry2 Jry3 X Y;if (get(handles.radiobutton1,'Value')==0)...&(get(handles.radiobutton2,'Value')==0)...&(get(handles.radiobutton3,'Value')==0)set(handles.text11,'string','请选择插补方式');elsewhile (Mx>0)|(My>0)Jrx1=Jvx+Jrx1;Jry1=Jvy+Jry1;Jrx2=Jvx+Jrx2;Jry2=Jvy+Jry2;Jrx3=Jvx+Jrx3;Jry3=Jvy+Jry3;if get(handles.radiobutton1,'Value')==1 if (x1<=x2)&(y1<=y2)if (Jrx1>=2^N)Jrx1=Jrx1-2^N;X=X+L;x=linspace(X-L,X,100);Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry1>=2^N)Jry1=Jry1-2^N;Y=Y+L;y=linspace(Y-L,Y,100);My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;pause(0.1);elseif (x1>x2)&(y1<=y2)if (Jrx1>=2^N)Jrx1=Jrx1-2^N;X=X-L;x=linspace(X+L,X,100);Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry1>=2^N)Jry1=Jry1-2^N;Y=Y+L;y=linspace(Y-L,Y,100);My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;pause(0.1);elseif (x1>x2)&(y1>y2)if (Jrx1>=2^N)Jrx1=Jrx1-2^N;X=X-L;x=linspace(X+L,X,100);Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry1>=2^N)Jry1=Jry1-2^N;Y=Y-L;y=linspace(Y+L,Y,100);My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;pause(0.1);elseif (Jrx1>=2^N)Jrx1=Jrx1-2^N;X=X+L;x=linspace(X-L,X,100);Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry1>=2^N)Jry1=Jry1-2^N;Y=Y-L;y=linspace(Y+L,Y,100);My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;pause(0.1);endelseif get(handles.radiobutton2,'Value')==1 if (x1<=x2)&(y1<=y2)if (Jrx2>=2^N)Jrx2=Jrx2-2^N;X=X+L;x=linspace(X-L,X,100); Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry2>=2^N)Jry2=Jry2-2^N;Y=Y+L;y=linspace(Y-L,Y,100); My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;pause(0.1);elseif (x1>x2)&(y1<=y2)if (Jrx2>=2^N)Jrx2=Jrx2-2^N;X=X-L;x=linspace(X+L,X,100); Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry2>=2^N)Jry2=Jry2-2^N;Y=Y+L;y=linspace(Y-L,Y,100); My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;pause(0.1);elseif (x1>x2)&(y1>y2)if (Jrx2>=2^N)Jrx2=Jrx2-2^N;X=X-L;x=linspace(X+L,X,100); Mx=Mx-1;x=zeros(1,100)+X;endif (Jry2>=2^N)Jry2=Jry2-2^N;Y=Y-L;y=linspace(Y+L,Y,100); My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;pause(0.1);elseif (Jrx2>=2^N)Jrx2=Jrx2-2^N;X=X+L;x=linspace(X-L,X,100); Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry2>=2^N)Jry2=Jry2-2^N;Y=Y-L;y=linspace(Y+L,Y,100); My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;pause(0.1);endelseif (x1<=x2)&(y1<=y2)if (Jrx3>=2^N)Jrx3=Jrx3-2^N;X=X+L;x=linspace(X-L,X,100); Mx=Mx-1;elsex=zeros(1,100)+X;if (Jry3>=2^N)Jry3=Jry3-2^N;Y=Y+L;y=linspace(Y-L,Y,100); My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;pause(0.1);elseif (x1>x2)&(y1<=y2)if (Jrx3>=2^N)Jrx3=Jrx3-2^N;X=X-L;x=linspace(X+L,X,100); Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry3>=2^N)Jry3=Jry3-2^N;Y=Y+L;y=linspace(Y-L,Y,100); My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;pause(0.1);elseif (x1>x2)&(y1>y2)if (Jrx3>=2^N)Jrx3=Jrx3-2^N;X=X-L;x=linspace(X+L,X,100); Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry3>=2^N)Jry3=Jry3-2^N;Y=Y-L;y=linspace(Y+L,Y,100);My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;pause(0.1);elseif (Jrx3>=2^N)Jrx3=Jrx3-2^N;X=X+L;x=linspace(X-L,X,100);Mx=Mx-1;elsex=zeros(1,100)+X;endif (Jry3>=2^N)Jry3=Jry3-2^N;Y=Y-L;y=linspace(Y+L,Y,100);My=My-1;elsey=zeros(1,100)+Y;endplot(x,y,'r');hold on;pause(0.1);endendendset(handles.text11,'string','插补结束');end% --- Executes on button press in pushbutton3.function pushbutton4_Callback(hObject, eventdata, handles) %绘制圆弧% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global x1 y1 x y r x2 y2 A x0 y0 M F X Y Mx My L a1 a2 a ;x1=str2double(get(handles.edit1,'string'));y1=str2double(get(handles.edit2,'string'));x2=str2double(get(handles.edit3,'string'));y2=str2double(get(handles.edit4,'string'));r=str2double(get(handles.edit5,'string'));L=str2double(get(handles.edit7,'string'));A=sqrt(r^2-((x2-x1)^2+(y2-y1)^2)/4); %圆心到弦中点的长度if sqrt(((x2-x1)^2+(y2-y1)^2))>(2*r)set(handles.text11,'string','无法构成圆弧');elsex0=(x1+x2)/2+A*(y1-y2)/sqrt((x2-x1)^2+(y2-y1)^2); %圆心坐标y0=(y1+y2)/2-A*(x1-x2)/sqrt((x2-x1)^2+(y2-y1)^2);a1=atan((y1-y0)/(x1-x0));a2=atan((y2-y0)/(x2-x0));if (x1<x0&y1>y0)a1=pi-abs(a1);elsea1=a1;endif (x2<x0&y0<y2)a2=pi-abs(a2);elseif(x2<x0&y2<y0)a2=pi+a2;elsea2=a2;enda=a1:0.01:a2;x=x0+r.*cos(a);y=y0+r.*sin(a);plot(x,y,'k');xmin=min([x,x0]);xmax=max([x,x0]);ymin=min([y,y0]);ymax=max([y,y0]);axis equal;axis([xmin-L xmax+L ymin-L ymax+L]); %坐标轴边界hold on;set(handles.text11,'string','画图完成');F=0;X=x1;Y=y1;if(y1<=y0&x1>x0)Mx=ceil((x1-x2)/L)+ceil(2*abs(x0+r-x1)/L);elseif(x2<x0&y0>=y2)Mx=ceil((x1-x2)/L)+ceil(2*abs(x2-x0+r)/L);elseMx=ceil((x1-x2)/L);endif (x2<x0&x0<x1)My=ceil(abs(y0+r-y1)/L)+ceil(abs(y0+r-y2)/L);elseMy=ceil(abs(y1-y2)/L);endM=Mx+My; %计算插补步数end% --- Executes on button press in pushbutton3.function pushbutton5_Callback(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)global x y r x0 y0 M F X Y L;if M<=0set(handles.text11,'string','插补结束!');elseif X>=x0if Y>=y0 %相对于圆心在第一象限内插补ifF>=0 %圆外X=X-L;x=linspace(X+L,X,100);y=x.*0+Y;plot(x,y,'r')F=(X-x0)^2+(Y-y0)^2-r^2;else %圆内Y=Y+L;y=linspace(Y-L,Y,100);x=y.*0+X;plot(x,y,'r')F=(X-x0)^2+(Y-y0)^2-r^2;endelse %相对于圆心在第四象限内插补if F>=0 %圆外Y=Y+L;y=linspace(Y-L,Y,100);x=y.*0+X;plot(x,y,'r');F=(X-x0)^2+(Y-y0)^2-r^2;else %圆内X=X+L;x=linspace(X-L,X,100);y=x.*0+Y;plot(x,y,'r');F=(X-x0)^2+(Y-y0)^2-r^2;endendelseif Y>=y0; %第二象限ifF>=0 %圆外Y=Y-L;y=linspace(Y+L,Y,100);x=y.*0+X;plot(x,y,'r');F=(X-x0)^2+(Y-y0)^2-r^2;else %圆内X=X-L;x=linspace(X+L,X,100);y=x.*0+Y;plot(x,y,'r');F=(X-x0)^2+(Y-y0)^2-r^2;endelse %第三象限ifF>=0 %圆外X=X+L;x=linspace(X-L,X,100);y=x.*0+Y;plot(x,y,'r');F=(X-x0)^2+(Y-y0)^2-r^2;else %圆内Y=Y-L;y=linspace(Y+L,Y,100);x=y.*0+X;plot(x,y,'r');F=(X-x0)^2+(Y-y0)^2-r^2;endendendM=M-1;end% --- Executes on button press in pushbutton6.function pushbutton6_Callback(hObject, eventdata, handles)% hObject handle to pushbutton6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)global x y r x0 y0 M F X Y L;while M>0if X>=x0if Y>=y0 %相对于圆心在第一象限内插补if F>=0 %圆外X=X-L;x=linspace(X+L,X,100);y=x.*0+Y;plot(x,y,'r')F=(X-x0)^2+(Y-y0)^2-r^2;else %圆内Y=Y+L;y=linspace(Y-L,Y,100);x=y.*0+X;plot(x,y,'r')F=(X-x0)^2+(Y-y0)^2-r^2;endelse %相对于圆心在第四象限内插补if F>=0 %圆外Y=Y+L;y=linspace(Y-L,Y,100);x=y.*0+X;plot(x,y,'r');F=(X-x0)^2+(Y-y0)^2-r^2;else %圆内X=X+L;x=linspace(X-L,X,100);y=x.*0+Y;plot(x,y,'r');F=(X-x0)^2+(Y-y0)^2-r^2;endendelseif Y>=y0; %第二象限if F>=0 %圆外Y=Y-L;y=linspace(Y+L,Y,100);x=y.*0+X;plot(x,y,'r');F=(X-x0)^2+(Y-y0)^2-r^2;else %圆内X=X-L;x=linspace(X+L,X,100);y=x.*0+Y;plot(x,y,'r');F=(X-x0)^2+(Y-y0)^2-r^2;endelse %第三象限if F>=0 %圆外X=X+L;x=linspace(X-L,X,100);y=x.*0+Y;plot(x,y,'r');F=(X-x0)^2+(Y-y0)^2-r^2;else %圆内Y=Y-L;y=linspace(Y+L,Y,100);x=y.*0+X;plot(x,y,'r');F=(X-x0)^2+(Y-y0)^2-r^2;endendendM=M-1;pause(0.1);endset(handles.text11,'string','插补结束!');% --- Executes on button press in pushbutton6.function pushbutton7_Callback(hObject, eventdata, handles)% hObject handle to pushbutton6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)set(handles.text11,'string','待命');set(handles.radiobutton1,'Value',0);set(handles.radiobutton2,'Value',0);set(handles.radiobutton3,'Value',0);cla %清除数据% --- Executes on button press in radiobutton1.function radiobutton1_Callback(hObject, eventdata, handles)% hObject handle to radiobutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Hint: get(hObject,'Value') returns toggle state of radiobutton1% --- Executes on button press in radiobutton2.function radiobutton2_Callback(hObject, eventdata, handles)% hObject handle to radiobutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Hint: get(hObject,'Value') returns toggle state of radiobutton2% --- Executes on button press in radiobutton3.function radiobutton3_Callback(hObject, eventdata, handles)% hObject handle to radiobutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Hint: get(hObject,'Value') returns toggle state of radiobutton3七参考资料1 陈蔚芳,王宏涛.《机床数控技术及应用》.北京:科学出版社,20082刘卫国.《MATLAB程序设计与应用》.北京:高等教育出版社,2006。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

机床数控技术课程设计
说明书
姓名:
学号:
指导教师:
机电学院
2013 年1 月
一、任务说明
1.需要完成的基本任务
DL4———DDA法插补第四象限直线
PC14———逐点比较法插补1--4象限逆圆弧
2.课设要求
(1)具有数据输入界面,如输入直线插补的起点、终点,圆弧插补的起止点圆心或半径,插补的步长等;
(2)具有插补过程的动态显示功能,如单步插补、连续插补等;
(3)插补的步长可调;
(4)直线的起点、圆弧的圆心在坐标系中的位置可变(即直线的起点、圆弧的圆心可不设定在坐标原点)
3.实际完成的任务
(1)实现用DDA法插补任意象限的直线,可输入起点、终点、步长、寄存器位数,且起点任选;可选择插补的象限;可实现连续插补、单步插补。

(2)实现用逐点比较法插补一、四象限的顺圆弧,可输入圆弧的起点、终点、圆心、步长,且圆心任选。

4.使用的编程语言
使用matlab 编程,实现用户界面设计。

二、程序模块说明及流程图
在这里要说明,以下所提到的一、四象限表示将坐标轴原点平移到直线起点,圆弧圆心后直线,圆所处在的象限是一、四象限。

(一)DDA法插补直线
1功能说明
对于DDA法插补直线按“连续插补”,“单步插补”和“理论直线”三个按钮内的主要程序进行说明。

首先绘制理论直线,利用点斜式绘制直线。

考虑到竖直情况下的直线的时候,可以直接绘出,所以不作具体设计。

再利用界面上的连续插补按钮利用DDA法将直线插补出来。

再通过在matlab源文件中设置全局变量实现单步插补。

另外界面上还设计有清空、退出等功能。

2原理
1)累加次数m
设直线起点(0,0),终点(Xe,Ye),设进给速度V是均匀的,直线长度为L,则有V/L=Vx/Xe=Vy/Ye=k;有Vx=kXe,Vy=kYe
在△t时间,XY方向上移动的距离△x△y为
△x= kXe△t
△y= kYe△t
在m次累加后,XY方向上都分别到达终点,则
Xe= mkXe△t
Ye= mkYe△t
取△t=s,则mk△t=1而一般去K=1/(2^n),则m=2^n/s;
2)起点非原点时,被积函数寄存器Jvx中存放的应该是终点与起点之差;
3)把第一象限推广到其他象限时,只需要改变进给方向。

DDA直线插补程序设计变量说明
(二)逐点比较法插补圆弧
1功能说明
对于逐点比较法插补圆弧按“连续插补”,“单步插补”和“理论圆弧”三个按钮内的主要程序进行说明。

1)连续插补
逐点比较法插补一四象限顺圆,主要的功能设计是,在一四象限中,单个象限或跨象限两种情况下实现对圆弧曲线的逐点比较插补。

取点:圆弧起点、圆弧
圆心、圆弧终点。

判断所取三点能否组成一个满足要求的圆弧。

满足后,会有提示可以继续插补,否则将提示“请重新置点”。

利用连续插补程序,实现连续插补。

(2)单步插补
“单步插补”按钮内的程序,与连续插补整体结构基本一致,主要是利用了全局变量的设置。

从而实现了单步插补。

(3)理论圆弧
“理论圆弧”的绘制过程中,考虑到要有圆弧顺逆的问题,所以采用圆弧起点、终点分别与圆心构成的线段与坐标轴夹角的比较来实现顺圆绘制的另外在界面上还设计有退出、清除等按钮。

三、操作使用说明
由于时间有限,值设计了一四象限的逐点比较圆弧插补和第四象限的直线插补,使用过程中对点的选取有一定的要求,即不能超出相应象限。

另外,必须先绘制理论图形再单步插补。

四、课设心得体会
五、用户界面截图
用户界面
直线插补
圆弧插补
六、参考文献
1.《机床数控技术及应用》陈蔚芳,王宏涛编著科学出版社;
2 《Matlab程序设计与应用》高等教育出版社。

相关文档
最新文档