




已阅读5页,还剩74页未读, 继续免费阅读
(计算机应用技术专业论文)数控系统中译码模块的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
辽宁工程技术大学硕士学位论文 摘要 本文是以当前流行的3 2 位a r m 7 处理器加f p g a 为核心控制部件的硬件 平台为基础,来展开对数控系统中译码模块研究的。由于嵌入式系统硬件资 源的有限性,本论文以解释方式为主全面的分析研究了数控系统中译码模块 所要实现的绝大部分功能。首先,本文采用确定有穷状态自动机( d f a ) 的 分析策略构造了本系统的词法分析器:接着重点分析了子程序调用与返回功 能,提出了其在解释方式卜i 的实现方法;提出了解释方式下宏程序简单可靠 的实现控制策略,解决了译码任务与总体任务不同步的问题;工循环是译码 模块较为复杂的内容,其在解释方式下实现起来尤为困难,本论文采用了编 译方式与解释方式相结合的方法,实现了用户的工循环程序,既减轻了系统 硬件资源的负担,又满足了实时性的要求。最后通过编写程序验证了本论文 所提出的译码模块实现方法,并给出了实验数据,证明了可行性。 关键词:译码;编辑;解释方式;宏程序:工循环 辽宁工程技术大学硕士学位论文 a b s t r a c t u s i n gt h ep o p u l a ra r m 7p r o c e s s o ra n dc o r ec o n t r o lp a r t sf p g aa sh a r d w a r ep l a t f o r m , t h i st h e s i sr e s e a r c hd e c o d i n gm o d u l ei nc n cs y s t e m m a i n l yu s i n gi n t e r p r e t i v em o d e ,i t r o u n d e da n a l y s i sa n dr e s e a r c hm a j o r i t yf u n c t i o nw h i c hn e e dr e a l i z e di nd e c o d i n gm o d u l e , o w i n gt of i n i t e n e s so fh a r d w a r er e s o u r c ei ne m b e d d e ds y s t e m f i r s t l yc o n s t r u c t i n gl e x i c a l a n a l y z e ro fo u rs y s t e mb yu s i n ga n a l y s i ss t r a t e g yo ff i n i t es t a t ea u t o m a t o n ( d f a ) t h e n p r i o r i t ya n a l y z i n gs u b r o u t i n ec a l la n dr e t u r nf u n c t i o n ,p r e s e n t i n gi t si m p l e m e n t a t i o nm e t h o d u n d e ri n t e r p r e t i v em o d e ,p r e s e n t i n gs i m p l ea n dr e l i a b l ei m p l e m e n t a t i o nc o n t r o ls t r a t e g yo f m a c r o p r o g r a mu n d e ri n t e r p r e t i v em o d ew h i c hs e t t l et h en o n s y n c h r o n o u sp r o b l e mb e t w e e n d e c o d i n gt a s ka n dt o t a lt a s km a c h i n i n gl o o pi sac o m p l e xc o n t e n ti nd e c o d i n gm o d u l e ,i t s i m p l e m e n t a t i o ni se s p e c i a l l yh a r du n d e ri n t e r p r e t i v em o d e t h i st h e s i sa c t u a l i z e sc u s t o m e r m a c h i n i n gl o o pp r o g r a mb yc o m b i n i n gc o m p i l i n gm o d ea n di n t e r p r e t i v em o d e t h i sm e t h o d n o to n l y l i g h t e n i n gt h es y s t e mh a r d w a r eb e a rb u ta l s os a t i s f y i n gr e a l t i m i n gr e q u i r e m e n t f i n a l l yt h r o u g hc o m p i l i n gp r o g r a m ,i tp r o v e sd e c o d i n gm o d u l ei m p l e m e n t a t i o nm e t h o da n d t h ef e a s i b i l i t yo f t h es c h e m eb ys u p p l y i n ge x p e r i m e n t a lf i n d i n g s k e yw o r d s :d e c o d i n g ;e d i t i n g ;i n t e r p r e t i v em o d e ;m a c r o p r o g r a m ;m a c h i n i n gl o o p 辽宁工程技术大学硕士学位论文 l绪论 1 1引言 数控技术,也称为计算机数字控制数控( c o m p u t e rn u m e r i cc o n t r o l ,简称 c n c ) 技术。它是计算机技术在机械制造领域的一种典型应用,集计算机、机 械加工、微电子和自动控制等多项技术于一体,具有高精度、高效率、柔性 自动化等特点,对制造业实现柔性自动化、集成化、智能化起着举足轻重的 作用2 1 。在集成化基础l ,数控系统实现了超薄型、超小型化;在智能化基 础上,综合了计算机、多媒体、模糊控制、神经网络等多学科技术,数控系 统实现了高速、高精、高效控制,加工过程中可以自动修三、调节与补偿各 项参数,实现了在线诊断和智能化故障处理;在网络化基础上,c a d c a m 与 数控系统集成为一体,机床联网,实现了中央集中控制的群控加工【3 i 。 随着数控技术的发展和在生产过程中的广泛应用,传统的机械工业的产 业结构和生产模式发生j ,深刻的革命性的变化,加工精度和速度提高,生产 效率大幅度增长,加工质量得到极大完善,并实现了人工很难做到的对各种 复杂工件的自动加工。数控系统发展的同时也奠定了柔性制造系统( f m s ) 和 计算机集成制造系统( c i m s ) 的基础。从7 0 年代以来,以数控机床为代表的 现代基础机械己成为制造工业最重要的技术特征,数控机床水平的高低和机 床数控化率的高低已成为衡量国家工业化水平高低的重要标志。 1 2数控系统的发展历史4 j 【5 j 【6 l f 7 j 1 9 4 6 年世界上第一台电子计算机“e n i a c ”的问世,为产品制造由刚性 自动化向柔性自动化方向发展奠定了基础。最早产生数控机床的设想是在 1 9 4 7 年,当时为了精确制作直升飞机叶片的样板,美国一家帕森斯( p a r s o n s ) 公司设想了用电子技术来控制坐标镗床的方案。接着美国空军后勤司令部又 为丁能在短时间内制造出经常变更设计的火箭零件,f1 9 4 9 年委托帕森斯 公司,并与麻省理工学院( m i t ) 伺服机构研究所协作,开始了数控机床的研 制工作,经过3 年时间的研制,于1 9 5 2 年试制成功了世界上第一台数控机 床三坐标镗铣床。 从七十年代以来,工业发达国家在加工装备中将传统的机械技术、成组 技术与现代控制技术、传感检测技术、信息处理技术、网络通讯技术有机地 辽宁工程技术大学硕士学位论文 结合在一起,大量采用以微电子和计算机技术为基础的数控技术。从1 9 5 2 年第一台数控机床问世后,数控系统己先后经历了两个阶段和六代的发展: 电子管、晶体管、集成电路、小型计算机、微处理器及基于p c 机的通用c n c 系统。其中前三代为第一阶段称作硬件联结数控( 简称n c 系统) ,主要由电 路的硬件和连线组成。它的特点是具有很多硬件电路和连接结点,电路复杂, 呵靠性不好。后三代为第二阶段称作计算机软件系统( 也称c n c 系统) ,主要 由计算机硬件和软件组成,其最突出的特点是利用存储在存储器里的软件控 制系统工作,这种系统容易扩大功能,柔性好,可靠性高。 c n c 系统的核心是计算机,即由计算机通过执行其存储器内的程序来实 现部分或全部数控功能。也就是说c n c 系统由硬件和软件两大部分组成, 硬件是软件的舞台,也是其物理基础,而软件是整个系统的灵魂,整个c n c 系统的活动均依靠系统软件来指挥。 1 3数控技术的发展现状 进入9 0 年代以来,由于计算机技术的飞速发展,推动数控机床技术更 快的更新换代。国外许多数控系统生产厂家利用p c 机丰富的软硬件资源开 发开放式体系结构的新一代数控系统。开放式体系结构使数控系统有更好的 通用性、柔性、适应性、扩展性,并向智能化、网络化方向大大发展。开放 式体系结构可以大量采用通用微机的先进技术,如多媒体技术,实现声控自 动编程、图形扫描自动编程等。 欧、美、口各国争相开发应用新一代高速数控机床,加快机床高速化步 伐。高速主轴单元( 电主轴,转速15 0 0 0 一1 0 0 0 0 0 r m i n ) 、高速且高加减速 度的进给运动部件( 快移速度6 0 12 0 m m i n ,切削进给速度高达6 0 m m i n ) 、 高性能数控和伺服系统以及数控工具系统都出现了新的突破,达到了新的技 术水平| 8 i 。随着计算机技术、网络技术日益普遍运用,数控机床走向网络化、 集成化已成为必然的趋势和方向,互联网进入制造工厂的车间只是时间的问 题。 改革开放以来,我国数控技术取得了实质性的发展,经过“六五”( 8 1 年8 5 年) 引进国外技术,“七石”( 8 6 年一9 0 年) 消化吸收,到了“八五”( 9 1 年一9 5 年) 期间,我国有了四个具有中国自主版权的数控技术平台,它们是北 辽宁工程技术大学硕士学位论文 京密云机床研究所的中华i 型,北京航天集团的航天i 型,中科院沈阳计算 机所的蓝天i 型和华中科技大学的华中i 型。它们是我国研发开放式数控系 统的典范。随后几年中,我国经济型数控系统( 低梢数控系统) 的发展有了较 大的改观。无论从产品的性能或者是可靠性方面都有了较大的提高,但在中、 高档数控机床方面,与国外一些先进产品相比,仍存在较大差距,这是由于 欧美日等先进工业国家于8 0 年代先后完成了数控机床产业进程,其中一些 著名机床公司致力于科技创新和新产品的研发,引导着数控机床技术发展。 相比之下,我国大部分近代数控机床产品在技术:处于跟踪阶段。 1 4 数控技术的发展趋势| 9 】 数控技术的应用不但给传统制造业带来了革命性的变化,使制造业成为 工业化的象征,而且随着数控技术的不断发展和应用领域的扩大,他对国计 民生的一些重要行业( r t 、汽车、轻工、医疗等) 的发展起着越来越重要的 作用,因为这些行业所需装备的数字化已是现代发展的人趋势。从目前世界 上数控技术及其装备发展的趋势米看,数控技术未来发展方向包括有以下几 个方面。 ( 1 ) 继续向开放式、基于p c 的方向发展。基于p c 所具有的开放性、低 成本、高可靠性、软硬件资源丰富等特点,更多的数控系统厂家会走上这条 路。至少采用p c 机作为它的前端,来处理人机界面、编程和联网通信等问 题,由原有的系统承担数控的任务。p c 机所具有的友好的人机界面将普及到 所有的数控系统,远程通讯、远程诊断和维修将更加普遍。日本、欧盟和美 国等针对开放式的c n c ,正在进行前后台标准的研究。 ( 2 ) 向高速化和高精化发展。这是适应机床向高速和高精度方向发展的需 要。要求数控系统高速处理并计算出伺服电机的位移量,并要求伺服电机 能够快速做出反应。为使在极短的空程内达到高速度和在高行程速度下保持 高定位精度,必须具备高加、减速和高精度的位置检测系统和伺服品质,通 过减少数控系统的误差和采用补偿技术来提高精度。 ( 3 ) 向智能化方向发展。随着人工智能在计算机领域的不断渗透和发展, 数控系统的智能化程度将不断提高。 应用自适应控制技术。数控系统能检测过程中一些重要信息,并自动 辽宁工程披术大学硕士学位论文 4 调整系统的参数,达到改进系统运行状态的目的。 引入专家系统指导加工。将熟练工人和专家的经验,加工的一般规律 与特殊规律存入系统中,以工艺参数数据库为支撑,建立具有人工智 能的专家系统。当前,己开发出模糊逻辑控制和带自学习功能的人工 神经网络电火花加工数控系统。 引入故障诊断专家系统。当数控机床某部分出现故障时,故障诊断专 家系统会进行判断、反馈,产生报警,或显示故障代号、故障部位等 信息。 智能化数字伺服驱动装置。通过自动识别负载而自动调整参数,使驱 动系统获得最佳的运行。 ( 5 ) 向网络化的方向发展。数控机床的联网便于远距离操作和监控,也 便于远程诊断故障和进行调整。通过机床联网,不仅有利于在任何一台机床 上对其它机床进行编程、操作和设定参数,也有利于生产厂家对产品监控和 维修,还适于在操作人员不宜到现场的环境中工作。 1 5课题的研究目标和结构安排 1 5 1研究内容 译码,无论在低档数控系统还是高档数控系统中都是不可或缺的一个重 要组成部分,数控系统中的译码相当于我们平时编程过程中使用的编译器, 其实质是按照编译原理所实现的个小型编译器。但与普通的编译器不同, 数控系统中的编译器是结合了数控系统自身的特点,按照数控系统总体设计 的规定,采用编译方式或者解释方式产生特定的编译执行结果,而并不是产 生二进制可执行代码。数控系统中的译码功能是整个数控系统运动控制的基 础,负责完成用户输入的繁杂的信息处理,产生插补功能所需要的插补信息, 从而使插补功能可以只专注于几种运动方式的插补实现,不必关心插补信息 的获取过程。一个功能强大的数控系统编译器包括了公英制转换、子程序调 用、复合工循环、宏程序等功能,为用户编制c n c 程序提供了很大的灵活 性,准确完善的报警信是用户编程过程中排错的重要帮手。本文在a r m 7 处 理器加f p g a 为核心控制部件的硬件平台上,采用p c o s i i 作为嵌入式实时 操作系统,全面研究分析了中档数控系统的译码功能,提出了嵌入式系统中 辽宁工程技术大学硕士学位论文 译码功能的实现方案,既满足了系统的实时性要求,又增强了译码模块的准 确性与可靠性。本文主要研究内容如下: ( 1 1 数控系统中词法分析器的构造。采用确定有穷状态自动机( d f a ) 的分析策略构造了本系统的词法分析器,该词法分析器具有灵活简单,便于 根据n c 程序的格式调整,完成诃法分析的特点。 f 2 1 子程序调用与返回,非标准m s t 代码的调用与返回功能的研究。 ( 3 ) 宏程序的研究与实现。宏程序是中高档数控系统中的常用功能,本 论文在研究实现一般宏程序的同时,还针对本系统提前译码带来的宏程序跳 转判断不准问题,提出了采用“重新译码”的方法的解决办法。 ( 4 ) 工循环程序在解释方式下的实现。单一工循环和第一类复合工循环 程序无论是在解释方式还是编译方式下实现的难度相差不大,而第二类复合 工循环程序在解释方式下实现的困难相当大。本文在分析解决了单一工循环 和第一类复合工循环程序解释方式下的实现难点后,采用解释方式和编译方 式相结合的办法重点分析了第二类复合工循环程序在解释方式的实现过程。 ( 5 ) 针对解释方式下设置译码、刀补、插补缓冲区所带来的译码可能出 错的情况,本文提出了“重新译码”的控制策略,保证了译码的准确性和可 靠性。 1 5 2结构安排 本文共分为六章,第一章为绪论,介绍了国内外数控系统的发展现状和 发展趋势,说明厂本课题的研究意义和研究内容。第二章从数控系统的工作 原理和体系结构出发,对需求进行了详细地分析给出了设计的基础与依据。 同时对数控系统软件总体的设计方法进行了探讨,分析了数控系统中根据功 能进行的模块划分。由于整个卜层软件是基于i t c o s it 实时操作系统的,因 此对“c o s it 操作系统的框架和主要内容进行了简单说明。第三章对编辑模 块的需求进行了详细分析,提出了实现各种功能的方法,介绍了在译码时所 涉及的相关的一些重要概念。第四章结合当前主流的车床数控系统分析了中 高档数控系统中所应该实现的功能,提出了一些新的设计思路,并# f 对本系 统中译码超前插补许多段所引起的问题,提出了新的解决方案。第五章对用 c 语言实现的编辑、译码程序进行了详细的测试,并给出厂详细的测试报告。 第六章对本论文的研究工作进行了总结与展望,指明了系统存在的不足及改 辽宁工程技术大学硕士学位论文 6 进方向。 1 6本章小结 本章简单叙述了数控技术的发展历史,介绍了我国数控技术发展的现 状,分析了数控技术的发展趋势,描述了本论文所要研究的内容和论文结构 安排。 辽宁工程技术大学硕士学位论文 7 2 基于i t c o s i i 的数控系统的研究方案 2 1c n c 系统简介 2 1 1c n c 系统的组成 c n c 系统是在硬件数控的基础上发展起来的,它用一台计算机代替先前 的数控装置所完成的功能。所以,它是一种包含计算机在内的数字控制系统, 根据计算机存储的控制程序执行部分或全部数控功能。 按照e 1 a 所属的数控标准化委员会的定义,c n c 是用一个存储程序的 计算机,按照存储在计算机内的读写存储器中的控制程序去执行数控装置的 部分或者全部功能,在计算机之外的唯一装置是接口。 c n c 数控系统由程序、输入输出设备、计算机数字控制装置、可编程控 制器( p l c ) 、主轴驱动装置和进给驱动装置组成。图2 1 为c n c 系统框图。 加工 图2 1c n c 系统框图 数控系统的核心是计算机数字控制装置。随着半导体技术和计算机技术 的发展,现代数控装置以微型计算机数控装置( m n c ) 为主体,统称为c n c 数控装置。使用微处理机和微型计算机后,使得c n c 数控装置的性能和可 靠性不断提高,成本不断下降,其优越的性能价格比,推动了数控机床的发 展。 2 1 - 2 c n c 装置的结构 c n c 装置是数控加工用专用计算机,除具有一般计算机的结构外,还有 和数控机床功能有关的功能模块结构和接口单元。c n c 装置由硬件和软件组 成,软件在硬件的支持下运行。离开软件,硬件便无法工作,两者缺一不可。 硬件的组成如图2 2 所示。软件包括管理软件和控制软件两大类。管理软件 辽宁工程技术大学硕士学位论文 口 向闻嘲 辽宁工程技术大学硕士学位论文 加工速度( f 代码) 和其它的辅助信息( m 、s 、t 代码等) 。c n c 装置以一 个程序段为单位,根据一定的语言规则解释成计算机能够识别的数据形式, 并以一定的数据格式存放在指定的内存专用区间。在译码过程中,还要完成 对程序段的语法检查等工作,发现错误立即报警。 ( 3 ) 数据处理 数据处理包括刀具补偿、速度计算以及辅助功能的处理等。 刀具补偿分刀具长度补偿和刀具半径补偿两种。通常c n c 装置的零件 程序是以零件轮廓轨迹来编程,刀具补偿的作用是把零件轮廓轨迹转换成刀 具中心轨迹。现代的c n c 装置中,刀具补偿工作还包括程序段之间的自动 转接和过切削判断。 速度计算是按照编程所给 h 的合成进给速度计算出各坐标轴运动方向 的分速度。另外对机床允许的最低速度和最高速度的限制进行判别并处理。 在有些c n c 装置中,软件的自动加减速也在这里处理。 辅助功能如换刀、主轴启停、冷却液开停等大部分都是开关量信号,这 里的主要工作是识别、存储和标志设置,在程序执行时发出信号,由机床相 应部件执行这些动作。 ( 4 ) 插补 插补的任务是通过插补计算程序,在一条己知起点和终点的曲线上进行 “数据点的密化”。插补程序在每个周期运行一次,在每个插补周期内,根 据指令进给速度计算出一个微小的直线数据段。通常经过若干个插补周期 后,插补加工完一个程序段,即完成从程序段起点到终点的“数据密化”工 作。具体方法是:在每个插补周期内,计算出一个微小数据段的各坐标分量 ( 如血、a y ) ,经过若干个周期,可以计算出从起点到终点之间的若干个微 小直线数据段。每个插补周期所计算出的微小直线段都应该足够小,以保证 轨迹精度。 目前一般c n c 装置中,仅能对直线、圆弧和螺旋线进行插补计算。在 一些专用的或较高档的c n c 装置中还能完成对椭圆、抛物线和一些专用曲 线的插补计算。 插补计算实时性很强,要尽量缩短一次插补运算的时间,以便更好地处 理其它的工作,并使进给的最大速度得以提高。 辽宁工程技术大学硕士学位论文 ( 5 ) 位置控制 位置控制可以由软件来实现,也可以由硬件来完成。它的主要任务是在 每个采样周期内,将插补汁算的理论位置与实际反馈位置相比较,用其差值 去控制进给电机。在位置控制中,还要完成位置回路的增益调整、各坐标轴 的螺距误差补偿和反向间隙补偿,以提高机床的定位精度。 ( 6 1i o 处理 i o 处理主要是处理c n c 装置与机床之间强电信号的输入、输出和控制。 ( 7 ) 显示 c n c 装置的显示主要是为操作者提供方便,通常有零件程序的显示、参 数显示、刀具位置显示、机床状态显示、报警显示等。高档c n c 装置中还 有刀具加工轨迹的静动态图形显示,以及在线编程时的图形显示等。 ( 8 ) 诊断 现代c n c 装置都具有联机和脱机诊断功能。联机诊断是指c n c 装置中 的自诊断程序,这种自诊断程序融合于各个部分,随时检查不正常的事件。 脱机诊断是指系统不工作,但在运转条件下的诊断。一般c n c 装置配备有 各种脱机诊断程序纸带,以检查存储器、外围设备、i o 接口等。脱机诊断 还可以用远程通讯方式进行,即把用户的c n c 装置通过电话线与远程通讯 诊断中心计算机相连,由诊断中心计算机对c n c 装置进行诊断、故障定位 和修复。 2 2 基于c o s i i 的数控系统的设计方案 随着i c 技术和计算机技术的发展,市场e 出现了多种功能强大的微控 制器,为研发新型的、面向不同应用对象和层次的高性价比的c n c 系统提 供了坚实的平台。本系统就是建立在a r m 7 系列3 2 位单片机硬件基础上, 采用实时多任务嵌入式操作系统g c o s l i 作为软件平台,完成整个数控系 统的开发。 2 2 1 i a c o s i i 操作系统 近年来,随着微控制器性能的不断提高,嵌入式应用越来越广泛。目前 市场上的大型商用嵌入式实时系统,如v x w o r k ,p s o s 等,已经十分成熟, 并为用户提供了强有力的开发和调试工具。但商用嵌入式实时系统价格昂贵 辽宁工程技术大学硕士学位论文 而且都针对特定的硬件平台。目前源码开放( c 代码) 的嵌入式系统有g c o s i i 和u c l i n u x ,g c o s i i 简单易学,提供了嵌入式系统的基本功能,其核心 代码短小精悍,如果针对硬件进行优化,还可以获得更高的执行效率 1 1 1 。本 系统的软件采用g c o s i i 为嵌入式平台,在应用中切实感到了开放源代码 的无可替代的优点:首先是可以根据自己的需要对源代码进行取舍,去掉不 需要的变量和不使用的函数,甚至可以根据需要改写相关函数。此外,由于 用户对系统有源码级的了解,可以添加自己编写的模块,与原系统兼容,使 系统具有可扩展性。 数控系统是实时多任务系统,精度要求高,这要求所用的操作系统有多 任务管理功能和较强的实时性。g c o s i i 提供了嵌入式系统的基本功能,实 时性较好,能管理多达几十个任务,在本数控系统中针对硬件进行优化,获 得了更高的执行效率。 g c o s - 1 1 可以大致分成核心、任务处理、时间处理、任务同步与通信, c p u 的移植等5 个部分1 2 】: ( 1 ) 核心部分( o s c o r e ,c ) 是操作系统的处理核心,包括操作系统初始化、 操作系统运行、中断进出的前导、时钟节拍、任务调度、事件处理等多部分。 能够维持系统基本工作的部分都在这里。 ( 2 ) 任务处理部分( o s t a s k c ) 任务处理部分中的内容都是与任务的操作 密切相关的。包括任务的建立、删除、挂起、恢复等等。因为l a c o s i i 是以 任务为基本单位调度的,所以这部分内容也相当重要。 ( 3 ) 时钟部分( o s t i m e c ) r t c o s 1 1 中的最小时钟单位是t i m e t i c k ( 时钟节 拍) 。任务延时等操作是在这里完成的。 ( 4 ) 任务同步和通信部分为事件处理部分,包括信号量、邮箱、邮箱队 列、事件标志等部分;主要用于任务间的互相联系和对临界资源的访问。 ( 5 ) 与c p u 的接口部分是指g c o s 1 i 针对所使用的c p u 的移植部分。 由于l a c o s - i i 是一个通用性的操作系统,所以对于关键问题上的实现,还是 需要根据具体c p u 的具体内容和要求作相应的移植。这部分内容由于牵涉 到s p 等系统指针,所以通常用汇编语言编写。主要包括中断级任务切换的 底层实现、任务级任务切换的底层实现、时钟节拍的产生和处理、中断的相 关处理部分等内容。 辽宁工程技术大学硕士学位论文 2 2 2数控系统软件总体结构 本系统中,c n c 系统软件主要包括系统管理和系统控制,软p l c 处理3 大任务及中断系统;中断处理:i 0 中断接收按键键值;串口中断( 或其他) 接收伺服驱动的数据,4 m s 定时中断发送数据到伺服驱动;有需要时,4 m s ( 或2 m s ) 定时中断接收主轴编码器的脉冲数( 由f p g a 计数,c p u 向f p g a 请求,通过并口读回数据) ,并接收手轮的脉冲数( 由f p g a 计数,c p u 向 f p g a 请求,通过并口读回数据) 。( o s t i m e t i c k 时钟节拍设为8 m s ,在定时 中断处理中,可加入需要的2 m s 或4 m s 的处理任务。) 系统管理:包括通信,显示,诊断,( 刀补、螺距补偿等) 参数设置, p l c 梯形图输入,零件程序的输入编辑,伺服驱动的多种数据的输入。 c n c 系统控制:程序译码,刀补,螺距补偿,速度控制,轨迹插补,位 置控制,限位和急停。 软p l c 处理:软件完成p l c 梯形图的解释执行功能。 图2 3 给出了c n c 系统的详细软件层次结构框图。 国 总控模块 c n c 系统管理p l c 管理c n c 系统控制 上上 通 显 手 讯 l颤 控 动 管 c 处 制 任 任理 任 务 理 任 务任 任 务 务 务 务 弋 ,l ,l ,j 、1 ,一【,l 一上 1 鬲 刀 连ll 插手i 苎吲荐器嚣蠢i 吲釜| i 辑ii 篓 u 到剧倒倒l 图2 - 3c n c 系统软件结构框图 辽宁工程技术大学硕士学位沦文 2 2 3主要任务模块功能描述 进行合理的任务划分对系统的运行效率、实时性和吞吐最影响极大。任 务分解过细会引起任务的频繁切换的开销增加,而任务分解不够彻底会造成 原本可并行的操作只能串行完成,从而减少了系统的吞吐量。为了达到系统 效率和吞吐量之间的平衡,本软件系统任务模块的分解主要基于以下一些规 则: 时间:两个任务所依赖的周期条件具有不同的频率和时间段 异步性:两个任务所依赖的条件没有苛刻的时间关系 优先级:两个任务所依赖的条件需要不同的优先级 清晰性可维护性:两个任务可以在功能上或逻辑上相互分开 2 2 3 1中断处理 系统中断来自5 方面: i o 中断( 8 0 5 1 有键码时向a r mc p u 发出请求) 接收编辑键盘按键 键值( 通过数据总线或i o 读出8 0 5 1 中的键值) ; 串口中断( 或其他) 接收伺服驱动的数据。 2 m s 定时中断,加循环计数器( t n 一0 3 ) ,接收主轴编码器的脉冲 数、接收手轮的脉冲数,完成双口r a m 中与p l c 相关数据的输入、输出等。 串口通信时中断收发数据。 急停按钮的防抖动处理由硬件完成。急停按钮i o 口中断处理,数 据转换后存入全局数组x 2 5 6 1 中某一位,置全局状态为急停状态,c n c 控 制部分停止插补输出,p l c 部分停止有关运动输出。 2 2 3 2p l c 处理任务模块 优先级:c n cp r l 0 + 2( # d e f i n ec n cp r l o1 0 ) 功能描述:接收、发送p l c 处理程序,解释执行p l c 程序,并执行相 应的输入、输出操作。 输入接口:来自c n c 的f 信号,来自机床的x 信号,p c 机的数据 输出接口:发向c n c 的g 信号,发向机床的y 信号,传向p c 机的数 据。 要求:软p l c 任务,每8 m s 时间段内运行时间不能超出2 m s ,否则其他 任务实时性受影响。因此,一定要精简第一级处理程序,并且对第二级处理 辽宁工程技术大学硕士学位论文 程序进行合理的分割。 2 2 3 3c n c 系统控制模块 该模块下面分成三大任务子模块: ( 1 ) 手动、手轮( 增量) 进给任务模块 优先级:c n cp r i o + 8 功能描述:手动、手轮( 增量) 移动机床坐标,机械回零( 回参考点) ,程 序回零,手动换刀,手动正反转主轴等。 输入接口:系统实时坐标,系统参数,螺补参数,各种控制信号。 输出接口:系统实时坐标,各种控制状态、信号。 ( 2 ) 加工预处理任务模块 优先级:c n cp r i o + 6 功能描述:对零件加工程序进行语法检查,译码、计算、刀具补偿( 长 度补偿、刀失半径补偿) ,建立待加t 指令序列,完成加工准备。 输入接口:零件程序,系统实时坐标,系统参数,刀补数据,各种控制 信号。 输出接口:预处理缓冲区指令数据,指令数据长度。 ( 3 ) 加工控制模块 优先级:c n cp r i o + 0 功能描述:执行m 、s 、t 功能,进行加工控制,丝杠反转误差补偿, 插补准备,启动4 m s 定时中断。 输入接口:预处理缓冲区数据,数据长度,系统参数,各种控制信号。 输出接口:插补准备数据,各种控制状态、信号 2 2 3 4c n c 系统管理模块 通过对系统进行管理,操作人员才能完成机床的开机,关机,加工,输 入编辑的各种工作。系统管理是c n c 软件系统必须循环调度的,系统管理 协调控制各部分执行完要求的任务,从而实现其相应功能。 系统管理模块,要进一步细分为更小的任务,才能实现。 系统管理模块t 要分为7 个任务子模块: ( 1 ) 通信任务 优先级:c n cp r i o + 4任务周期8 m s 辽宁工程技术大学硕士学位论文 15 功能描述:完成通信的数据链路层的任务,并向g u i 任务发送有关状态 和通信的数据。串口的打开,关闭,初始化,设置,读串口,写串口。 ( 2 ) g u i 任务 优先级:c n cp r i o + 2 0任务周期9 6 m s 功能描述:根据键盘和p l c 状态,设置系统状态,并根据系统状态,更 新有关窗口内容,显示相应的窗口。( 包括程序的编辑,参数的设置,刀补, 螺距的设置,诊断显示,帮助文本显示,刀具轨迹的显示。) ( 3 ) 显示数据的准备任务 优先级:c n cp r l 0 + l8任务周期9 6 m s 功能描述:周期性地读取系统时间,并将时间格式转换为字符串;周期 性地读取系统刀具坐标,并将数据转换为相对坐标和绝对坐标,最后转换为 能显示的字符类型;周期性的根据刀尖坐标和轨迹图形坐标原点和比例,算 出轨迹图上点的位置,重叠的位置不被记录。( 若是要求显示对称图形则一 次求出2 个点位置) 。 ( 4 ) 输入处理( 包括键盘,p l c ,机床面板) 任务 优先级:c n cp r i o + 1 2任务周期3 2 m s 功能描述:若为扫描键盘,则进行扫描,去抖,获得物理键值。若为中 断中接收按键值,则从中断b u f f e r 中取值。取出物理按键值,再根据s h i f t 和其他功能键,求出按键的a s c l l 码,将a s c i i 码传到g u i 任务。p l c 全 局数据结构中过滤掉与c n c 无关的数据,将与c n c 有关的数据传到g u i 任务。根据键盘和p l c 状态,设置系统状态。 ( 5 ) 文件系统数据更新任务 优先级:c n cp r i o + 1 4任务周期1 6 0 m s 功能描述:文件系统设计中,文件的读写操作在内存中进行,文件修改 后要定时周期性地写入f r a m ,以确保文件完整。 ( 6 ) 系统自检诊断任务 优先级:c n cp r i o + 1 6任务周期2 0 0 m s 功能描述:周期性的检测系统正常运行的条件是否满足。如各种工作电 压,电池电压。 ( 7 ) 清看门狗任务 辽宁工程技术大学硕士学位论文 优先级:c n c p r i o + 1 0任务周期 功能描述:定时周期性地清看门狗。 控制不能正常执行完,只能停机复位。 2 3本章小结 9 6 m s ( 由看门狗时间确定) 若未能执行,则p l c 控制,c n c 本章首先介绍了数控系统的组成以及工作原理,分析了数控系统的软硬 件的结构,通过实际分析给出了本系统的软件总体结构框图和各个功能模块 的具体功能。 辽宁工程技术大学硕士学位论文 3编辑模块的设计与实现 数控系统中的编辑功能属于本系统中的g u i 开发部分,它是用户使用的 最多的功能模块之,一个好的编辑功能给用户操作、编程带来极大地方便, 是提升一个数控系统人机接1 3 性能的一条重要途径。编辑模块是译码模块获 得用户输入信息的一个主要来源,编辑模块规定的用户编程规则、保存的文 件格式与后续译码部分处理息息相关。所以在开始译码系统的研究与开发之 前定制洋细的编辑模块是非常必要的。 3 1整体结构 在结合现有数控系统的分析以及对本系统要实现的功能目标的基础上, 得出本系统全屏编辑的功能树,如图3 1 所示。它贴近于w i n d o w s 操作系统 的文本编辑的方式,使得用户能更简便直观的与数控系统进行人机交互,操 作也更加方便。 图3 1编辑模块功能树 3 2 程序编辑功能的实现 3 2 1地址字、数字或符号的输入 系统开发时定义了一个二维数组e d i t ,文件打开时将文件中的数据 装载到数组中,编辑时是对该数组的操作,编辑完成后在适当的时候写回文 辽宁工程技术大学硕士学位论文 件。编辑状态下程序段的结束标志为“;”,程序结束标志是“”。当系统处 于全屏编辑状态,用户输入地址字、数字或者符号时,要分三种情况分别处 理:( 1 ) 光标在“”上,此种情况较简单,不需做移行的操作,但需根据输 入为地址字和数字或字符两种情况来处理,当为地址字时,需自动在该地址 字前加入空格,当为数字或字符时则不需要;( 2 ) 光标在“;”上;( 3 ) 光标 在某程序段行中间。后两种情况较为复杂,考虑到需要将光标后的字符后移, 凄 一个 字奸c h a r 、弋罗 、? k :。l “ 一,- ,7 、, 一7 、。一一7 蹦l t 【xlj 后的i同赢秆珂f 卉陌酊 字峙启移一行, l 搏后移行:将【- v - 符后穆一行,l 将e d l t x 1 拆 e d i t x 拆分成 f 将罨1 三鼎拆 分成两行 两行 厂 图3 2读入字符处理的程序流图 如果该行输入已满,还需对后面的各行进行后移操作。同样,这种情况下允 许对输入字符进行地址字、数字或字符的判断。系统中程序的具体实现过程 辽宁工程技术大学硕士学位论文 如图3 2 所示。 设光标所在位置为x 、y ,对应了数组e d i t x y 中的字符。输入的字 符长度为n ,要插入行的程序段长度为i n 。 在这里有一个细节需提及,硬回车和软回车的处理。硬回车可以简单理 解为用户输入一个e o b 则产生一个硬回车,它是程序段结束的标记,在编辑 模块中以u 1 6 型的两个字符0 x o d o a 组成;软回车是由于系统屏幕的宽度限 制而对文本行自动折行所产生的,文本行每折行一次,将在折行处产生一个 软回车,他的存在并不表示程序段的结束,在编辑模块中是以u l6 型的两个 字符0 x 8 d o a 组成的。在译码任务执行时,我们以个程序段作为一个译码 单位,忽略软回车标志,而硬回车标志则是判断程序段是否结束的唯一标志, 对译码有着重要的作用。 另外一个是程序行与程序段的概念问题。一个程序段以“;”为结束标 志,程序行是屏幕由于显示宽度所限对程序段的折行显示,即一个程序段可 以有多行,屏幕上多行程序可能属于同一个程序段。我们用数组s e g m e n t n u m 记录程序行所在的程序段号,这样在用户移动光标到任意一行,则我们就可 以准确实现从当前行所在的程序段开始译码,另外s e g m e n t n u m 对子程序调 用、宏程序、工循环程序的实现也有着重要的作用。 3 2 2地址字、数字或符号的删除 本系统中用户输入的地址字、数字和符号是通过函数b a c k 和函数d e l e t e 来完成删除操作的。删除操作分前删和后删两种。 前删功能由b a c k 函数实现,该函数将光标所在位置的前一个字符删除。 前删功能需要分两种情况:( 1 ) 光标不在行首,在这种情况下还需分为所需 删除的字符所在行行末不为软回车和软回车两种情况,在第一种情况下处理 比较简单,只需将光标之后该行的字符逐个前移即可;当所在行末尾为软回 车时说明该程序段不止一行,还需对该行后面的若干行的字符进行前移而不 是只对该行光标之后的字符进行前移。( 2 ) 光标在行首,在这种情况下,需 分为两种情况,当操作行为文本首行第一个字符时,则删除操作无效;当操 作行不是文本首行第一个字符时,还需进行分类处理:( a ) 所操作的该文本 行和其上一行总长度没有超过屏幕所能够显示的最长的文本行长度,这时操 作相对简单,只需将上二一行的末尾硬回车删除并将该行与上一行数组合并为 辽宁工程技术大学硕士学位论文 一行即可,( b ) 所操作的该文本行和其上一行的总长度大于屏幕所能够显示 的文本行的总长度,在这种情况下,需对该文本行进行打断处理,如果该文 本行只是某程序段的一部分,也即其后还有程序行,则还需对这些程序行进 行处理。 后删功能由d e le t e 函数实现,该函数将光标所在位置的字符删除。后 删功能也需分两种情况:( 1 ) 光标不在行尾,在这种情况下还需分为所需删 除的字符所在行行末不为软回车和为软回车两种情况,在第一种情况下处理 比较简单,只需将光标之后的所有该行字符前移一个字符即可;当所在行末 尾为软回车时说明该程序段不止一行,还需对该行后面的若干行的字符进行 前移而不是只对该行光标之后的字符进行前移。( 2 ) 光标在行尾,在这种情 况下也需分为两种情况,当操作行为文本末尾最后一个字符时,删除操作无 效;操作行不是文本末尾最后一个字符,还需进行分类处理:( a ) 所操作的 该文本行和其后一行总长度没有超过屏幕所能够显示的最长的文本行长度, 这时操作相对简单,只需将该行的末尾硬回车删除并将该行与下一行数组合 并为一行即可;( b ) 所操作的该文本行和其下一行的总长度大于屏幕所能够 显示的文本行的总长度,在这种情况下,需对其下一文本行进行打断处理, 如果其下文本行只是某程序段的一一部分,也即其后还有程序行,则还需对 这些程序行进行处理。 图3 3 给出了b a c k 函数实现的洋细的程序流程,d e l e t e 函数的实现与 其相似,不再详述。设光标所在位置对应的行列坐标为x ,y 。 3 2 3 程序段结束键的功能应用 程序段结束键( e o b ) 在系统的全屏编辑功能中是有着很蕈要的意义的。 e o b 键的作用有些类似于其他文本编辑器中的回车键。每按一次e o b 键都将 在光标位置产生一个回车换行符,也即硬回车符,它表示该程序段已经结束。 对于e o b 的处理分两种情况:( a ) 光标在文末同时在行末,这种情况下处理 相对简单,只需在光标位置生成一个硬回车符,并将文本位置置于下行开头 位置即可;( b ) 在文本行的中间,这时处理还分两种情况,第一种为正在处 理的该行末尾不是软回车的情况,这时,只需将该文本行进行折断处理,第 二种为行末为软回车的情况,在这种情况下说明该行和其后若干行为一个程 序段,因此不只需对该行进行折断处理,还需对其后若干行文本进行处理。 坚室三堡垫查查兰堡主兰垡堡苎 ! ! 其处理情况与前删、后删功能有很多相似之处。 图3 3b a c k 函数流程图 3 2 4其它功能键的实现 回程序段起始位置键( h o m e ) 的作用与标准键盘的h o m e 键的作用相同, 即回到该程序行的开头。该函数只是将光标位置赋为该行起始位置即可,并 辽宁工程技术大学硕士学位论文 没有做任何特殊处理。 由于屏幕所能显示的的程序行数有限,因此,上下滚屏可以使用户看到 程序当前未在屏幕上显示的部分。滚屏的的处理在r o l l s c 一u p 和 r o l ls c rd o w n 函数中进行,它们分别响应向上箭头键和向下箭头键。这两个 函数只是对屏幕显示范围做简单处理。同样上下翻页键能更有效的完成对整
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 核子仪考试题及答案
- 郑州校园探访活动方案
- 贵州转学考试题及答案
- 钢琴乐理考试题及答案
- 农民合作社农业信贷支持协议
- 氟骨病考试题及答案
- 提升生态合作保障承诺书5篇
- 专业人士行业担当承诺书6篇
- 用户反馈信息分类表格
- 方向辨认考试题及答案
- 6.1 包饺子(课件)北师大版三年级数学上册
- 鱼道运行管理办法
- 桥梁拆除施工质量保证技术措施
- 人体工程学-第五章-人体工程学与室外环境设施设计
- 2025-2030年中国象棋行业发展分析及前景趋势与投资风险研究报告
- 抖音员工合同协议书模板
- 《王戎不取道旁李》教案
- 专项安全施工方案监理
- 股东出资协议书合同
- GB/T 27060-2025合格评定良好实践指南
- DB45∕T 2789-2023 壮医药线点灸治疗护理技术操作规范
评论
0/150
提交评论