(机械电子工程专业论文)windows下开放式数控系统软件设计与研究.pdf_第1页
(机械电子工程专业论文)windows下开放式数控系统软件设计与研究.pdf_第2页
(机械电子工程专业论文)windows下开放式数控系统软件设计与研究.pdf_第3页
(机械电子工程专业论文)windows下开放式数控系统软件设计与研究.pdf_第4页
(机械电子工程专业论文)windows下开放式数控系统软件设计与研究.pdf_第5页
已阅读5页,还剩78页未读 继续免费阅读

(机械电子工程专业论文)windows下开放式数控系统软件设计与研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子科技大学硕士学位论文 摘要 本文介绍了w i n d o w s 9 8 平台下基于运动控制器g d l0 4 具有i 轴联动功能的 j i :放式数控系统的软件设计与实现。 根据课题所提供的硬件环境,我们将整个软件系统分为运动控制器驱动程序 和主机应用程序两大独立部分,分别对其进行设计开发。与此同时,针对c n c 系统巾的一些关键问题展丌了深入分析与研究,取得如下研究成果: ( 1 ) 数控代码编译方面,采用编译+ 解释的方式,把大量复杂的运算放在预 处理阶段,实时处理的时候则用较小的内存实现了从数控代码到插补控制命令 的转换。同时,用解析法解决了预处理过程中的刀具半径补偿问题。 ( 2 ) 图形仿真方面,对刀具轨迹提供了三视图的预览方式。模拟加工时, 采用b r e s e n h a m 算法对刀具轨迹进行动态跟踪,同时根据加工的进给速度,对 加工的总时间进行了较精确的估计。 ( 3 ) 插补算法方面,采用上下位机的形式对加工零件进行粗,精二次分层插 补:粗插补时交由上位机的一个指定线程来完成;精插补时既可出下位机的硬 件来完成,又可通过上位机生成插补数据包后,使用下位机的位模式插补来实 现。 ( 4 ) 实时控制方面,利用设备驱动程序v x d 解决了硬件定时中断和插补结 束中断的捕获问题;提出一种速度控制算法,对闭环控制系统进行实时位置控 制;采用主线程、控制线程、插补线程和解释线程,利用线程问的同步与通讯, 胁同完成数控机床的实时加工过程。 最后,我们完成了运动控制器驱动程序和丌放式数控系统应用程序的开发工 作,并在实际应用中取得了满意的效果。 关键词:m c x 3 1 4 ,v x d ,驱动函数库,位模式插补,多线程 垒堕! ! ! ! 一 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - , a b s t r a c t t h i s p a p e r i n t r o d u c e sh o wt o d e s i g n a n d i m p l e m e n t t h e o p e n a r c h i t e c t u r e s o f t w a r es y s t e mw i t ht h r e e c o o r d i n a t ec o m p u t e r n u m e r i c a lc o n t r o l ( c n c ) b a s e do n m o t i o nc o n t r o l l e rg d l 0 4o n t h ew i n d o w s 9 8 p l a t f o r m t h es o f t w a r es y s t e mi sd i v i d e di n t om o t i o nc o n t r o l l e rd r i v e rs o f t w a r ea n dh o s t a p p l i c a t i o np r o g r a m u n d e rt h eh a r d w a r ee n v i r o n m e n t ,a n db o t ho ft h e m a r ed e s i g n e d a n dd e v e l o p e dr e s p e c t i v e l y m e a n w h i l e ,s o m ek e yp r o b l e m si nt h ec n cs y s t e ma r e a n a l y z e da n dr e s e a r c h e d ,a n ds o m ei m p o r t a n t a c h i e v e m e n t sh a - r eb e e ng o t t e ua s f o l l o w i n g : 1 i nt e r m so fn u m e r i c a lc o n t r o l ( n c ) c o d ec o m p i l e ,m a n yc o m p l e xo p e r a t i n g s a r e p u t i n t o p r e p r o c e s s w i t ht h e c o m p i l e a n di n t e r p r e t a t i o nm e t h o d ,w h i l el e s s m e m o r y i su s e dt or e a l i z et h et r a n s f o r m a t i o n f r o mn cc o d et o i n t e r p o l a t i o n c o m m a n d sd u r i n gt h er e a l t i m ep r o c e s s 。a tt h es a m et i m e ,t h et o o l s e m i d i a m e t e r c o m p e n s a t i o np r o b l e m i sa l s os o l v e db ya n a l y t i cm e t h o di np r e p r o c e s ss t a g e ( 2 ) i nt e r m so fg r a p h i ce m u l a t i o n ,t o o lt r a c ki sp r o v i d e d w i t ht h ep r e v i e wm o d e o ft h r e e v i e w , a n di ti sd y n a m i e l yt r a c e db yu s i n gb r e s e n h a m sa l g o r i t h md u r i n gt h e s i m u l a t e dw o r k i n gp r o c e s s t h ew o r k i n gt i m ei sa c c u r a t e l ye s t i m a t e da c c o r d i n g t oi t s s p e e d ( 3 ) i nt e r m so fi n t e r p o l a t ea l g o r i t h m ,t h ep a r t s a r ei n t e r p o l a t e df o rt w os t e p sb y u s i n gp cc o m p u t e ra n dm o t i o nc o n t r o l l e rm o d e i nt h ef i r s ts t e p t h ep c c o m p u t e r a s s i g n sa t h r e a dt of i n i s ht h et a s ko fr o u g hi n t e r p o l a t i o n i nt h es e c o n ds t e p ,t h et a s k o fe x a c ti n t e r p o l a t i o nc a nb ef i n i s h e de i t h o rb yt h eh a r d w a r eo f t h em o t i o nc o n t r o l l e r o rb yt h eb i t - i n t e r p o l a t i o no ft h em o t i o nc o n t r o l l e ra f t e rt h ep cc o m p u t e rg e n e r a t e s t h ed a t ap a c k a g e f 4 ) i nt e r m so f r e a l t i m ec o n t r o l ,t h ei n t e r r u p t i o nc a p t u r eo f t h eh a r d w a r et i m i n g a n di n t e r p o l a t ee n d i n ga r es o l v e db yv i r t u a ld e v i c ed e v i c e ( v x d ) as p e e dc o n t r o l a l g o r i t h mi su s e d t oc o n t r o lt h er e a l t i m ep o s i t i o ni nc l o s e d l o o pc o n t r o ls y s t e m m a i n t h r e a d ,c o n t r o lt h r e a d ,i n t e r p o l a t i o nt h r e a da n di n t e r p r e t a t i o nt h r e a d a r ea d o p t e dt o f i n i s ht h er e a l t i m ew o r k i n gp r o c e s so fn cm a c h i n eb yu s i n gs y n c h r o n i s m a n d i i 电子科技大学硕士学位论文 c o m m u n i c a t i o n a m o n g t h e s et h r e a d s a t l a s t ,t h ed e v e l o p m e n to f m o t i o nc o n t r o l l e rd r i v e rs o f t w a r ea n dh o s ta p p l i c a t i o n p r o g r a mi sf i n i s h e d ,a n dt h e r e s u l t so ft h ea p p l i e de x p e r i m e n t ss h o wt h ec n c s o f t w a r es y s t e mi ss a t i s f a c t o r y k e yw o r d s :m c x 3 1 4 ,v x d ,d r i v e rl i b r a r y , b i t - i n t e r p o l a t i o n ,m u l t i t h r e a d l l i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名: 蜀i l日期:乃。睁孑月一7 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名: 么委煎也导师签名: 日期:如叶年弓月? 7 日 电子科技大学硕士学位论文 第一章引言 数字控制( n u m e r i c a lc o n t r 0 1 ) 技术,简称数控( n c ) 技术,它是指用数字 化信息发出指令并实现自动控制的技术。采用数控技术的控制系统称为数控系 统。数控系统从1 9 5 2 年问世以来,随着电子技术、计算机技术和自动控制技术 的不断发展,经过6 次j 产品换代,近年来,出现了基于p c 机的开放式数控系 统。早期的数控系统仅用于数控机床,自从出现了计算机数控系统( c o m p u t e r n u m e r i c a lc o n t r 0 1 ) 后,数控系统不仅普遍用于数控机床,而且在电火花线切割 与成形、激光切割、快速原型制造和机器人等自动化控制领域获得了越来越广 泛的应用。 1 1 开放式数控系统概述 随着计算机结构透明性的增强,硬件的开放性、统一的操作平台、资源的丰 富性,数控技术向着通用计算机即开放式结构方向发展,并成为最具生命力的 技术平台。所谓开放性体系的数控系统即开放式、高可靠、高性能、智能化、 网络化、信息化的数控系统的通称,其核心是开放式,即系统各模块与运行平 台无关,系统各模块之间的互操作性和人机界面及通信接口的统一性。目前, 开放性一词已经深入人心,并且体现在相关的n c 产品中,开放式数控系统成为 c n c 发展的潮流。 i e e ( 国际电气电子工程师协会) 对开放式数控系统的定义是:“符合系统规 范的应用可以运行在多个销售商的不同平台上,可以与其它的系统应用互操作, 并且具有一致风格的用户交互界面”。它具有如下特征: ( 1 ) 开放性 即系统从硬件到软件应当是开放的。即厂家提供的产品不是保密的。 ( 2 ) 移植性 在系统中,用户自行编写的软件不依赖于用户所在位置,从而可运行在系 统的任意结点上,作为系统软件可以较容易地得到移植使用。 ( 3 ) 可扩充性 允许用户根据不同的工作环境和需要动态地重组系统的功能。 ( 4 ) 互操作性 第一章引占 这是当前开放式数控系统最关键的特征,开放系统往往由互不兼容的系统所 组成,因此,异构环境的互操作性是很关键的。 1 2 基于p c 的开放式数控系统”8 1 1 2 1 按p c 与n c 的配合分类 ( 1 ) p c 嵌入n c 该类型系统采用了总线式、模块化的体系结构,把与n c 装置配套的p c 板 卡装入n c 系统的插槽中。其中p c 只作为前端的人机界面,利用p c 的存储和 通讯功能进行前、后台编程。背后仍由专用结构的n c 系统来实现机床控制,故 只开放了非实时控制部分,实时控制部分还是不开放的。 ( 2 ) n c 嵌入p c 2 1 】 该类型系统采用p c 主板作为c n c 平台,插入实现n c 功能的各种模块, 如运动控制卡、多轴控制卡等,它能够充分地保证系统性能,构成具有高度灵 活性的控制系统。但它仍只是在一定程度上的开放,其软、硬件的一部分还是 专用的,机床伺服系统、反馈设备的接口也可能是专用的。 ( 3 ) 软件n c 该类型系统将c n c 的全部功能交由p c 进行处理,并通过装在p c 扩展槽 的伺服接口卡对伺服系统进行控制。其软件的通用性好,编程灵活。但是,实 时处理的实现比较困难,并较难保证系统的性能,同时原型c n c 系统资源难予 很好的利用。 总体而言,基于p c 的多轴运动控制器的开放式数控系统,是当前比较理想 的开放式数控系统。p c 机处理非实时部分,实时控制由插入p c 的多轴运动控 制器来承担。 1 ,2 2 按采用的操作系统分类。1 、 ( 1 ) 采用l i n u x 操作系统 由于l i n u x 操作系统具有很好的实时性,这种方式适于高档多轴高同步场合 的应用。再加上l i n u x 操作系统是开放源代码的,与开放式数控系统的特征十分 吻合,因而能更好地对系统进行配置和修改,从而设计出真正“开放”的数控 系统。 2 电子科技大学硕上学位论文 ( 2 ) 采用w i n d o w sc e 操作系统 w i n d o w sc e 是面向小内存3 2 位模块化实时嵌入式操作系统。它将w i n d o w s 兼容性和应用程序服务与多c p u 结构支持和内建网络通信选项相结合,为创建 多种类型产品提供了一个功能丰富的可伸缩开放式平台。同时,它保持m i c r o s o f t 开发工具的功能和w i n 3 2 编程的熟悉界面。因此,w i n d o w sc e 非常适用于开放 式数控系统。 ( 3 ) 采用w i n d o w s 操作系统 w i n d o w s 的优势在于:界面友好,人机交互性强,用户数量多,几乎垄断了 整个p c 机市场,开发工具齐全而完善。但它的弱实时性对实时控制系统是不利 的,因此适合于对同步性要求不高的场合。但若采用能独立运算的运动控制器 或灵活地利用c p u 的高速运算性能或w i n d o w s 多任务和虚拟内存机制,扬长避 短,是能够胜任中、高档开放式数控系统工作要求的。 ( 4 ) 采用d o s 操作系统 d o s 操作系统的实时性好,技术成熟。过去曾作为一种主流的c n c 系统设 计平台,但由于其界面制作繁锁,内存有6 4 0 k b 的“瓶颈”限制,网络功能欠 缺,缺乏保护机制,没有充分利用8 0 x 8 6 体系的硬件资源,软件开发工具也相 对落后,使得开发者花费大量的精力在界面制作和适应系统上。因此其可移植 性差,开放程度有限,适用于中、低档数控系统的开发。 1 2 3 按控制功能分类 ( 1 ) 单机控制模式 整个系统由一台计算机外加一些功能模块构成。组建数控系统时必须借助于 很多插到p c 机上的数控板卡来完成,软件上一般表现为定时往某一控制模块的 某一地址写入数据或读取数据。这种模式的特点是硬件成本最低,但是软件开 发上较为复杂,如果选用w i n d o w s 作为开发平台,运动控制的实时性很难得到 保证。 ( 2 ) 上下位机通讯模式 在这种模式中,上位机即为p c 机,下位机是单片机或d s p 芯片开发的运动 控制卡。两者都可以在得电的情况下单独工作,一般通过p c 机的串口或并口相 互通信,或者直接将下位机做成控制卡插到p c 机的i s a 或p c i 插槽中,通过 p c 总线通信。这种模式具有全方位的开放式结构,设计起来快捷方便,还很容 第一章引言 易满足远程控制所要求的实时性。 1 3 开放式数控系统国内外研究概况 1 3 1 国外研究概况 目前,数控技术在国外已经成为一种相对成熟的技术,其发展正逐步由专用 型、封闭式、开环控制模式向通用型、开放式、实时动态、全闭环控制模式发 展。在集成化的基础上,国外数控系统正在向超薄型、小型化发展;在智能化 的基础上,综合了计算机、多媒体、模糊控制、神经网络等学科,数控系统逐 步向高速度、高精度、高效率方向发展;加工过程中,数控系统可以自动修正、 调节与补偿各项参数,正在向在线诊断和智能化故障处理发展;在网络化基础 上,c a d c a m 与数控系统集成为一体,机床联网,逐步实现中央集中控制的 群控加工。 1 3 2 国内研究概况 我国在9 0 年代中期已开始了具有自主知识产权和一定开放特性的数控系统 的研发,代表产品有华中i 型,中华i 型,航天i 型和蓝天i 型它们均是以p c 为平台构成的总线式、嵌入式、多通道的结构,虽有一定的开放特性,但还不 具备开放式数控系统的本质特征,主要问题在于没有解决开放式数控系统的平 台问题。各系统所采用的体系结构仍是自成体系,相互之间缺乏兼容性和互换 性,其开放性仍停留在p c 平台的开放层次上。其次是软件开发思想与技术落后, 没有充分利用面向对象、软件重用等软件工程的新理论、新技术。 目前,国内对开放式数控系统的研究形成了以下几个方向:基于软件芯片的 开放式数控系统;基于数字伺服现场总线技术的开放式数控系统:基于 w i n 9 8 n t 的开放式数控系统;基于c o m 组件技术的开放式数控系统等。 1 4 开放式数控系统的发展趋势“圳 1 4 1 基于p c 的开放式 基于p c 所具有的开放性、低成本、高可靠性、软硬件资源丰富等特点,更 多的数控系统生产厂家会走上这条道路。至少采用p c 机作为它的前端机,来处 4 t 岜子科技大学硕士学位论文 理人机界面、编程、联网通信等问题,原有的系统则承担数控任务。p c 机所具 有的友好人机界面,将普及到所有的数控系统。远程通讯,远程诊断和维修将 更加普遍。日本、欧盟和美国等国家针对开放式数控系统,正在进行前后台标 准的研究。 14 2 高速化和高精度化 这是适应机床向高速度和高精度方向发展的需要。要求数控系统高速处理并 计算出伺服电机的移动量,且伺服电机能高速作出响应。为能在极短的行程内 达到高速度和保持高的定位精度,必须具备高加、减速度和高精度的位置检测 系统和伺服品质。通过减少数控系统的误差和采用补偿技术等方法来提高精度。 1 4 3 智能化 随着人工智能在计算机领域的不断渗透和发展,数控系统的智能化程度将不 断提高。 ( 1 ) 应用自适应控制技术,数控系统能检测控制过程中的一些重要信息, 并自动调整系统的有关参数,达到改进系统运行状态的目的。 ( 2 ) 引入专家系统指导加工,将熟练工人和专家的经验、加工的般规律 和特殊规律存入知识库中,以工艺参数数据库为支撑,建立具有人工智能的专 家系统。 ( 3 ) 引入故障诊断专家系统。 ( 4 ) 采用智能化数字伺服驱动装置,通过自动识别负载来自动调整参数, 使驱动系统获得最佳的运行。 1 4 4 网络化 未来的车间的概念将不再是“有许多带计算机的机床”而是“由许多计算机 构成的网络,上面挂着各种各样的机床”。工作人员和管理人员可以在远程甚至 在家里通过网络连接到本地局域网上,实时地监视每台机床的工作状态,并作 出变更和调整,;自n y l 程序和开发工具和软件都放在服务器上,通过一台计算机, 每个人都可以调用这些软件,并控制每一台机床。当增加一台新机床时,只需 用一根网线将其接入网络,需要时可在对它进行控制的计算机上安装驱动程序, 计算机就会自动地识别这台新设备。从而机床就成为即插即用的计算机外部设 第一章引言 备,就像网络共享打印机一样。 1 4 5 信息化 未来的、进一步开放的数控系统将成为加工数据中心,它们从机床采集加工 数据,并实时地提供给整个企业的信息系统使用。管理人员能够获取生产过程 中的大量实时信息,从而即时地作出正确的决策,可以大大提高生产率,并节 省成本。开放结构的新一代p c - n c 由于采用了标准化的软件和硬件,它还可以 从外部获取各种信息,直至接受控制。 1 5 本课题的研究内容及重点 1 5 1 研究开发的目标及内容 本课题所研究开发的系统是在w i n d o w s 9 8 平台下基于g d l 0 4 运动控制器的 具有三轴联动功能的开放式数控软件系统。该系统具有以下功能: ( 1 ) 实现i s o 格式的g 代码编辑、编译和校验。其中,g 代码编译含刀具 半径补偿功能;在编译过程中能准确地显示错误数、出错原因、出错位置等信 息,方便了编程人员对g 代码的校正。 ( 2 ) 对数控加工文件提供了x y 平面、y z 平面、z x 平面、x y z 空间四种 图形预览方式,方便技术人员更好地观察加工时的刀具轨迹。 ( 3 ) 实现手摇脉冲、点动控制、增量控制、回零控制等手动操作功能。 ( 4 ) 实现连续加工、单段加工、快速加工、跳行选段等复杂操作,能较准 确地模拟计算出一次3 n q - 的真实时间。 ( 5 ) 提供加工历史的完整记录,包括在3 h - v 过程中所做的一切软件和硬件 上的人工操作,便于系统故障的分析与排除。 ( 6 ) 提供友好的人机交互界面,能实时显示x y z 的坐标、回零状态以及当 前的进给速度和主轴转速,可完全使用键盘来完成所有的功能。 ( 7 ) 内置可靠的r s 2 3 2 串口通讯子模块,可以方便数控文件的远程传输。 ( 8 ) 提供较完善的在线帮助,包括代码查询、h t m l 格式的操作帮助。 ( 9 ) 系统采用二次插补法进行半闭环控制,粗插补交由上位机完成,精插 补由运动控制器或上位机来实现。 ( 1 0 ) 提供源代码级的运动控制驱动程序,便于系统的维护与升级。 电子科技大学硕士学位论文 ( 1 1 ) 系统具有反向涮隙补偿和传动误差补偿功能,补偿值可动态设定。 1 52 研究的重点及难点 本课题在研究开发的过程中,将会对以下问题进行重点考虑: ( 1 ) 由于选用的运动控制器g d l 0 4 为自行研发,因此在深入理解运动控制 器底层工作原理的基础上,还需用动态链接库( d l l ) 来完成运动控制驱动程序 的编写工作。 ( 2 ) 利用w i n d o w s 提供的多线程机制来实现c n c 系统的实时多任务控制, 通过建立四个线程:主线程、控制线程、插补线程和解释线程,来实现整个系 统的协调运行,难点在于线程间的同步与通讯。 ( 3 ) 运用w i n d o w s 的中断机制完成实时运动控制,采用虚拟设备驱动程序 ( v x d ) 来响应实时插补中断和定时中断。难点在于w i n d o w s 下中断的捕获以 及毫秒级及其更高时间精度的定时中断的获取。 ( 4 ) 数控g 代码的编译、出错处理、刀具补偿及图形仿真。 ( 5 ) 二次插补算法以及机床运行的实时位置控制。 第二章开放式数控系统的总体设计 第二章开放式数控系统的总体设计 p c 机进入数控领域,极大地丰富了数控系统的软硬件资源,有利于实现模 块化、可重构、可扩充的开放式数控系统。随着w i n d o w s 系统的发展与普及, 开发基于w i n d o w s 平台下的开放式数控系统已经成为了广大c n c 同行的共识。 2 1 系统软硬件环境 2 1 1 硬件平台 本课题所研究的对象是三轴开放式数控系统,我们采用运动控制器( g d l 0 4 ) + 工控机( i p c ) 的方案,如图2 - 1 所示。其中,g d l 0 4 是自主研发的基于专用 运动控制芯片m c x 3 1 4 的运动控制器,它采用i s a 总线,最多可以实现四个轴 的运动控制;驱动部分选用交流伺服系统,执行机构选用三坐标运动机构。 仁= 鳊码8 苎! 二 f l ff i 卜静掣运动g d 雠1 0 4 懦w 嘉h 辞芸撬 广 厂_ l f 壤码罂信号 厂j f 厂_ 厂1f 21 2 操作系统平台 操作系统平台既是数控软件的开发环境,又是它的运行环境,它不仅影响 到软件开发的难易程度,而且直接关系到数控系统的性能及它的应用范围。本 系统选用w i n d o w s 9 8 作为软件开发平台,主要是出于以下几点考虑: ( 1 ) w i n d o w s 9 8 操作系统在工业控制领域十分普及,应用广泛; ( 2 ) w i n d o w s 9 8 的兼容性比w 抽d o w s n t 2 0 0 0 强,系统限制较少; ( 3 ) w i n d o w s 9 8 中可用的开发工具及帮助系统十分齐全; 基 电子科技大学硕士学位论文 ( 4 ) w i n d o w s 9 8 的界面制作方便,人机交互性好。 2 1 3 软件开发工具 本系统选用v i s u a lc + + 6 0 ( 以下简称v c ) 作为软件丌发工具,用c c + + 编 程语言进行系统开发,这是因为: ( 1 ) v c 功能十分强大,能胜任各种w i n d o w s 应用程序的开发: ( 2 ) v c 在编写面向底层的应用程序方面最为合适,特别适用于端口操作; ( 3 ) 相对于其它可视化工具,v c 编译后得到的可执行文件运行效率很高; ( 4 ) v c 十分灵活,易于处理程序细节问题,能够订制个性化的界面; ( 5 ) v c 易于与其它语言( 特别是汇编语言) 混合编程。 2 2 总体设计思想 本课题所设计的c n c 软件系统是一个很大的实时多任务处理软件,它既要 管理数控代码的编辑、编译、仿真以及机床运行时的插补计算和实时控制,又 要负责机床手动操作、文件传输、在线帮助等任务。考虑到软件开发的复杂性, 在软件设计时,首先按照软件工程的思想进行了系统的总体设计,将系统软件 划分成主机应用程序和运动控制器驱动程序两个独立而又能相互协调的部分, 并确定各自负责的功能:主机应用程序负责实现数控系统的各种基本功能、人 机交互、界面显示等:运动控制器驱动程序负责实现位置速度实时控制、插补 驱动等功能。 针对较为复杂的主机应用程序,还运用了面向对象的方法作了进一步的分 析,设计出对应于不同功能的m f c ( m i c r o s o f tf o u n d a t i o nc l a s s ) 4 4 】扩展类和 非m f c 类。这样,不仅提高了软件的开发效率,而且使设计出来的软件可靠性 高、便于复用、易于维护并且更加符合开放式数控系统的特征。 2 3 设计开发的原则 在整个系统的开发过程中,采取的原则是:先基本再扩展,先运转再优化。 “先基本再扩展”指的是不管是主机程序还是运动控制器驱动程序的设计, 总是先搭建基本框架,再迸一步细化与完善。比如在开发驱动程序的时候,先 完成运动控制器的基本i o 、寄存器的操作,再完成基本直线、圆弧插补,进而 第二章开放式数控系统的总体设计 完成多直线多圆弧的连续插补,直至最后实现所有功能。 “先运转再优化”指的是先不管算法的复杂性和对系统资源的消耗程度,先 让程序运转起来,再逐渐对代码和算法进行优化。 2 4 主机程序总体设计 2 4 1n f o 的应用程序框架”1 在v c 中,用向导( a p p w i z a r d ) 自动生成的单文档( s d i ) 应用程序框架包 括了应用程序类c w i n a p p 、文档类c d o c u m e n t 、视图类c v i e w 、主框架类 c f r a m e w n d 四个类,在本系统中,从这四个类对应地派生出c o e n c a p p 、 c o c n c d o c 、c o c n c v i e w 、c m a i n f r a m e 。它们的实例分别是应用程序对象、文档 对象、视对象、主框架窗口对象。其解释如下; ( 1 ) 应用程序类c o c n e a p p 应用程序类派生于c w i n a p p 。基于框架的应用程序必须有且只有一个应用 程序对象t h e a p p ,它负责应用程序的初始化、运行和结束。 ( 2 ) 主框架类c m a i n f r a m e 主框架类派生于c f r a m e w n d 。主框架窗口的客户窗口直接包含视窗口,主 框架用来管理视窗口、工具条、状态栏、菜单、加速键等。 ( 3 ) 文档类c o c n c d o c 文档类从c d o c u m e n t 类派生,用来管理数据。数据的变化、存取都是通过 文档类来实现的。视窗口通过文档对象访问和更新数据。 ( 4 ) 视图类c o c n c v i c w 视图类从c v i e w 或它的派生类派生。视图和文档联系在一起,在文档和用 户之间起中介作用,即视图在屏幕上显示文档的内容,并把用户输入转换成对 文档的操作。 ( 5 ) 文档模板类c s i n g l e d o c t e m p l a t e 文档模板类般不需要派生。应用程序通过文档模板类对象来管理上述对象 ( 应用程序对象、文档对象、主框架窗口对象、视图对象) 的创建。 应用m f c 提供的文档视( d o c u m e n t - v i e w ) 结构,可以很方便地进行主机 程序的设计。 1 0 电子科技火学碳士学位论文 2 4 2 主机程序的界面设计 主机程序的界面如图2 2 所示。它除了含有w i n d o w s 应用程序的标准菜单、 工具条外,从界面的美观和操作的实用性角度出发,利用c u s e f u l s p l i t t e r w n d 类 将整个系统分成工作区、主次功能区和信息区四个部分。 工作区( 包括c o c n c v i e w 、c t h r e e v i e w 、c a u t o r u n v i e w 、c m a n u v i e w ) 根 据所选择的功能,动态地显示不同的窗口,包括数控代码的编辑窗口;模拟仿 真自动运行的图形输出显示窗口;手摇脉冲点动控制增量控制回零控制的坐 标输出窗口等。利用有限的空间,实现了数控系统的各种人机交互界面。 主功能区( c m a i n p a j a e l v i e w ) 提供了数控系统中的常用功能,包括程序管理、 模拟加工、自动运行等,其对应的子功能在次功能区中得以实现。 次功能区( c s u b p a n e l v i e w ) 除了提供子功能实现以外,还增加了三个显示 面板,分别用来显示x y z 轴的当前位置、主轴速度和进给速度;各轴当前的回 零状态指示;当前编译的数控文件名及编译的状态。 信息区( c l n f o v i e w ) 用来完成各种信息的显示。包括:显示版本及单位、 数控代码的查询和出错原因显示、模拟加工自动加工时的数控代码行、加工进 度、加工时间以及加工完成后的加工记录等。 图2 - 2 主机程序界面 第二章开放式数控系统的总体设计 由于v c 自动生成的m f c 程序框架并不能实现这些功能,这就需要加入以 下m f c 的扩展界面制作类m _ 5 1 : ( 1 ) c u s e f u l s p l i t t e r w n d 切分窗口类 此类用于将主框架c m a i n f r a m e 分成两行两列共四部分,每一部分都能动态 切换不同的视图。在本系统中,对工作区用动态换视,信息区用控件的隐藏显 示的方法来实现不同界面在同一区域内的动态切换。 ( 2 ) c d i g i s t a t i c 数码显示类 ( 3 ) c l e d 指示灯类 ( 4 ) c l a b e l 标签类 ( 5 ) c t e x t p r o g r e s s c t r l 带文字的进度条类 ( 6 ) c m e m d c 内存d c 类 2 4 3 主机程序的功能设计 如图2 3 所示,采用面向对象的程序设计方法,通过设计出各种m f c 扩展 类和非m f c 类,来完成主机程序的功能。 设计的主要m f c 扩展类: ( 1 ) c o e n c v i e w 类 派生于c e d i t v i e w ,负责数控代码的编辑和编译功能。 ( 2 ) c t h r e e v i e w 类 派生于c s c r o l l v i e w ,负责实现刀具轨迹的模拟仿真功能。 ( 3 ) c a u t o r u n e w 类 派生于c v i e w ,负责实现自动加工中的刀具轨迹显示和坐标显示。 ( 4 ) c m a n u v i e w 类 派生于c e w ,负责实现手摇脉冲、点动控制、增量控制、回零控制等手动 操作。 ( 5 ) c l n f o v i e w 类 派生于c f o r m v i e w ,负责加工中的程序内容、加工时间及加工进度显示等。 ( 6 ) c s e t u p d l g 类 派生于c d i a l o g ,负责系统的参数设鹭。 ( 7 ) c s e r i a l d l g 类 派生于c d i a l o g ,负责数控文件的串口传输。 电子科技大学硕士学位论文 ( 8 ) c c o n t r o l p a n e l d l g 类 派生于c d i a t o g ,负责模拟加工、自动加工中的软控制面板操作。 设计的主要基础类( 非m f c 类) : ( 1 ) t o o l c o m p e n s a t i o n 类:负责完成刀具补偿功能。 ( 2 ) e x p l a i n 类:负责对数控文件进行编译。 ( 3 ) i n t e r p o l a t e 类:负责完成二次插补中的精插补。 ( 4 ) c o n t r o l 类:负责完成模拟加工和自动方式下的多线程处理。 ( 5 ) w o r k i n f o 类:负责记录加工过程中所进行的人工操作。 图2 - 3 开放式数控系统功能列表 第三章基于运动控制芯片的驱动程序设计 第三章基于运动控制芯片的驱动程序设计 开放式数控系统的核心运动控制器在整个开放式数控系统中起着至关 重要的作用,它的设计好坏不仅关系到整个系统运行性能、控制精度、系统的 可扩展性,而且关系到用户使用和维护是否方便。其中控制主芯片的软、硬件 开发成为其最为关键的技术,本课题所做的工作重点之一便是对基于专用运动 控制主芯片m c x 3 1 4 【l7 j 的运动控制器g d l 0 4 进行二次开发。 3 1m c x 3 1 4 运动控制芯片介绍 m c x 3 1 4 是款能够同时控制4 轴步进或伺服电机的运动控制芯片。它以 脉冲串的形式输出,能完成步进或伺服电枫的位置控制、速度控制、加速度控 制、插补驱动等功能。 图3 - 1 是m c x 3 1 4 的功能方框图。它由相同功能的x 、y 、z 和u 轴的控制 部分和插补计数部分组成。插补驱动时,通过主轴产生的基本脉冲振荡时序, 来完成插补算术运算。此外,还可进行定速驱动、加,减速驱动等。 图3 - 1m c x 3 1 4 功能框图 1 4 拂 狲 糯 嬲 电子科技大学硕士学位论文 3 2m o x 3 1 4 运动控制芯片的读写寄存器及指令系统 3 2 1 读写寄存器 ( 1 ) w r 0 命令寄存器 用来进行各轴设定和命令寄存,包括轴设定、命令字设定以及复位命令。 ( 2 ) w r i w r 3 模式寄存器( 每轴1 个共1 2 个) w r l 控制输入信号的使能,设定减速状态和比较结果寄存器: w r 2 用于设定限位开关输入、反馈计数脉冲类型以及伺服驱动的反馈信号; w r 3 用于操作手动减速、独立减速、s 曲线3 n 减速、外部操作模式设定。 ( 3 ) w r 4 输出寄存器 用于设定4 个轴的输出信号,也可用作1 6 位通用i o 输出。 ( 4 ) w r 5 插补模式寄存器 用于指定插补轴,包括直线定速模式、单步插补输出模式和中断请求。 ( 5 ) w r 6 w r 7 数据寄存器 ( 6 ) r r 0 主状态寄存器 用于显示各轴驱动和错误的状态以及插补、连续插补的就绪信号、圆弧插 补的象限和位模式插补的堆栈计数。 ( 7 ) r r | r k 3 状态寄存器( 每轴1 个共1 2 个) r r l 表示逻辑实位计数器和比较寄存器( c o m p * ) 的大小比较、线性加 减速驱动的状态、s 曲线加,减速的加减速度的变化率的状态以及驱动结束状态; r r 2 表示出错信息: r r 3 表示中断源。 ( 8 ) r r 4 r r 5 输入寄存器 1 6 位通用i ,o 输入寄存器。 ( 9 ) r r 6 r r 7 数据寄存器 3 2 2 指令系统 m c x 3 1 4 的指令系统是通过向命令寄存器w r 0 分配轴并向其写入相应的指 令代码来完成的。 第三章基于运动控制芯片的驱动程序设计 表3 - 1m c x 3 1 4 指令代码列表 i代码命令描述 0 0 o d h 设定范围r 、加速度变化率】、加儡速度a f d 、初始速度s v 、驱 动速度v 、输出脉冲数p 、手动减速点d p 、圆心c 、逻辑实际位 置计数器l p e p 、正负向比较寄存器c p c m 、计数器偏移值a o 0 f hn o p ( 轴切换) 1 0 - 1 3 h 读取逻辑实际位置计数器、读取当前驱动速度力口速度 i2 0 2 7 h 正,负向定量,连续驱动、驱动暂停,开始、减速,立即停止 l3 0 3 d h 2 轴3 轴直线位模式插补、顺,逆时针插补、使用,禁止位模式、数 据压栈清空堆栈、单步插补、启动禁止减速、清除插补中断 3 3m c x 3 1 4 运动控制芯片提供的功能 3 3 ,1 脉冲输出命令 对于输出脉冲有两种模式:一种是定量脉冲驱动模式,另一种是连续脉冲 驱动模式。上位机通过设置m c x 3 1 4 中的命令寄存器来选择脉冲输出模式。 3 3 ,1 1 定量驱动 定量驱动是以固定速度或加,减速度输出指定数量的脉冲。当需要移动到确 定位置时使用此功能。加,减速的定量驱动如图3 - 2 所示,当输出脉冲的剩余数 比加速阶段累计的脉冲数少时就开始减速,输出指定的脉冲数后,驱动也结束。 在进行加减速的定量驱动时,需要设定下列参数:范围r 、加减速度a d 、 初始速度s v 、驱动速度v 、输出脉冲数p 。 遽度 驱动速度 v 初始速度 s v 0 特殊情况的处理 图3 - 2 定量驱动模式 数 电子科技大学碗十学位论文 ( 1 ) 在驱动中改变输出脉冲数 在定量驱动中,输出脉冲数可以随时改变。如果是增加输出脉冲:在匀速段 会延迟减速;在减速段会重新加速。如果是减少输出脉冲,将立即停止输出脉 冲。 ( 2 ) 加减速定量驱动的手动减速 当使用带加减速的圆弧插补、位模式插补或连续插补时,m c x 3 1 4 不能正 确计算减速点( 减速点脉冲数= 输出总脉冲数功口速段所用脉冲数) ,必须进行手 工计算。 3 3 1 2 连续驱动 如图3 3 所示,连续驱动是指在驱动中连续输出驱动脉冲直至接收到停止命 令或外部停止信号有效,其主要用途:原点搜寻、扫描操作、控制电机转速等。 有两种停止命令:减速停止和立即停止。 3 3 2 速度曲线 速度 驱动速度 初始速度 0 图3 - 3 连续驱动模式 m c x 3 1 4 的速度控制能够被设置为定速、直线加减速、s 曲线加减速三种 模式: ( 1 ) 定速模式 以一成不变的速度输出驱动脉冲,应满足驱动速度小于初始速度。 ( 2 ) 直线加减速模式 按线性规律从初始速度增加至驱动速度,同时还会记录加速段的脉冲数并同 剩余脉冲数相比较,当剩余脉冲数小于加速脉冲数时,m c x 3 1 4 便开始从驱动 速度减速到初始速度。当在加速驱动过程中出现减速命令或当定量输出脉冲数 太小无法达到驱动速度时,m c x 3 1 4 会在加速阶段便开始减速。通常,采取相

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论