数控数字积分法圆弧插补算法图形仿真设计

上传人:QQ-1****6396 文档编号:6403930 上传时间:2020-02-24 格式:DOC 页数:52 大小:737.50KB
返回 下载 相关 举报
数控数字积分法圆弧插补算法图形仿真设计_第1页
第1页 / 共52页
数控数字积分法圆弧插补算法图形仿真设计_第2页
第2页 / 共52页
数控数字积分法圆弧插补算法图形仿真设计_第3页
第3页 / 共52页
点击查看更多>>
资源描述
数控数字积分法圆弧插补算法图形仿真专业:机械制造及其自动化学生:陈斐杰 指导教师:杨安华摘 要随着微电子技术,计算机技术的发展,数控机床的性能不断地完善,而数控技术作为数控机床的关键技术,越来越得到更多高校的重视,国内许多专业在机械类专业以及自动化类专业都开设了数控自动化等课程。作为数控技术教学中的一个重要组成,数控插补算法的教学显得既重要又难以掌握,因此在实验中必须重要数控插补的实验性教学,但由于数字插补设备价格昂贵,难以满足大多数时候的需求,如何较好第讲解数控插补原理和观察刀具的运行轨迹,是各个高校必修面对的一个问题。作为数控机床教学型仿真软件的一个模块,开发出一套适合教学和学习的数控数字积分圆弧插补算法的仿真软件势在必行。这样才能较好地讲解数控数字积分圆弧插补算法的原理以及刀具走刀的轨迹。关键词:数字积分法 插补装置 圆弧曲线 插补算法Digital integral method of circular interpolation algorithm of graphic simulationMajor:Mechanical Manufacturing and AutomationStudent:Chen Fei Jie Supervisor: Yang AnhuaAbstract The design of hydraulic drive manipulator movements under the provisions of the order , use the basic theory, basic knowledge and related mechanical design expertise comprehensively to complete the design,and drawing the necessary assembly, hydraulic system map, PLC control system diagram . Manipulator mechanical structure using tanks, screw ,guide tubes and other mechanical device component ;In the hydraulic drive bodies ,manipulator arm stretching using telescopic tank ,rotating column of tanks used rack ,manipulator movements using tank movements ,the column takes the horizontal movement of tanks。 This text introduce upper and lower material spend design process of manipulator , it include to whole job requirements and analysis of situation of system mainly, confirm the whole structural design systematic in hydraulic pressure through the working course of the system. Analyse whole cyclical process , confirm systematic operation principle picture , require the hydraulic pressure component of the standard for selection according to systematic parameter, finish the installation diagram systematic in hydraulic pressure. Hydraulic pressure integrate piece as now main part , hydraulic pressure of system , hydraulic pressure at present integrate pieces of application and development receive domestic and international hydraulic pressure extensive attention of circle。Keywords: digital integration interpolation principle interpolation algorithm circular interpolation 目 录第一章绪论.3 1.1选题目的及意义.3 1.2国内外研究现状概述.4 1.3数控系统的发展趋势.5 1.4本论文的研究内容.7第二章数控数字积分法圆弧插补法.8 2.1插补简介.9 2.2插补的分类.10 2.2.1直线插补.11 2.2.2圆弧插补.12 2.2.3复杂曲线实时插补算法.13 2.3刀具半径补偿.14 2.4插补原理.15 2.5插补算法的分类.16 2.6数字积分法圆弧的插补.17 2.6.1与直线插补的区别.20第三章圆弧插补的过程.21 3.1圆弧插补的算法及原理.22 3.2圆弧插补.23 3.2.1偏差计算公式.24 3.2.2终点判断方法.25 3.2.3其他象限的圆弧插补计算.26 3.2.4圆弧插补仿真.28第四章仿真软件的设计.29 4.1主界面及其功能设计.30 4.1.1工具栏的设置.32 4.1.2 NC代码输入框的设置.33 4.1.3仿真功能的实现.34 4.1.4坐标参数框的设置.34 4.1.5辅助功能状态框.35 4.1.6主界面.36 4.2参数设置定界面.37附录.38参考文献.39致 谢.40第一章绪论1.1选题目的及意义 数字积分法是利用数学积分的方法,计算刀具沿各坐标轴的位移,使得刀具沿着所加工的轮廓曲线运动。利用数字积分原理构成的插补装置称为数字积分器,又称数字微分分析器,简称DDA。数字积分器插补的最大优点在于容易实现多坐标轴的联动插补,能够描述空间直线及平面各种函数曲线等。圆弧插补是根据两端点间的插补数字信息,计算出逼近实际圆弧的点群,控制刀具沿着这些点运动,加工出圆弧曲线。控制刀具沿着这些点运动,加工出圆弧曲线。数字积分圆弧插补算法采用弦线逼近圆弧, 具有较高的插补精度和插补速度, 而且适应面广。1.2国内外研究现状概述 数控系统中,机床的运动通过插补实现。现代数控系统的高速加工,对运动控制的实时性要求很高,目前数控系统所采用的插不起多为软件插补器,软件插补器虽然有很多优点,但软件插补受计算机软件运行速度限制,插补的速度、精度等性能指标难以满足高速实时控制的要求。解决这一问题的途径是,充分发挥软件和硬件的优势,将一部分实时性要求高的任务由专门设计的硬件来实现。VB这个软件是我们学习过的并且熟悉的一款软件,基于VB的数字积分法圆弧插补器的设计。而且采用数字积分法,它与逐点比较法、最小值偏差法相比较具有算法简单,便于硬件实现;进给速度易于控制等优点,因此,此次设计的硬件圆弧插补器采用数字积分法实现。 数控技术的应用给传统制造业带来了革命性的变化,随着数控技术的发展和应用领域的扩大,推动国民经济的各个产业迅速发展,这些产业所需装备的数字化已是各行业发展的大趋势,因此国家及各省市都把数字化装备制造作为优先发展的行业。因此,社会对各层次数控人才的需求量越来越大,质量要求越来越高,但是数控技术人才的短缺已严重制约数控技术在各行业的推广应用。大部分数控教材都绍了直线插补、圆弧插补、螺纹插补等插补算法,并举例说明了插补运算过程,这些仅仅是纸上谈兵式教法,为了使学生真正掌握插补原理,有必要让学生在数控设备上自己编写插补软件来实现插补算法。在学习数控技术之前,VisualBasic编程软件。为了提高插补速度,机床数控系统中插补任务一般采用汇编语言,因此难度大、工作量大。让学生采用VisualBasic实现插补软件可大大降低编程难度和工作量,同时可使学生加深对插补算法的理解。本课题利用X-Y移动工作台、步进电机、步进电机驱动器,在PC机平台上利用高级语言来完成圆弧插补运算,并控制Z轴、X轴运动,带动绘图笔画出圆弧。学生需完成绘图笔夹持装置设计、圆弧参数输入界面设计、插补软件设计。1.3数控系统的发展趋势 从1952年美国麻省理工学院研制出第一台试验性数控系统,到现在已走过了半个世纪历程。随着电子技术和控制技术的飞速发展,当今的数控系统功能已经非常强大,与此同时加工技术以及一些其他相关技术的发展对数控系统的发展和进步提出了新的要求。 趋势之一:数控系统向开放式体系结构发展20世纪90年代以来,由于计算机技术的飞速发展,推动数控技术更快的更新换代。世界上许多数控系统生产厂家利用PC机丰富的软、硬件资源开发开放式体系结构的新一代数控系统。开放式体系结构使数控系统有更好的通用性、柔性、适应性、可扩展性,并可以较容易的实现智能化、网络化。近几年许多国家纷纷研究开发这种系统,如美国科学制造中心(NCMS)与空军共同领导的“下一代工作站/机床控制器体系结构”NGC,欧共体的“自动化系统中开放式体系结 构”OSACA,日本的OSEC计划等。开放式体系结构可以大量采用通用微机技术,使编程、操作以及技术升级和更新变得更加简单快捷。开放式体系结构的新一代数控系统,其硬件、软件和总线规范都是对外开放的,数控系统制造商和用户可以根据这些开放的资源进行的系统集成,同时它也为用户根据实际需要灵活配置数控系统带来极大方便,促进了数控系统多档次、多品种的开发和广泛应用,开发生产周期大大缩短。同时,这种数控系统可随CPU升级而升级,而结构可以保持不变。 趋势之二:数控系统向软数控方向发展,现在,实际用于工业现场的数控系统主要有以下四种类型,分别代表了数控技术的不同发展阶段,对不同类型的数控系统进行分析后发现,数控系统不但从封闭体系结构向开放体系结构发展,而且正在从硬数控向软数控方向发展的趋势。传统数控系统,如FANUC0系统、MITSUBISHIM50系统、SINUMERIK810M/T/G系统等。这是一种专用的封闭体系结构的数控系统。目前,这类系统还是占领了制造业的大部分市场。但由于开放体系结构数控系统的发展,传统数控系统的市场正在受到挑战,已逐渐减小。“PC嵌入NC”结构的开放式数控系统,如FANUC18i、16i系统、SINUMERIK840D系统、Num1060系统、AB9/360等数控系统。这是一些数控系统制造商将多年来积累的数控软件技术和当今计算机丰富的软件资源相结合开发的产品。它具有一定的开放性,但由于它的NC部分仍然是传统的数控系统,用户无法介入数控系统的核心。这类系统结构复杂、功能强大,价格昂贵。“NC嵌入PC”结构的开放式数控系统它由开放体系结构运动控制卡和PC机共同构成。这种运动控制卡通常选用高速DSP作为CPU,具有很强的运动控制和PLC控制能力。它本身就是一个数控系统,可以单独使用。它开放的函数库供用户在WINDOWS平台下自行开发构造所需的控制系统。 因而这种开放结构运动控制卡被广泛应用于制造业自动化控制各个领域。如美DeltaTau公司用PMAC多轴运动控制卡构造的PMAC-NC数控系统、日本MAZAK公司用三菱电机的MELDASMAGIC64构造的MAZATROL640CNC等。SOFT型开放式数控系统 这是一种最新开放体系结构的数控系统。它提供给用户最大的选择和灵活性,它的CNC软件全部装在计算机中,而硬件部分仅是计算机与伺服驱动和外部I/O之间的标准化通用接口。就像计算机中可以安装各种品牌的声卡和相应的驱动程序一样。用户可以在WINDOWSNT平台上,利用开放的CNC内核,开发所需的各种功能,构成各种类型的高性能数控系统,与前几种数控系统相比,SOFT型开放式数控系统具有最高的性能价格比,因而最有生命力。通过软件智能替代复杂的硬件,正在成为当代数控系统发展的重要趋势。其典型产品有美国MDSI公司的OpenCNC、德国PowerAutomation公司的PA8000NT等。趋势之三:数控系统控制性能向智能化方向发展智能化是21世纪制造技术发展的一个大方向。随着人工智能在计算机领域的渗透和发展,数控系统引入了自适应控制、模糊系统和神经网络的控制机理,不但具有自动编程、前馈控制、模糊控制、学习控制、自适应控制、工艺参数自动生成、三维刀具补偿、运动参数动态补偿等功能,而且人机界面极为友好,并具有故障诊断专家系统使自诊断和故障监控功能更趋完善。伺服系统智能化的主轴交流驱动和智能化进给伺服装置,能自动识别负载并自动优化调整参数。世界上正在进行研究的智能化切削加工系统很多,其中日本智能化数控装置研究会针对钻削的智能加工方案具有代表性。 趋势之四:数控系统向网络化方向发展 数控系统的网络化,主要指数控系统与外部的其它控制系统或上位计算机进行网络连接和网络控制。数控系统一般首先面向生产现场和企业内部的局域网,然后再经由因特网通向企业外部,这就是所谓Internet/Intranet技术。 随着网络技术的成熟和发展,最近业界又提出了数字制造的概念。数字制造,又称“e-制造”,是机械制造企业现代化的标志之一,也是国际先进机床制造商当今标准配置的供货方式。随着信息化技术的大量采用,越来越多的国内用户在进口数控机床时要求具有远程通讯服务等功能。 数控系统的网络化进一步促进了柔性自动化制造技术的发展,现代柔性制造系统从点(数控单机、加工中心和数控复合加工机床)、线(FMC、FMS、FTL、FML)向面(工段车间独立制造岛、FA)、体(CIMS、分布式网络集成制造系统)的方向发展。柔性自动化技术以易于联网和集成为目标,同时注重加强单元技术的开拓、完善,数控机床及其构成柔性制造系统能方便地与CAD、CAM、CAPP、MTS联结,向信息集成方向发展,网络系统向开放、集成和智能化方向发展。趋势之五:数控系统向高可靠性方向发展 随着数控机床网络化应用的日趋广泛,数控系统的高可靠性已经成为数控系统制造商追求的目标。对于每天工作两班的无人工厂而言,如果要求在16小时内连续正常工作,无故障率在P(t)99%以上,则数控机床的平均无故障运行时间MTBF就必须大于3000小时。我们只对某一台数控机床而言,如主机与数控系统 的失效率之比为10:1(数控的可靠比主机高一个数量级)。此时数控系统的MTBF就要大于33333.3小时,而其中的数控装置、主轴及驱动等的MTBF就必须大于10万小时。如果对整条生产线而言,可靠性要求还要更高。 当前国外数控装置的MTBF值已达6000小时以上,驱动装置达30000小时以上,但是,可以看到距理想的目标还有差距。趋势之六:数控系统向复合化方向发展 在零件加工过程中有大量的无用时间消耗在工件搬运、上下料、安装调整、换刀和主轴的升、降速上,为了尽可能降低这些无用时间,人们希望将不同的加工功能整合在同一台机床上,因此,复合功能的机床成为近年来发展很快的机种。柔性制造范畴的机床复合加工概念是指将工件一次装夹后,机床便能按照数控加工程序,自动进行同一类工艺方法或不同类工艺方法的多工序加工,以完成一个复杂形状零件的主要乃至全部车、铣、钻、镗、磨、攻丝、铰孔和扩孔等多种加工工序。 普通的数控系统软件针对不同类型的机床使用不同的软件版本,比如Siemens的810M系统和802D系统就有车床版本和铣床版本之分。复合化的要求促使数控系统功能的整合。目前,主流的数控系统开发商都能提供高性能的复合机床数控系统。趋势之七:数控系统向多轴联动化方向发展 由于在加工自由曲面时,3轴联动控制的机床无法避免切速接近于零的球头铣刀端部参予切削,进而对工件的加工质量造成破坏性影响,而5轴联动控制对球头铣刀的数控编程比较简单,并且能使球头铣刀在铣削3维曲面的过程中始终保持合理的切速,从而显着改善加工表面的粗糙度和大幅度提高加工效率,因此,各大系统开发商不遗余力地开发5轴、6轴联动数控系统,随着5轴联动数控系统和编程软件的成熟和日益普及,5轴联动控制的加工中心和数控铣床已经成为当前的一个开发热点。 最近,国外主要的系统开发商在6轴联动控制系统的研究上已经取得和很大进展,在6轴联动加工中心上可以使用非旋转刀具加工任意形状的三维曲面,且切深可以很薄,但加工效率太低一时尚难实用化。电子技术、信息技术、网络技术、模糊控制技术的发展使新一代数控系统技术水平大大提高,促进了数控机床产业的蓬勃发展,也促进了现代制造技.1.4本论文的研究内容1、对插补算法进行研究,完成对数控数字积分法圆弧插补算法的全面了解,分析整理相关资料。2、了解用C语言进行程序设计的基本方法,同时熟悉VC+环境。3、学习VC+图形程序设计,进行软件的设计以及程序的编写。4、熟悉圆弧插补原理,推导出数控数字积分法圆弧插补算法的各个计算公式,并编制出相应的图形仿真程序。2.2.1直线插补 直线插补(Llne Interpolation)这是车床上常用的一种插补方式,在此方式中,两点间的插补沿着直线的点群来逼近,沿此直线控制刀具的运动。所谓直线插补就是只能用于实际轮廓是直线的插补方式(如果不是直线,也可以用逼近的方式把曲线用一段线段去逼近,从而每一段线段就可以用直线插补了).首先假设在实际轮廓起始点处沿x方向走一小段(一个脉冲当量),发现终点在实际轮廓的下方,则下一条线段沿y方向走一小段,此时如果线段终点还在实际轮廓下方,则继续沿y方向走一小段,直到在实际轮廓上方以后,再向x方向走一小段,依次循环类推.直到到达轮廓终点为止.这样,实际轮廓就由一段段的折线拼接而成,虽然是折线,但是如果我们每一段走刀线段都非常小(在精度允许范围内),那么此段折线和实际轮廓还是可以近似地看成相同的曲线的-这就是直线插补.2.2.2圆弧插补圆弧插补(Circula : Interpolation)这是一种插补方式,在此方式中,根据两端点间的插补数字信息,计算出逼近实际圆弧的点群,控制刀具沿这些点运动,加工出圆弧曲线。2.2.2复杂曲线实时插补算法传统的 CNC 只提供直线和圆弧插补,对于非直线和圆弧曲线则采用直线和圆弧分段拟合的方法进行插补。这种方法在处理复杂曲线时会导致数据量大、精度差、进给速度不均、编程复杂等一系列问题,必然对加工质量和加工成本造成较大的影响。许多人开始寻求一种能够对复杂的自由型曲线曲面进行直接插补的方法。近年来,国内外的学者对此进行了大量的深入研究,由此也产生了很多新的插补方法。如A(AKIMA)样条曲线插补、C(CUBIC)样条曲线插补、贝塞尔(Bezier)曲线插补、PH(Pythagorean-Hodograph)曲线插补、B 样条曲线插补等。由于 B 样条类曲线的诸多优点,尤其是在表示和设计自由型曲线曲面形状时显示出的强大功能,使得人们关于自由空间曲线曲面的直接插补算法的研究多集中在它身上。2.3刀具半径补偿 刀具半径补偿(Cutter Compensation)垂直于刀具轨迹的位移,用来修正实际的刀具半径与编程的刀具半径的差异。数控系统刀具半径补偿的含义是将刀具中心轨迹,沿着程编轨迹偏置一个距离,加工程序与刀具半径大小无关,它的功能是仅用一个程序就可以完成粗、精加工,或采用不同刀具直径加工时,可以不要重写加工程序。通常刀具半径补偿功能仅适用于二维编程加工,数控系统中规定沿着刀具加工方向向右偏置,称为右补,采用指令G42;向左偏置,称为左补,采用指令G41。2.4插补原理数控车床的运动控制中,工作台(刀具)X、Y、Z轴的最小移动单位是一个脉冲当量。因此,刀具的运动轨迹是具有极小台阶所组成的折线(数据点密化)。例如,用数控车床加工直线OA、曲线OB,刀具是沿X轴移动一步或几步(一个或几个脉冲当量Dx),再沿Y轴方向移动一步或几步(一个或几个脉冲当量Dy),直至到达目标点。从而合成所需的运动轨迹(直线或曲线)。数控系统根据给定的直线、圆弧(曲线)函数,在理想的轨迹上的已知点之间,进行数据点密化,确定一些中间点的方法,称为插补。其逻辑原理图如下:其中,插补是加工程序与电机控制之间的纽带。2.5插补算法的分类A常规插补算法 如果数控程序被计算机数控的主CPU解读,有关插补点与进给速度的信息都将传送到包括运动控制器在内的插补程序中。这种插补程序不仅提供直线、圆弧插补功能,还有螺旋、渐开线、样条插补等以更好的满足未加工材料的二维、三维的各种特征。 插补程序包括生成理想曲线的插入器和用于输出的升降速算法。在沿轴心运动的控制中,升降速算法能使机械系统在开始或减慢轴向运动时不受振动或冲击。在运动控制中插补算法的走向如图1所示。常规插补算法广泛应用于工业生产,插入器首先要计算出沿理想曲线的运动距离以及在笛卡尔坐标下偏离X,Y,Z的偏置值。每个采样周期内,它要计算出单位时间内零件沿理想轮廓曲线移动的距离,以及在同一插补程序采样周期和给定的进给速度下,单位时间内零件沿X,Y,Z轴移动的距离。然后,将计算出的这些微小距离增量传送到升降速算法器中,使其在运动控制中的输出量能很好的由输入指令传送到插入器中。 常规插补算法的优越性体现在它简单易行的插入器和升降速算法。这是因为它(常规插补算法)实现了彻底的独立插补。在常规的插补算法中,升降速算法相当于一个低通滤波,使各个轴各产生一个延时,最终协调出各自的一个沿X,Y,Z轴的步长距离,产生误差。这个路径误差最终表现为与理想曲线和实际加工曲线都不同的一条曲线。此外,这种算法能根据不同的升降速算法呈现出不同的路径误差类型。为了证实这一点,我们简要复习下在圆弧插补中,各种升降速算法对路径误差的影响。 在工业生产中,线性、指数、抛物线升降速这些算法是最为广泛应用的。如果我们把fi定义为输入,fo定义为输出,那么相应的线性、指数、抛物线升降速的特性可从下列算法中获得。1)线性升降速控制算法:f0(k)=f1(k)-f1(k-m)/m+f0(k-1)k为插补程序中的采样次数,m为线性升降速缓存器中存储的值。抛物线升降速控制算法:F01(k)=fi(k)-fi(k-m)/m1+f01(k-1),F02(k)=f01(k)-f01(k-m)/m2+f02(k-1),mj(j=1,2.,p)为各线性升降速区间中缓存器的值。当p=2时,即为抛物线升降速情况的特性。3) 指数升降速控制算法:f0(k)=(1-a)fi(k)-fi(k-1)+f0(k-1).在数字微分的基础分析算法下,a可按下式取值:a=1/(1+faTs/2”)Ts为插补程序的采样周期,fa为DDA法中迭代脉冲的频率。我们考虑到,在每一次的插补运算迭代中都有一个相应的角度增量,圆弧插补中,单位时间内零件沿X,Y方向上的移动如下计算:R为圆弧半径,V为进给速度或连续的正切速率,=V/R。这里的、为升降速控制的输入。那么,线性、指数、抛物线升降速控制算法下各自的路径误差分别定义为:m为比例系数,在升降周期tacc/dec与Ts之间:在(6)式中,为决定指数升降速算法周期的参数,Rc=在 线性、指数、抛物线三种升降速控制算法的比较下取0.95根据(6可得到如下不等式:由上式可以看出,在常规插补算法中,由指数升降速控制算法导致的路径误差是最大的,而抛物线升降速控制算法下误差是最小的。B新算法的提出 在上述常果。如果一个曲线在笛卡尔坐标下由插入器产生,那么曲线上一个点上的位置矢量可表示为沿X,Y,Z轴产生的增量根据以下几点算出:与理想曲线的偏差距离,给定的进给速度,插补程序中的采样周期,插补终点与速度为零的点相对应。然而,有些情况下,沿着理想曲线的误差距离,虽然被很明确地表示出来,但是是由一个复杂的形式给出的,比如螺旋,螺旋插补等。在这种情况下,实施优势可能会失去。为了克服这种事实和缺点,以前在常规的插补算法中进行过讨论,并已有新的插补算法被提出。 现在,我们提出这样一种算法,它能适用于由插入器生成的沿理想曲线的升降速参数。考虑到易于实现性,我们在这种算法中假设通过插入器衍生成人满意的结其中(k)为参数。(9)式中,参考曲线中的导的参数保持不变。这使得该算法,尤其是在现有圆弧、螺线,螺旋等插补算法的假设中,能达到令数、正切参数不变,其中s和e分别为插补算法的初始值和终点值,Fs为给定的进给速度。那么,当按新算法开始运行时,曲线增量的移距离与周期有关,按下式求的:这是一个恒定值。由(10)式和(11)式得到,参数的增量值为: 其次,的值传送到升降速控制的插补算法中。在笛卡尔坐标下,基于升降速的特征值,升降速控制下单位时间内,计算出零件沿X,Y,Z轴的位移,将其输入到运动控制器的插补器中。它们也有升降速特性,如同插入器受输入和伺服电机控制,数控机床各轴的协调运动,由运控中的位置控制循环来控制,最终控制刀具在理想状态下完成程序加工。图2给出了每个阶段的波形,重复描述了从s到(k)每个周期的过程。图2(a)给出了的变化曲线,图2(b)则是对应 的 值。同时,图2(c)描述的是在升降速特性下 、 的变化曲线。图2(d)给出的是的升降速特性曲线。该算法是按图3的流程图实现的。当算法开始是,初值被设置为2。它将一直保持这个值不变,直到程序开始执行减速运动,它被赋值为1.在S2(第二步)中,根据式(10)-(12)计算。将其值送到S3、S4(第三步、第四步)升降速控制器中,直到(由线性、指数、抛物线或其他升降速控制)开始做减速运动。在S5(第五步)中,它被用来判断是否在下一个周期开始减速。如果 明显不同与e和当前周期参数值,那么将在下一个周期进行减 速运动。否则,一直重复上一步。当在线性和抛物线升降速控制下C0被赋值为 2时,它的运动将取决于与曲线的距离。在减速运动期间,在第七步中检测已用时间是否与期望值一致。如果减速的耗时与预期的时间一致,那么控制结束。否则,将继续被送到第三步和第四步中,一直循环运算到下一个周期。尽管在算法中改变进给速度,插入器也会根据改变值进行控制。升降速根据 ,使刀具能沿着曲线轮廓平滑的改变进给速度。如果进给保持或重置,在第二步中将变为0,送到升降速控制算法中,刀具无振动的平稳停止。C较优的插补算法 被提出的插补算法每8ms完成一个执行周期,而较优的插补算法能每1ms向位置控制循环给出当前位置指令,每微秒的输出 如下计算: 三维数字加工是由三轴同步通过区间模块连续进行加工的。如果CNC在执行完当前模块指令后,要完成下一区间模块的指令编译,那么在这种情况下,机床将停止各轴的运动,直到下一区间编译完毕,再继续工作。由于每个模块中的移动距离非常小,该方法大大减弱了加工精度。为了避免这个问题,在编译器中的三个缓冲器和插入器中的二十个缓冲器分别由图4中的圆形阵列表示。在连续区间模块中,数据传送时允许高速加工。指令数据缓冲器和插补数据缓冲器中,分别储存和调用的数据类型如下:-指令数据缓冲器-自定义宏指令模态数据G,F,X,Y,Z的编码-理想位置数据-闭环数据,等_插补数据缓冲器-插补指令(G01,G02,G03,等)-回零指令-插补平面指令(G17,G18,G19)-理想位置数据-圆的中点,圆的半径-刀具的更换指令,主轴控制指令-模块中心的速度控制指令-M,S,T指令,等2.6数字积分法圆弧的插补 以第一象限逆圆为例,如图3-13,起点为A(x0,y0)终点为B(xe,ye),圆心在原点,半径为R,进给方向为-x或+y方向。瞬时加工点P(xi,yj)园弧方程为:X2+Y2=R2;两边对时间求导:2X1(dx/dt)+2y(dy/dt)=0;Dy/dt/dx/dt=x1/2y;可设速度分量为:v=dx/dt=-ky;(进给方向为-x方向); V=dy/dt=-kx;(进给方向为+y方向);类似于直线插补,位移可以表示为速度值,(Vx,Vy)的累加运算。则有:按照这两式,与DDA直线插补类似,也可用两个积分器来实现圆弧插补,如图3-20所示。将kyj、kxi分别作为x、y方向两积分器的被积函数。2.6.1与直线插补的区别:1坐标值x、y存入被积函数寄存器JVx、JVy的对应关系与直线不同,正好相反,JVx存放着y,JVy存放着x。2. 直线插补时,寄存器中始终存放着终点的坐标值,为常数,而圆弧插补则不同,寄存器中存放着动点坐标,是个变量。在插补过程中,必须根据动点位置的变化来改变JVx、JVy中的内容3. 运算开始时,x轴和y轴被积函数寄存器中分别存放着Y、X的起点坐标值。4. x轴被积函数寄存器中的数与其累加器的数累加得到的溢出脉冲发到x方向。y轴被积函数寄存器中的数与累加器中的数累加得到的溢出脉冲发到y方向。5. 每发出一个进给脉冲后,必须将被积函数寄存器中的坐标值加以修正。即当x方向发出进给脉冲后,使y轴被积函数寄存器中的内容减1(x方向的坐标值减少1,但x坐标值存放在y轴被积函数寄存器中);当y方向发出一个进给脉冲后,使x轴被积函数寄存器中的内容加1(y方向的坐标值增加1,但y坐标值存放在x轴被积函数寄存器中)。6. 终点判断:以圆弧的终点与起点的x、y坐标值之差的绝对值作为x、y方向各自发出的脉冲总数值,以此作为终点判断。由于园弧插补的两个坐标不一定同时到达终点,应分别进行终点判别,先到达的先停止累加。例:加工第一象限的园弧,圆心为原点,起点为A(5,0),终点为B(0,5)。x0=5, y0=0, xe=0, ye=5 为简便起见,寄存器位数N:2NR,可取N=3 实际的N应该由系统行程而定。第3章 圆弧插补的过程 3.1圆弧插补的算法及原理 插补模块:CNC仿真系统的插补主要包括直线插补和圆弧插补。由于设计要求简易数控机床,因此采取脉冲增量插补(逐点比较法插补)。 逐点比较法是脉冲增量算法最典型的代表,是一种最早的插补算法,该法的原理:CNC细工在控制的过程中,能逐点地计算和判别运动轨迹与给定轨迹的偏差,并根据偏差控制进给轴向给定轮廓靠近,缩小偏差,使加工轮廓逼近给定轮廓。 逐点比较法使以折线来逼近直线或圆弧曲线的,它与规定的直线或圆弧之间的最大误差不超过一个脉冲当量Pulse,因此,只要将脉冲当量取得够小,就可达到加工精度的要求。 3.2 圆弧插补3.2.1偏差计算公式 以第一象限逆圆为例介绍插补公式RmXB(Xe,Ye)如图2.3.1所示,要加工圆弧AB,设圆弧的圆心在原点,并已知圆弧的起点A(Xo,Yo),终点B(Xe,Ye),圆弧半径为R。加工动点M(Xm,Ym),它到圆心的距离为Rm。则有三种情况:当动点M在圆上有:当动点M在圆内有:当动点M在圆外有:因此,可定义圆弧偏差判别公式如下:若,应沿-X轴方向进给一步,到M+1点,其坐标值为: 则新加工点的偏差为:若,沿+Y轴方向进一步,到M+1点,其坐标值为则新加工点的偏差为:3.2.2终点判断的方法在绘图的过程中,不断地比较动点与终点的距离,当其距离小于脉冲当量时,在误差允许的范围达到终点。3.2.3其它象限的圆弧插补计算如图2.3.3所示,其它象限的圆弧或关于X轴对称、或关于X轴对称、或关于原心对称,完全可以按第一象限逆圆偏差公式进行计算,所不同的是将进给方向改变。图2.3.4圆弧插补流程图逆圆第一象限插补流程图结束X(Y)=0=NYyyesF(xm)0y= F(y)0F(xm)0x= +-Y进给 -X进给NF(xm)0y= F0起始F0,X0,Y0X0,Y0 2.3.4圆弧插补流程图:3.3.5圆弧插补仿真代码如下,仿真效果如图3.3所示:G92X0Y0Z5G90G00X0Y0M03F300S60G03X0Y0I0J30Z-5G03X0Y0I0J15G01Z5M05M02 图3.3第4章 仿真软件的设计4.1主界面及其功能介绍 程序主界面主要由如下几部分组成工作菜单栏、NC代码输入框、仿真视图、坐标参数框以及辅助功能状态框。 4.1.1工具栏菜单如图4.1依次为:文件、运行、帮助、设置。 文件栏下有保存、打开、以及清屏功能,也可以使用快捷键功能(按键附在功能名右侧)运行栏下有运行仿真、暂停、停止三个选项。帮助栏设置栏下包括等轴测图、X-Y平面、脉冲当量设置、设置视图比例、设置图形线宽四项。 图4.1 4.1.2 NC代码输入框如图4.2 做仿真时,可以在“NC代码输入框”直接输入NC代码程序进行仿真,也可以选择文件栏下选择打开,导入已有程序进行仿真即可,当程序有错误时,“NC代码输入框”会提示程序有误。 图4.24.1.3仿真视图如图4.3 输入程序正确后,点击NC输入框下运行按钮,即可在“仿真视图”上看到仿真情况,NC输入框下暂停按钮可以使仿真暂停,此时暂停按钮出现继续按钮,点击即可继续仿真。图4.3 4.1.4坐标参数框如图4.4 在程序输入,运行仿真时,坐标参数框里的“工件坐标原点的机床坐标值”“前点工件坐标值”、“当前点机床坐标值”会随着仿真视图仿真曲线的化而变化,我们直观地看到坐标值实时状态和仿真图形变化。 图4.44.1.5辅助功能状态框如图4.5 “辅助功能状态框”包括步进电机状态、主轴状态、冷却液状态。其中步进电机状态包括X、Y、Z轴的轴反向脉冲、无脉冲、轴正向脉冲状态。主轴有正反向状态,冷却液状态有开关状态。 图4.5 4.1.6主界面如图4.6: 图4.64.2参数设置定界面:脉冲当量设置如图4.7 图4.7比例设置如图4.8 26 图4.8 如图所示,在此界面,根据需要可以选择脉冲当量(单位为毫米mm)以及图形的比例和线宽,以便显示。附录源程序如下:Option Explicit Public CurrentNX As Single, CurrentNY As Single, CurrentNZ As Single, CurrentNR As Single, CurrentNF As Single, CurrentNI As Single, CurrentNJ As Single, PauseRun As Boolean, TempX As Single, TempY As Single, TempZ As SinglePublic VIEWXYZ As Boolean, OPX As Single, OPY As Single, OPZ As Single, FalsePoint As Boolean, MirrorX As Boolean, MirrorY As Boolean, CurrentGM As String, LineIP As Boolean Dim RunFast As Integer, FirstPoint As Boolean, NOTX As Boolean, NOTIJ As Boolean, NEWZ As Single Public StopRun As Boolean, SCALESIZE As Single, HowDC As Boolean, UserRTODC As Boolean, LineW As Integer, Pulse As SingleSub G00(X As Single, Y As Single, Z As Single) G00过程 CurrentNX = X 定位到当前坐标 CurrentNY = Y CurrentNZ = ZEnd SubSub G01(X As Single, Y As Single, Z As Single) G01过程 Dim X1 As Single, Y1 As Single, SPointX As Single, SPointY As Single, I As Single, L As Single On Error GoTo errhand If X = CurrentNX And Y = CurrentNY And Z = CurrentNZ Then Exit Sub End If If StopRun = True Then Exit Sub End If SPointX = CurrentNX SPointY = CurrentNY If X CurrentNX Then Dim K As Single K = (Y - CurrentNY) / (X - CurrentNX) For I = CurrentNX To X Step Sgn(X - CurrentNX) Y1 = SPointY + K * (I - SPointX) X1 = I Call DrawLine(CurrentNX, CurrentNY, X1, Y1) CurrentNX = X1 CurrentNY = Y1 CurrentNZ = Z Next I Else For I = CurrentNY To Y Step Sgn(Y - CurrentNY) Y1 = I X1 = CurrentNX Call DrawLine(CurrentNX, CurrentNY, X1, Y1) CurrentNX = X1 CurrentNY = Y1 CurrentNZ = Z If X = CurrentNX And Y = CurrentNY And Z = CurrentNZ Then Exit Sub End If Next I End If Exit Suberrhand: If StopRun = False Then MsgBox 程序发生错误,请检查G代码!, vbOKOnly, 错误 End IfEnd SubSub G03(X As Single, Y As Single, I As Single, J As Single) G03过程 Call DrawTCircle(X, Y, I, J, False) 调用插补画逆圆End SubSub G02(X As Single, Y As Single, I As Single, J As Single) G02过程 Call DrawTCircle(X, Y, I, J, True)End SubPublic Sub PICDRAWCLS() 重画坐标轴 frmmain.PicDraw.Cls frmmain.PicDraw.DrawWidth = 1 If VIEWXYZ = False Then 画X-Y平面坐标 frmmain.PicDraw.Line (0, frmmain.PicDraw.ScaleTop - 300)-(0, 0), &HC0FFFF frmmain.PicDraw.Line (0, 0)-(frmmain.PicDraw.ScaleWidth / 2 - 300, 0), &HC0FFFF frmmain.lblXYZ0(0).Top = -100 frmmain.lblXYZ0(0).Left = frmmain.PicDraw.ScaleWidth / 2 - 400 frmmain.lblXYZ0(1).Top = frmmain.PicDraw.ScaleTop - 300 frmmain.lblXYZ0(1).Left = -150 frmmain.lblXYZ0(3).Top = -100 frmmain.lblXYZ0(3).Left = 10 frmmain.lblXYZ0(2).Visible = False Else 画等轴侧坐标 frmmain.PicDraw.Line (0, frmmain.PicDraw.ScaleTop - 300)-(0, 0), &HC0FFFF frmmain.PicDraw.Line (0, 0)-(frmmain.PicDraw.ScaleWidth / 2 - 300, 0), &HC0FFFF frmmain.PicDraw.Line (0, 0)-(2000 * Cos(225 * 6.28 / 360), 2000 * Sin(225 * 6.28 / 360), &HC0FFFF frmmain.lblXYZ0(2).Visible = T
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸设计 > 毕业论文


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!