




已阅读5页,还剩76页未读, 继续免费阅读
(机械电子工程专业论文)基于组件技术的开放式数控系统研究与开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
江苏大学硕士学位论文 摘要 随着数控技术的不断发展和应用领域的不断扩大,传统数控系统封闭式 结构的兼容性差、功能不易扩展或修改等缺点日益明显,开放式数控技术应 运而生,成为数控技术发展的趋势。开放式数控技术研究的目标是使数控系 统能构筑于开放的平台之上,具有可扩展性、可移植性、互换性、互操作性 等特点,用户可按需集成、更改或扩展系统的功能,以适应市场的快速变化。 本论文采用基于c o m 的组件技术,以w i n d o w s 2 0 0 0 操作系统和i p c 机构 筑数控系统的软、硬件平台,研究和开发开放式数控系统。主要内容包括: 1 分析了数控技术的发展、趋势、国内外研究现状和国内数控研究存在 的不足,指出了开放式数控技术研究的必要性; 2 讨论了开放式数控系统的概念、特征和评价标准,从概念设计的角度, 结合国内外开放式数控技术的研究成果,分析了三种模式的开放粒度: 3 在比较常用组件技术的基础上,系统阐述了c o m 的概念、特点和实现 机制,分析了利用c o m 组件技术开发开放式数控系统的可行性和优越性; 4 根据组件化软件开放性的特性,设计了基于c o m 组件技术的开放式数 控系统平台;全面分析了数控系统的功能特性和内部逻辑结构,合理划分了 系统组件模块,并讨论了组件间数据流的关系;设计和实现了关键组件;在 此基础上,本文基于“i p c + n c ”的开发模式开发了印制板数控钻铣床原型机, 并验证了数控系统的开放性。 关键词:数控技术,开放式数控系统,开放式体系结构,c o m 组件, 模块化 i 江苏大学硕士学位论文 a b s t r a c t w i t ht h ed e v e l o p m e n ta n de x p a n s i o no fc n c ( c o m p u t e r i z e dn u m e r i c a l c o n t r 0 1 ) ,t h eb a dc o m p a t i b i l i t ya n de x t e n s i b i l i t y o ft h et r a d i t i o n a lc l o s e - e n d a r c h i t e c t u r ec o n t r o ls y s t e mh a sb e e nm o r ea p p a r e n t t h eo p e nc n c t e c h n o l o g y h a sb e e nd e v e l o p e da n db e c o m et h et e n d e n c y t h eo b j e c t i v eo fo p e nc n c s y s t e m i st om a k ei tc o n s t r u c t e da ta no p e np l a t f o r mw h i c hh a st h es p e 洒a l t yo fe x p a n d i n g , t r a n s p l a n t a t i o n , i n t e r c h a n g e ,m u t u a lo p e r a t i o n u s e r sc a ni n t e g r a t e ,c h a n g eo r e x t e n dt h ef u n c t i o no fs y s t e ma c c o r d i n gt or e q u i r e m e n tt oa d o p tr a p i dc h a n g eo f m a r k e t d e v e l o p sa k i n do fo p e nc n c s y s t e mc o m p o s e db yw i n d o w s 2 0 0 0o p e r a t i n g s y s t e m , i p cm a c h i n ea n d e t cw i t hm o d u l et e c h n o l o g yb a s e do nc o m ( c o m p o n e n t o b j e c tm o d e l ) ,i n c l u d i n g : 1 a n a l y s i st h ed e v e l o p m e n t ,t e n d e n c y , a n dp r e s e n tr e s e a r c h i n gc o n d i t i o n d o m e s t i c a l l ya n da b r o a d ,d i s c o v e r st h es h o r t c o m i n go fd o m e s t i cc n cr e s e a r c h a n dp o i n t so u tt h en e c e s s a r i l yo fd o i n g o p e nc n ct e c h n o l o g yr e s e a r c h i n g 2 d i s c u s s e st h ec o n c e p t , c h a r a c t e ra n de s t i m a t i o ns t a n d a r do fo p e nc n c s y s t e m ,a s s o c i a t e sw i t hr e s e a r c h i n gh e r ea n do v e r s e a so fo p e nc n cs y s t e m , a n a l y s i so p e ng r a i nd e g r e eo ft h r e em o d e s 3 b a s e do nc o m p a r i n gp o p u l a rm o d u l e ,e n u n c i a t ec o n c e p t ,c h a r a c t e ra n d a c t u a l i z i n gp r i n c i p l eo fc o ms y s t e m a t i c a l l y , a n a l y s i st h ef e a s i b i l i t y a n d a d v a n t a g eo fd e v e l o p i n go p e nc n cs y s t e mw i t hc o m m o d u l et e c h n o l o g y 4 a c c o r d i n gt ot h es p e c i f i c a t i o no fm o d u l es o f t w a r e ,d e s i g n sak i n do fo p e n 江苏大学硕士学位论文 c n cs y s t e mp l a t f o r m ,a n a l y s i st h ef u n c t i o na n di n t e r n a la r c h i t e c t u r eo fc n c s y s t e mc o m p r e h e n s i v e l y , d i v i d e st h es y s t e mm o d u l er e a s o n a b l y , d i s c u s s e st h e r e l a t i o n s h i pb e t w e e nm o d u l e s ,d e s i g n sa n de v a l u a t e st h ek e ym o d u l e s ot o d e v e l o p ap r i n tb o a r dc n c d r i l l m i l l i n gm a c h i n eo nt h eb a s i so ft h e “i p c + n c m o d e ,a n dv e r i f yt h eo p e n - e n dc a p a b i l i t y k e yw o r d s :c n c ,o p e nc n cs y s t e m , o p e ns y s t e ma r c h i t e c t u r e ,c o mm o d u l e , m o d u l a r i z e 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和 借阅。本人授权江苏大学可以将本学位论文的全部内容或部分内容编入有关数 据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 本学位论文属于 保密口,在年解密后适用本授权书。 不保密口。 学位敝作者虢素魃叫指删币繇铘仇 m 7 年石月弘日 纠年b 月。日 独创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究工作所取得的成果。除文中已注明引用的内容以外,本论 文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文 的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本 人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:素舷硪每 日期:如口7 年占月华日 江苏大学硕士学位论文 第一章绪论 数字控制( n u m e r i c a lc o n t r o l ,简称n c ) 是用数字信息对机械运动和工作过程进行 控制的一种技术。计算机数字控制( c o m p u t e rn u m e r i c a lc o n t r o l ,简称c n c ) 则是采用 了数字计算机进行数字控制的自动控制技术,即数控技术( c n c ) ,它是集微电子技术、 计算机技术、现代控制理论、信息处理技术、检测技术以及光电磁等多项技术于一体的综 合技术。而使传统制造业向自动化方向发展,以及对传统制造业产生革命性变革的主要动 力之一是数控技术的应用,随着数控技术的不断发展和应用领域的不断扩大,它对影响国 计民生的许多重要行业的发展也起着越来越重要的作用。 数控系统是数控技术的核心,也是数控发展的关键技术,其功能强弱、性能优劣直接 影响着数控设备的加工质量和效能的发挥,甚至对整个制造业系统的集成控制、高效运行、 更新换代和发展都起着至关重要的影响。因此,数控技术不仅作为数控发展的先导技术, 而且也作为制造业发展的基础性战略性技术,正越来越受到世界各国的高度重视和大力发 展 1 - 3 1 。 1 1 数控技术的发展及趋势 1 1 1 数控技术的发展 当今世界各国的制造业广泛采用数控技术,以提高自动化制造能力和水平,提高产品 生产的质量、效能和制造的柔性化,从而增强自身对动态多变市场的适应能力和竞争能力。 数控技术的应用水平关系到一个国家的战略地位,体现了一个国家的综合国力,是衡量一 个国家制造业现代化程度的重要标志,决定着整个国家国民经济的水平和现代化程度。实 现机床及生产过程数控化,已成为当今制造业的发展方向l 。 自从1 9 5 2 年美国麻省理工学院研制出世界上第一台试验性三坐标数控铣床以来,随 着计算机技术,特别是微电子技术的发展,数控技术无论从硬件还是软件方面看,都得到 了较快的发展,纵观数控技术的发展,大致经历了以下四个主要阶段: 1 硬件数控阶段( 1 9 5 2 1 9 6 9 ) 早期计算机的运算速度较低,运算能力也较差,远远不能适应机床及生产过程中实时 控制的要求。在这种情况下,人们不得不采用数字硬件逻辑电路象搭积木一样“搭”成一 1 江苏大学硕士学位论文 台专用计算机来作为数控装置,因此被称为硬件数控,简称数控( n c ) 。 1 9 5 2 年,世界上研制的第一台数控铣床的试验性数控装置就是采用电子管、继电器 和模拟电路等硬件“搭”成的试验样机,通常被称为第一代数控系统。这种“搭”成的系 统体积庞大,不适宜工业方面的应用。 1 9 5 9 年,随着电子技术的不断发展,出现了晶体管器件,取代了笨重的电子管,从 而诞生了第二代数控系统,这种系统相对第一代数控系统而言,缩小了体积,这样使得工 业应用成为可能。 1 9 6 5 年出现了由小规模集成电路构成的数控系统,从而发展到第三代n c 。这一时期 的系统,由于小规模集成电路技术的发展,取代了晶体管,使得体积变得更小,功耗做得 更低,并提高了应用的可靠性。 这一阶段的数控系统,各种控制功能均由硬件逻辑完成,所以称为“硬件”数控。这 类数控系统由于功能简单、灵活性差、设计周期长和系统可靠性低等诸多缺点,因而限制 了其进一步的发展和工业应用。 2 计算机数控系统的发展和完善阶段( 1 9 7 0 - 1 9 8 5 ) 7 0 年代初,随着电子技术的不断突破和发展,大规模集成电路、半导体存储器和微 处理器的问世,使得通用小型计算机研制获得了成功并逐渐得到了普及,因而使得数控技 术取得了突破性的发展。 1 9 7 0 年在美国芝加哥数控展览会上,首次展出了以小型计算机为核心的计算机数控 系统( c n c ) ,标志着数控系统进入了以计算机技术为主体的第四代。至此,原来由硬件 实现的诸多功能逐步改为软件来完成,从而系统迈入了“软联接”的数控时代。 1 9 7 4 年,首次出现了以微处理器芯片为核心的软联接c n c 系统,象征着数控系统进 入了以微机为核心的第五代。这一阶段的发展真正实现了机电一体化控制,进一步缩小了 数控系统的体积,降低了系统的生产成本,也简化了系统的编程和应用操作,从而使数控 系统达到了普及的程度。 7 0 年代末、8 0 年代初,随着各项技术的突破性发展,超大规模集成电路、大容餐存 储器、c r t 的面世与普及应用,使得c n c 系统进入了第六代。这一时期的数控系统虽然 仍然足以微处理器为肇础的,但控制功能更加完备,已经具备了多功能的技术特征,尤其 在软件技术发展方面,已具有了较实用的交互式对话编程、三维图形动态显示、仿真、校 验和软件精度实时补偿等诸多功能。在系统体系结构上,出现了柔性化、模块化的多处理 器结构,数控系统的产品也逐步实现了标准化和系列化。 2 江苏大学硕士学位论文 3 高速高精度c n c 的开发与应用阶段( 1 9 8 6 一) 随着数控系统工业应用的不断普及,对实现高速、高精度曲面轮廓精加工提出了较高 的要求,同时对微轮廓线的解释处理能力和伺服驱动特性也提出了更高的要求。为了保证 零件程序的译码、插补、加工线速度和加速度控制等连续处理能力,c n c 系统应具备足 够高的数据处理速度和运算能力。随着计算机技术的不断发展,出现了具有3 2 位运算能 力的c p u ,以其强大的数据处理速度和运算能力在数控系统领域得到了广泛的应用,使 c n c 系统跨入了面向高速、高精度的第七代。 4 基于p c 的开放式c n c 的开发与应用阶段( 1 9 9 4 一) 进入了九十年代,个人计算机( p e r s o n a lc o m p u t e r ,p c ) 的性能提高非常快,从8 位、1 6 位c p u 发展到3 2 位的c p u ,数据处理速度和运算能力也已经可以满足作为数控 系统核心部件的要求,而且随着p c 机性价比越来越高,普及率越来越广,数控系统由此 进入了第八代基于p c 的c n c 系统阶段。将p c 机引入c n c 系统,不仅为c n c 提 供了略实的硬件资源和极其丰富的软件资源,更为c n c 的开放化提供了基础。 进入2 0 世纪9 0 年代,数控系统逐渐由封闭走向开放化,至今,开放式数控系统仍是 数控技术研究的热门话题。 1 1 2 数控技术的发展趋势 2 1 世纪是制造业高度信息化的时代, 们对其性能和技术都提出了更高的要求。 | 2 - 7 : 数控系统作为制造业核心技术的控制系统,人 从整体上看,数控系统呈现出以下的发展趋势 1 高速、高精度 效率、质量是先进制造技术的主体;高速、高精加工是制造技术永无止境的追求。高 速、高精加工技术要求数控系统能够进行高实时运算,从而实现高速插补,在高速运行中 保持较高的定位精度,极大地提高效率,提高产品的质量和档次,缩短生产周期和提高市 场竞争能力。 2 智能化、复合化、高自动化 数控系统智能化、复合化和高自动化成为新世纪数控系统发展的一个趋势。数控系统 的智能化包括控制系统的前馈控制,加工过程的自适应控制,刀具自动管理及补偿等自适 应调节系统,工艺参数自动生成,智能诊断等等。为了降低零件加工过程中的无用时间, 要求将不同加工功能复合于同一系统中,并且能够实现高自动化,这样不仅可以提高加工 3 江苏大学硕士学位论文 的质量,而且也大幅度提高了加工效率。 3 规范化、标准化 规范化、标准化是数控系统发展的必然趋势,也是制造业信息化发展的方向。我国于 2 0 0 2 年正式颁布了机械设备开放式数控系统总则( g b 厂r1 8 7 5 9 1 2 0 0 2 ) 国家 标准,于2 0 0 3 年1 月1 日正式生效。国际上也正在研究和制定一种新的数控系统标准 i s 0 1 4 6 4 9 ( s t e p n c ) ,其目的是提供一种不依赖于具体系统的中性机制,能够描述产品 整个生命周期内的统一数据模型,从而能够实现整个制造过程,乃至各个工业领域产品信 息的标准化。 4 模块化、网络化和高可靠性 模块化易于实现数控系统的集成化、标准化、通用化和重构。数控系统的网络化,主 要指数控系统与外部其他控制系统或上位机进行网络连接和网络控制。为适应制造业网络 化和全球化发展趋势,数控系统的网络化功能快速得到增强。随着数控机床网络化应用的 日趋广泛,数控系统的高可靠性已经成为数控系统制造商追求的目标。 5 。开放性和软件化 世界上有许多数控系统生产厂家利用p c 机丰富的软硬件资源,开发具有开放式体系 结构的新一代数控系统。具有开放式体系结构的数控系统有着更好的通用性、柔韧性、适 应性和可扩展性,易于实现智能化和网络化,因此,开放性是现代数控系统发展的又一个 趋势。数控系统软件化使其构建时能最大限度的实现开放,甚至能够符合“全开放”的概 念。 1 2 数控技术的研究现状 1 2 1 国外研究概况 目前,数控技术在国外已经形成一种相对成熟的技术,其发展正逐步由专用型、封闭 式、开环、半闭环控制模式向遥用型、开放式、实时动态、全闭环控制模式发展。在集成 化的基础上,国外的数控系统正在向超薄趔、小型化和9 嘲络化方向发展;在智能化的基础 上,数控系统综合了计算机、自适应控制、模糊控制和神经网络控制等高新学科技术,逐 步向高速度、高精度、高效率方向发展;在加工过程中,数控系统配备编程专家系统、故 障诊断专家系统、参数自动设定和刀具自动管理及补偿等自适应调节系统,正在向在线诊 断和智能化故障处理方向发展。目前,国际上对开放式数控系统进行了大量的投入和研究, 4 江苏大学硕士学位论文 其中最具影响力的仍是o s a c a 、o m a c 、o s e c 三个计划,这三个计划的发展状况基本 上代表了国外数控的发展现状m 。 1 o s a c a ( o p e ns y s t e ma r c h i t e x 札r ef o rc o n t r o lw i t h i na u t o m a f i o n ) 计划 欧盟的o s a c a 计划自1 9 9 2 年5 月正式启动,目前已进入第三阶段,主要取得了下 述成果: ( 1 ) 定义了中性的( 即不依赖于任何厂家的) 开放式数控系统的基本规范; ( 2 ) 拟订了中性的可适用于数控系统、机器人、可编程逻辑控制器和单元控制器的统 一的参考结构; ( 3 ) 开发了第一批示范性的应用软件模块( o s a c a a p i ) 。 2 o m a c ( o p e n m o d l l i a r a r c l l i t e c t u r ec o n t r o l l e r ) 计划 美国的o m a c 计划自1 9 9 4 年1 2 月由c h r y s l e r 、f o r d 和g e n e r a lm o m m 公布了“开 放的模块化结构控制器( o m a c ) 在汽车工业中的需求”的文件,1 9 9 7 年2 月1 4 日,g e n e r a l m o t o 幅p o w e r t r a i n g r o u p ( g m p t g ) 建议成立了o m a c 。目前已经具有8 0 多家研究机构、 9 家o e m 和1 6 家用户参与该组织,主要取得了以下成就: ( 1 1 定义了标准化的o m a c a p i ,使得用户可以充分发挥自己的主动性,装入自己所 需的特殊功能; ( 萄利用w m d o w o s ,可以充分利用现有的个人计算机资源( 如c a m 、s p c 等) ; ( 3 1 以实时操作系统为核心,提供高性能的控制功能; ( 利用实时数据库,实现数据的高效和便携。 3 o s e c 川川h 江苏大学硕士学位论文 法有关,还决定于模块之间的联系。显然,如图4 2 所示,模块内聚性强,藕合性越弱, 模块独立性越好 6 - 9 1 。 为了实现模块的独立性,最好的选择是实现具有功能内聚和数据藕合的系统,上述原 则具有一般性,同样也适用于数控系统的研究。 4 2 2 开放式数控系统组件模块捌分 模块化是识别开放式系统的关键【8 l 。开放式数控系统只有在被划分为小的功能模块、 各功能模块的接口预先指定的情况下,才能被实现。由前面讨论的模块内聚性、独立性与 耦合性的关系可知,小的模块内聚性越强,可提供更高层次的开放性和更多的选择,但是 独立性越差,耦合性越强,从而增加了系统的复杂性和系统的集成难度。显然,在确定模 块的划分时,必须要在开放程度和集成代价两个方面有个相对平衡,即要相对平衡独立性 与内聚性的关系。 根据上述开放式数控系统体系结构的特点和组件化数控系统的特征,可以将数控系统 的各功能模块按照功能特性及其逻辑结构进行合理的划分,把数控系统软件中独立性强、 功能鲜明并且内聚性强的模块做成组件,把个子功能模块做成组件的方法,组件的接口开 放。因此,可将数控系统软件部分划分为如下主要的功能组件: 人机接口组件:执行人机交互功能。主要完成各种系统参数的设定和修改,例如,系 统初始化设定、系统工作模式( 点动、手动和自动) 的选择等; 数控代码解释组件:该组件主要完成n c 代码的输入编辑,按照规定的语法规则对 n c 代码进行语法检查,然后进行译码处理; 插补组件;主要将译码后的数据完成数据密化任务,提高精度: 通信组件:主要实现上下位机之问的通信; 伺服驱动控制组件:产生对各运动轴的运动命令值,把各种运动命令和参数转换成运 动控制模块和伺服驱动模块可按受的位置、速度、加速度,通过伺服驱动器及伺服电机实 现各类运动; 系统配置组件:对数控系统进行配置; 协调管理组件:主要完成相应缓冲区的建立与管理和对各组件的管理与协调等任务。 上述的功能组件是组成开放式数控系统的基本功能组件,可以根据需要添加其它功能 组件,例如负责网络通信的网络接口组件和扩展组件等。 江苏大学硕士学位论文 4 3 开放式数控系统组件间数据流的分析 进行数控系统控制软件设计时,必须首先搞清楚数控系统的运行过程。过程流图不仅 可以描述系统的运行过程,而且可以描述系统运行过程中数据的转化过程。数控系统的过 程流如图4 3 所示。 数控系统的运动控制过程为:描述加工轨迹及加工过程的g 代码经过g 代码译码器 处理后,转换成插补中问数据,插补中问数据经过预处理器处理得到插补数据。将得到的 插补数据送入驱动控制模块,驱动控制模块经过插补及其它处理将其转换成相应的位置、 速度指令,直接或通过d a 转换送给伺服驱动单元驱动伺服电机,实现各轴的运动控制。 数控系统的逻辑控制过程为;将按钮、开关等器件的开关信号通过i o 卡采集后送给 逻辑控制器,g 代码经过代码译码器译码后获得逻辑指令,以及通过人机接口获得的逻辑 指令送入逻辑控制器,逻辑控制器经过逻辑运算后得到逻辑输出量,逻辑输出量经过i o 卡输出,驱动执行器件,实现逻辑控制。 程序编辑 显示任务 程序 缓冲区 人机接口 g 代码译 码任务 逻辑指令 麓雾莘 感器、继b = = 电器等i 世坚纠 图4 3 数控系统过程流图 驱动控制 1 f 位置、速 j 【度指令 v 一 伺服i 驱动器l 伺服电机 擗驸哥 相一 江苏大学硕士学位论文 4 4 组件的协调管理 组件可以看着是一个功能单元或一个功能部件,可以独立实现一组相关的功能。但是 从“系统”概念讲,如果只是一个个相互独立的组件,而缺乏有机联系这些组件的纽带, 那么这些功能组件也无法构成一个完整的系统。因此,只有将上述划分出的各个功能组件 有机的结合起来,才能形成一个开放式数控系统,即形成一个统一的整体,使系统对外表 现出“整体”特性,而不只是表现出各个组件的特性。 为此,需要设计一个协调管理功能组件完成各组件之间的协调,协调管理各个组件之 问的逻辑关系和各组件间的通信,使各个组件协调地完成数控系统的各项功能。协调管理 功能组件是系统的重要功能模块,其主要完成线程的创建、组件对象的创建和初始化、任 务的调度( 包括调用各功能组件的接口函数,将任务分配给相应的组件) 以及各任务之问的 协调同步等。 根据数控系统的运行过程和数控系统的功能要求,协调功能组件采用多线程工作方 式。在协调功能组件中创建多个任务执行线程,每一个线程负责调用相关组件的功能函数 实现一部分系统功能,采用各线程之间的协调与同步实现数控系统各任务间的协调同步。 用如下几个线程实现组件模块的协调: 1 主界面线程:调用人机接口组件和其它相关组件的功能函数,接受用户的输入, 动态显示位置、速度和进度等状态信息,实时刷新图形显示区中加工零件的轮廓或刀具轨 迹: 2 译码线程:数控代码经过编译后形成一系列指令和数据,译码线程逐条编译这些 指令和数据,将逻辑控制指令分发给逻辑控制组件,插补指令和插补数据分发给插补组件; 3 插补线程:调用插补组件的功能函数对加工轨迹进行粗插补计算,并将粗插补计 算结果写入数据缓冲区,然后交给运动控制器执行,并检查运动控制器执行的进度; 4 逻辑控制线程:启动或停止逻辑控制组件的运行,调用f o 组件的功能函数来实 现数控系统的输入输出。 使用多线程编程技术,使计算机能并行处理多项任务,提高c p u 的利用率,但需要 解决线程之间的同步。本论文从两个方面解决多线程之间的同步: 第一,线程之间逻辑关系同步。上述的几个线程要按照数控系统特有的逻辑关系协调 一致实现系统功能,因此,这几个线程之间要进行逻辑同步。可采用w i n d o w s 下线程同 步的基本方法( 如采用同步韦件、同步变量等方法) ,结合数控系统的功能要求,进行线程 江苏大学硕士学位论丈 间的同步: 第二,c o m 中的多线程同步。组件服务程序中的c o m 对象可能同时被多个线程访 问。比如几个线程同时对一个对象中的某个数据进行读写,这时容易产生竞争,造成数据 读写错误。因此,c o m 对象需实现线程同步。这种线程之日j 的同步,利用c o m 提供的 线程同步方法解决,不足在客户程序的工作线程中解决同步,而是在组件服务器程序中解 决组件对象的多线程同步和多线程安全问题。 c o m 提供两种基本的线程:套间线程和自由线程。套间线程类似w i n 3 2 中的用户线 程,可以处理消息循环。自由线程类似w i n 3 2 中的工作线程( 辅助线程) ,不能处理消息 循环。如果一个c o m 对象运行在套间线程中,套间线程通过消息循环调用有关的消息控 制函数,这些消息控制函数被自动同步,因此,运行在套问线程中的c o m 对象不需要附 加同步处理。套间线程外的客户调用套自j 内的c o m 对象,必须通过代理存根间接进行, c o m 中的列集自动实现同步。如果一个c o m 对象运行在同一进程的一个自由线程中, 调用对象的成员函数是直接进行的,因此,必须处理同步问题。对于跨进程调用,不论对 象运行在哪种线程中,调用都必须通过代理,存根进行,因此,不需要同步。 在用a t l 向导开发数控系统组件的时候,选择组件的线程模型为套间线程( 即选择 a p a r t m e n t 属性) ,使组件对象运行在套间线程中。客户线程( 协调管理功能组件中的工 作线程) 调用对象时经过列集处理,c o m 自动实现同步处理。利用c o m 提供的同步机 制,使对象在多线程中自动同步,保证线程的安全性,同时简化了客户程序和组件服务器 程序的编制。 各组件协调一致地运行,组件之间的通信足必需的。作为客户程序的协调管理功能组 件要使各组件有机地联系起来,客户程序与各组件服务器之问的通信也是必需的。客户程 序和组件服务器程序之间的交互足双向的,组件服务器程序也需要主动与客户程序通信, 例如,插补组件完成了一段轨迹的插补后需要通知客户程序发送下一段插补数据或通知客 户程序进行其它操作。客户程序通过查询的方式获得组件运行的信息,但查询方式会浪费 大量的计算机资源。通过c o m 提供的韦件机制,很容易解决组件服务器程序向客户程序 的通信。 服务器程序可通过激发韦件向客户程序发送通知、请求。当韦件产生时,服务器程序 可通知客户程序。一旦服务器程序检测到韦件,立即直接调用客户程序,而无需等待客户 程序首先初始化对服务器的调用。在c o m 中通过接收器和可连接对象来实现此功能。接 收器实际是在客户程序中实现的一个特殊的c o m 对象,可连接对象实际是服务器中具有 4 0 江苏大学硕士学位论文 双向通讯接口的c o m 对象。客户程序把接收器的接口指针通过参数传递给要连接对象, 要连接对象通过该接口指针与客户程序进行通信。 4 5 本章小结 本章首先从总体上对开放式数控系统平台的框架体系进行了详细设计,提出了基于 c o m 组件技术开放式数控系统的框架体系;然后从系统模块化特性的角度,探讨了开放 式数控系统组件模块划分及其划分方法;在分析了开放式数控系统组件之间数据流关系的 基础上,提出了组件间协调管理的方法。 江苏大学硕士学位论文 第五章开放式数控系统关键组件的设计与实现 基于c o m 组件技术的开放式数控系统的组件被合理划分后,需要对其进行设计与实 现。下面对几个关键组件的实现方法进行分析,分别从关键组件的功能、定义、设计和实 现等几个方面进行了研究。 5 1 通用数控代码编译组件设计与实现 5 1 1 通用数控代码编译方法 编译方法一般是指有关程序设计语言编译程序( 即编译器) 构造的基本原理、设计方 法、主要实现技术和一些自动构造工具。而编译器是指将一种语言翻译为另一种语言的计 算机程序。n c 代码程序的翻译方法主要有两种:一种是解释方法,另一种是编译方法。 一般来说,执行被编译的目标代码比执行被解释的源代码在速度上要快,这主要在于它们 执行方式上的区别【2 7 删。 对编译方法而言,系统首先对加工程序进行翻泽处理,然后再将翻译后的结果目 标代码交下一部分处理( 或执行) 。这种方法虽然在软件结构上比较复杂,而且需要很大 的内存容量存储,实时性较弱,特别对于一些较为复杂的零件,c a d c a m 系统往往生成 巨大的g 代码程序,编译器要处理这么大量的g 代码程序非常不便。但是,采用这种方 法的系统加工速度快、效率高。随着p c 机软硬件的不断发展,内存容量已不是主要问题 了。鉴于此考虑,大多数的数控系统都采用编译程序的方法来构建编译系统,本文就是采 用此方法来构建通用数控代码编译组件中的译码模块的。 解释方法如同编译方法一样,也是对加工程序进行翻译的过程。它与编译方法的不同 之处在于:解释方法一边翻译一边立即执行加工源程序,而不象编译方法在翻译完成之后 才执行目标代码。对解释方法而言,系统对代码源程序进行逐行处理,进行词法和语法检 查后,提取加工信息发送到后续模块处理。其优点是结构简单,可操作性和开放性好。缺 点是执行速度与效率较编译方法要低。解释方法与编译方法的区别如图5 1 所示。 江苏大学硕士学位论文 图5 1 编译方法与解释方法的区别 5 1 2 通用n c 代码的格式 随着数控技术的发展,n c 代码及其格式均已标准化,现在数控机床常用代码标准有 i s o 代码标准和e i a 代码标准两种。i s o 代码由国际标准化组织制定,主要应用于计算机 和数据通信,特点是:数字、字母及符号在孔位上有区别,表示字符的孔数目必须是偶数。 e i a 代码由美国电子工业协会制定,主要特点是:表示字符的孔数目必须是奇数。多数 n c 系统对这两种代码均可兼容,本文针对i s o 代码标准开发通用n c 代码解释组件。 江苏大学硕士学位论文 5 1 2 1 程序的构成 尽管存在着不同的标准,而且数控代码的格式看上去也不尽相同,但基本组成大致相 同。一个完整的n c 代码一般由程序开始符、程序号、注释说明、程序主体、程序结束和 程序结束符六个部分构成。如果在主程序中有几个一连串相同的程序段,则可以编制子程 序和设置子程序存储器,以缩短主程序的长度。 5 1 2 2 程序段格式 一个完整的n c 代码由若干的程序段组成,并且一个程序段一般占据一行,表示一种 操作。n c 程序段格式可分为固定格式、可变格式、地址格式和分隔顺序格式等几种类型。 通常采用可变程序段格式,程序段由程序字组成,而程序字又由地址符、数字和符号组成。 一个数控程序的程序段内容由各种指令代码、相应坐标尺寸和规格字组成,一般的顾 序按下图5 2 所示从左向右进行书写。 “一 n g x f m s t p l 千l 千l l + 束符 准备功能字 进给功能字主轴功能字 规格字 图5 2 程序段格式 1 程序段号 由地址码“n ”和其后面的若干位数字构成,用来表示程序从启动开始执行的顺序; 2 准备功能字 紧跟在程序段号后。用地址码“g ”和两位数字表示,从g 0 0 - 4 3 9 9 ,按适用范围可分 为三类: ( 1 ) 模态代码:一经使用,直至同组其它任一代码出现时才失效,否则保留有效, 并且可以不写; ( 2 ) 非模态码:仅在出现的程序段有效,若下一程序段中需要时必须蓖写: ( 3 ) 不指定g 代码:用于留给设计者自行定义的或开发商留用的g 代码,可用于g 功能的扩展; 3 尺寸字 “ 江苏大学硕士学位论文 对于进给运动,尺寸字为:x ,y ,z ,u ,v ,w ;对于回转运动,尺寸字为:a ,b , c :还有插补参数字:i ,j ,k ;半径用r 表示。由它们中的一个字母、“+ ”或“”符号 和数字组成,表示给定各坐标轴位移的方向和数据的; 4 进给功能字 由地址代码“f ”和后面的若干数字构成,表示给定刀具相对于工件的速度: 5 辅助功能字 用地址码“m ”和后面的两位数字表示,从m 0 0 一m 9 9 ,表示一些机床辅助动作的 指令; 6 主轴功能字 由地址码“s ”和后面的两位数字构成, 7 刀具功能字 由地址码“t ”和后面的两位数字构成, 8 规格字 用于设置主轴转速: 确定调用的刀具号; 由字母p 和数字组成,用于表示子程序调用的次数、文件名等; 9 程序结束符 每个程序段结束都需要加上程序段结束符,如可用回车键或“;”等来表示,一般 可以省略。 5 1 3 通用n c 代码编译组件的功能 数控代码编译组件主要完成对c a m 软件后置处理后生成的加工代码进行导入和新 建加工代码,并且可以编辑和修改加工代码,按照规定的语法规则对加工代码进行语法检 查,然后进行译码处理,为后续插补组件作准备。数控代码编译组件主要包括如下的主要 功能模块0 0 - 3 1 】: 1 程序导入模块 该模块主要实现数控控制系统与c a m 软件的接口功能,是数控代码处理软件与用户 之间的一个窗口。其功能是将c a d 设计软件中设计的零件图经c a m 后置处理后生成一 定格式的加工文件,经由该模块导入,转化为符合i s o 标准的g 代码加工程序,为后续 模块服务; 2 程序编辑模块 该模块可以实现新建程序的功能,进行一些常用程序格式的编辑,也可以实现对导入 4 5 江苏大学硕士学位论文 程序进行一定的修改。使其能满足数控系统的要求; 3 程序查错模块 可以实现对新建程序或导入的程序按照i s o 标准对代码进行词法检查、语法检查和 语义检查,判断程序代码的正误,并便于修改可以提示错误信息,为后续的译码模块做准 备: 4 译码模块 对经过查错模块检查过的代码一行一行地读取进行解释,并对每行代码做出相应的处 理,编泽成系统能识别的加工数据并存入缓冲区中,供后续组件使用。 5 1 4 通用n c 代码编译组件的设计 分析了通用n c 代码编译组件所采用的编译方法,程序段格式所遵守的规则,确定了 n c 代码编译组件的主要功能,下面我们来讨论该组件的设计。 5 ,1 4 1 通用h c 代码编译组件的对象 在c o m 技术规范中,一个组件可以包括多个对象,一个对象又可以实现多个接口。 因此,在组件设计时,可以把c o m 对象与n c 代码编译组件中的功能模块相对应。在 n c 代码编译组件中我们可以设计四个c o m 对象,分别为c l o a d p r o t e l f i l e ,c e d i t n c c o d c , c c h e c k n c c o d c 和c d c c o d c n c 。分别实现程序导入、程序编辑、程序检查和程序编译功 能。数控代码编译组件的实现过程示意图如下图5 3 所示。 封装 i 司法、语法代码表语义信息表 刀 陋毒 il ll 编补 li n c l 词法检肖t - t 语法检齿t - t 语义枪存 译处 胁i j l 篓善rill 数理 据 组 i 程序if j 出错信息。蓥新编辑挥序i 件 图5 3 数控代码编译组件实现过程示意图 江苏大学硕士学位论文 5 1 4 2 通用n c 代码编译组件的对象接口 c o m 对象的客户与对象之间是通过接口进行交互,所以组件间接口的定义至关重 要,c o m 规范的核心内容是关于接口的定义,下面对数控代码编译组件的对象接口进行 设计。 由于数控代码编译组件的四大功能相对比较简单,对这四大模块对象的接口设计也相 对容易。对于程序导入模块,对象为c l o a d p r o t e l f i l e ,其接口除实现规定的i u n k n o w n 接 口外,还需要实现一个d a d g 嘲e 接口;对于程序编辑模块,对象为c b d i t n c c o d o , 除实现规定的i u n k n o w n 接口外,还需要实现一个i f _ a l i t n c c o d e 接口;对于程序查错模块, 对象为c c h e c k n c c o d e ,其接口除实现规定的i u n k n o w n 接口外,还需要实现一个 i c h e c k n c c o d e 接口;对于译码模块,对象为c d e c o d e n c ,除实现规定的l u n k n o w n 接口 外,还需要实现一个i d e c o d e n c 接口。所以对数控代码编译组件而言,共定义了5 个对 象接口。 5 1 4 3 通用n c 代码编译组件的接口定义 数控代码编译组件共用到了五个接口,分别定义如下: 1 i u n l m o w n 接口 c o m 定义的每一个接口都必须从i u n k n o w n 接口继承,因为i u n k n o w n 接口提供 了两个非常重要的特性:生存期控制和接口查询。 i u n k n o w n 接口的定义如下: c l a s si u n k n o w n p u b l i c : v i r t u a lh r e s u l ts t d c a l lq u e r i n t e r f a c e ( c o n s t & i i d , v o i d p p v ) = 0 ; v i r t u a lu l o n g _ s t d c a l la d d r e f 0 = 0 ; v i r t u a lu l o n g _ s t d c a l lr e l e a s e , 0 - - 0 ; i u n k n o w n 包含了三个成员函数q u e r i n t e r f a c e ,a d d r e f 和r e l e a s e 。函数 q u e r i n t e r f a c e 用于查询组件对象的其它接口指针,函数a d d r e f 和r e l e a s e 用于对引用 记数进行操作。 2 i l o a d c a m f i l e 接口 i l o a d c a m f i l e 程序导入模块接口的定义如下: 4 7 江苏大学硕士学位论文 c l a s si l o a d c a m f i l e :p u b l i c1 u n k n o w n p u b l i c : v i r t u a lb o o l i n i t i a l i z e 0 = 0 ;初始化 v i r t u a lb o o l l o a d c a m f i l c ( s t r i n g ) = 0 ;导入加工文件 v i r t u a lb o o l g e t l i n e s t r i n g ( s t r i n g ,s t r i n g + ) = 0 ;读取一行字符串给+ s t r i n g v i r t u a lb o o l f i n d s t r i n g ( s t r i n g ) - - 0 ;查找字符串 v i r t u a lb o o l s t r t r a n s l a t e g n c ( s t r i n g , s t r i n g + ) - - - o ;将
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中国电信研究院春季校园招聘笔试题库历年考点版附带答案详解版
- 2025中国一重集团有限公司市场化选聘内设机构领导岗位人员5人笔试题库历年考点版附带答案详解
- 2025年人工智能行业人工智能在教育领域的应用研究报告
- 2025年皮肤科常见皮肤科手术操作技巧模拟测试卷答案及解析
- 2025年智能家居行业消费趋势与市场前景研究报告
- 2025年医疗器械行业医疗器械创新与医疗健康服务研究报告
- 2025年全科医学疾病家庭医生健康管理模拟试卷答案及解析
- 2025年宁夏轨道交通高级技工学校笔试参考题库附答案解析
- 2025山东农业大学招聘人员34人 (第二批博士)笔试备考试题及答案解析
- 2025山西阳泉平定县县属国有企业招聘职位表笔试备考题库及答案解析
- 水利工程水利工程施工技术规范
- 创建平安医院课件
- 2025年高压电工考试题库:基础理论知识要点
- 2025中证金融研究院招聘11人考试参考题库及答案解析
- 2025年全国中小学校党组织书记网络培训示范班在线考试题库及答案
- 商场保安礼仪培训课件
- 全国2025年质量月活动知识竞赛题库及答案
- 氧气吸入的注意事项课件
- 20以内加减法口算题(10000道)(A4直接打印-每页100题)
- 天惊牌中药消毒剂专家讲座
- 中国建设工程造价管理协会《建设工程造价鉴定规程》
评论
0/150
提交评论