基于运动控制卡的开放式数控系统研究.doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流基于运动控制卡的开放式数控系统研究.精品文档.摘 要数控系统的开放性是当今数控系统发展的主流,开放式数控系统研究的目地是开发一种模块化的、可重构的、可扩充的控制系统的结构,以增强数控系统的柔性,在体系结构上给用户二次开发留有更多的余地,从而可以快速的响应新的加工需求。概述了数控系统的发展现状,介绍了开放式数控系统的结构,在此基础上提出了一套NC嵌入PC型的开放式数控系统,并对其软硬件进行了研究。数控系统是一种以PC为硬件平台的控制系统,PC以其良好的开放性成为数控系统的基础。开放式数控系统按其结构可以分为:NC嵌入PC型、PC嵌入NC型以及全软件型,在分析了这几种数控系统的优缺点后,重点研究了NC嵌入PC型的开放式数控系统,对其软硬件进行分析,设计出了数控系统的总控制框图,并使用VB做出了数控系统的控制界面。关键字:数控系统;NC嵌入PC型;运动控制卡;硬件;软件AbstractNowadays the characteristic of openness of the CNC systems is becoming one of the most important directions of CNC development. The research of openness into the CNC systems aims to build a modular, reconfigurable and expandable architecture of CNC systems to improve the systems flexibility and to enable the re-development of the systems. As a result, the CNC systems can respond to the market quickly and economically.Based on the general situation about NC system development, it presents the architecture of opening NC-embedded PC system. It introduces the hardware and software in this system. The CNC system, which is a kind of control system based on PC hardware platform, is categorized according to the different functions of PC in the system. The opening style computerized numerical control system can be divided into three forms according to their structure: NC embedded PC structure, PC embedded NC structure and the whole software model. After the analysis of the advantages and disadvantages of these types of CNC systems, the study focuses on the opening NC embedded PC systems hardware and software. By analyzing the overall control of the CNC, the author designs the general system block diagram and develops the control interface of the NC system by VBKey words: Computerized numerical control (CNC) system; Opening; NC embedded PC; Motion control card; Hardware; Software目 录第一章 绪论- 1 -1.1数控系统的发展- 1 -1.2 数控系统的组成和工作原理- 2 -1.2.1数控系统的组成- 2 -1.2.2数控系统的工作原理- 2 -1.3 开放式数控系统- 4 -1.3.1 开放式数控系统产生的历史背景- 4 -1.3.2开放式数控系统的概念和特征- 4 -1.3.3开放式数控系统的优点- 5 -1.3.4开放式数控系统结构的分类- 5 -第二章 数控系统的实现- 7 -2.1 数控系统硬件的实现- 7 -2.1.1 数控系统硬件综述- 7 -2.1.2 嵌入式系统硬件结构- 8 -2.1.3 NC嵌入PC式结构数控系统的硬件组成- 9 -2.1.4 MPCO7运动控制卡简介- 10 -2.2 数控系统软件的实现- 12 -2.2.1 数控系统软件综述- 12 -2.2.2 CNC系统的软件结构及控制- 13 -2.2.3 CNC系统典型的软件结构模式- 18 - 2.2.4 NC嵌入PC型开放式数控系统的软件结构- 18 -2.2.5 各级中断的具体含义- 18 -2.2.6 NC嵌入PC型数控系统软件的工作过程- 19 -2.2.7 数控系统总程序框图- 20 -第三章 开放式数控系统的界面- 25 -3.1 人-机界面概述- 25 -3.2 开放式数控系统操作面板键盘说明- 25 -3.2.1系统键盘说明- 26 -3.2.2用户操作面板- 26 -3.3界面具体示意图- 27 -第四章数控系统的通信- 32 - 4.1 数控系统的通信设备及接口- 32 -4.2 数据通信的基本概念- 32 -4.2.1数据通信系统的组成- 32 -4.2.2 数据通信方式- 35 -4.2.3 数据通信的联接方式- 35 -4.3异步串行通信接口- 35 -4.4 网络通信及其接口- 36 -结 论- 37 -致 谢- 37 -参考文献- 39 -附录- 39 -第一章 绪 论数控技术作为制造业实现自动化、柔性化、集成化生产的基础,已成为先进制造技术的重要组成部分,是发展现代集成制造和智能制造的主体技术,是当今各种先进制造系统的基础和前提条件。数控系统是数控技术的核心,也是数控发展的关键技术,其功能强弱、性能优劣直接影响着数控设备的加工质量和效能发挥,对整个制造系统的集成控制、高效运行、更新发展都具有至关重要的作业。因此,数控系统技不仅作为数控发展的先导技术,而且作为制造业的基础性战略技术,越来越得到世界各国的高度重视和大力发展。1.1 数控系统的发展1.开放结构的发展1自从1952年美国马省理工学院研制出第一台试验性数控系统以来,数控技术发展十分迅速,从电子管数控、晶体管数控、中小规模IC数控,到小型计算机数控、微处理数控,再到基于个人PC机数控,已有50余年的历史了。它综合了计算机、通信、微电子、自动控制、传感测试、机械制造等多门技术,数控系统从性能到可靠性都得到了根本性的提高。PC的引入,不仅微CNC提供了十分坚实的硬件资源和及其丰富的软件资源,更为CNC开放化提供了基础。2.伺服驱动系统的发展伺服技术是数控系统的重要组成部分,它的电动机、电路及检测装置等的技术水平都有极大的提高。电动机由早期采用步进电动机和液压扭矩放大器,到采用液压伺服系统、小惯量直流伺服电动机、大惯量直流伺服电动机、交流伺服电动机以及近来出现的数字伺服系统。与通常的模拟伺服系统相比,数字伺服系统的脉冲当量从1um减小到0.1um,进给速度仍能达到10m/min。组成伺服驱动电路的位置、速度和电流控制环节部分实现数字化,甚至以单片微机或高速数字信号处理器为硬件基础,进行全数字化控制,与CNC系统的计算进行双向通信联系,就避免了零点漂移,提高了位置与速度控制的精度和稳定性。3.CNC系统的连网 数控系统从控制单台机床到控制多台机床的分级式控制需要网络进行通信;网络的主要任务是进行通信,共享信息。这种通信通常分为三级:工场管理级、车间单元控制级和现场设备级。其中,现场总线是面向工场底层自动化及信息集成的数字网络技术,它集现场设备的远程控制、参数化机故障诊断为一体。由于现场总线具有开放性、互操作性、互换性、可集成性,因此是实现数控系统设备层信息集成的关键技术,对提高生产效率、降低生产成本非常重要。4.数控机床结构的发展数控机床的主运动部件不断向高速化方向发展,除采用直流调速电动机和交流变频调速电动机驱动主轴部件,以提高主运动的速度和调速范围,并缩短传动链外,近来更有采用电主轴,将主轴部件做在电动机转子上,从而大大提高了主轴转速和减少了机械传动惯量,主轴转速最高可达30000-100000r/min,而且仅用1.8s即可从零转速升到最高转速。1.2 数控系统的组成和工作原理1.2.1 数控系统的组成机床数控系统主要由几个部分组成:零件加工程序的输入、数据处理、插补计算和伺服机构的控制。应用计算机的数控机床是综合了现代计算机技术、自动控制技术、传感器和测试技术、机械制造技术等领域的最新成就发展起来的,它使得机械加工达到了更高的水平。计算机数控系统主要由硬件和软件两大部分组成。系统控制软件配合系统硬件合理的组织、管理数控系统的输入、数据处理、插补和输出信息与控制执行部件,使数控机床按照操作者的要求,有条不絮的进行加工。软件的组成如图1-1所示2: 零件程序的输入输出 管理软件 显示 诊断系统软件 译码 刀具补偿 控制软件 速度控制 插补运算 位置控制 图1-1 CNC系统软件的组成1.2.2 数控系统的工作原理1.输入输入CNC控制器的通常有零件加工程序、机床参数和刀具补偿参数。CNC输入工作方式有存储方式和 NC方式。存储方式是将整个零件程序一次全部输入到CNC内部存储器中,加工时再从存储器中把一个一个程序调出;NC方式是CNC一边输入一边加工的方式,即在前一程序加工时,输入后一个程序的内容。2.译码译码是以零件程序的一个程序段为单位进行处理,把其中零件的轮廓信息(起点、终点、直线和圆弧等),加工速度信息(F代码)和其它辅助信息(M、S、T等代码)按照一定的语法规则解释成计算机能够识别的数据形式,并以一定的数据格式存放在指定的内存专业区域。编译过程中还有进行语法检测,发现错误立即报警。3.刀具补偿刀具补偿包括刀具半径补偿和刀具长度补偿。通常,通常零件程序是以零件轮廓轨迹来编程。刀具补偿的作用是把零件轮廓轨迹转换成刀具中心轨迹。4.进给速度处理数控加工程序给定的刀具移动速度,是在各坐标合成方向上的速度。速度处首先要进行的工作是根据合成速度来计算个运动坐标方向的分速度。另外对于机床允许的最低和最高速度的限制也在这里处理。有的数控机床的CNC软件的自动加减速也放在这里。5.插补插补的任务是在一条已知起点和终点的曲线上进行“数据点的密化”。插补是在每个插补周期运行一次。在每个插补周期内,根据指令进给速度计算出一个微小的直线数据段。通常经过若干个插补周期后,插补完成一个程序段的加工,也就完成了从程序段起点到终点的“数据点密化”工作。6.位置控制位置控制处在伺服系统的位置环上,主要任务是在每个采样周期内,将插补计算出的理论位置与实际反馈为是相比较,用其差值去控制进给电机。在位置控制中通常还要完成位置回路的增益调整、各坐标方向的螺距误差补偿和反向间隙补偿等,以提高机床的位置精度。7.I/O处理I/O处理主要是处理CNC与机床之间的强电信号的输入、输出和控制(如换刀、换挡、冷却等)。8.显示CNC系统的显示主要是为操作者提供方便,通常有零件程序的显示、参数的显示、刀具位置显示、机床状态显示、报警信息显示等。有的CNC系统中还有刀具加工轨迹的静态和动态模拟加工图像显示。9.诊断诊断功能分联机诊断和脱机诊断。联机诊断是指CNC系统中的自诊断程序,脱机诊断是指系统运转条件下的诊断。脱机诊断还可以采用远程通信方式进行。1.3 开放式数控系统1.3.1 开放式数控系统产生的历史背景2从1952年世界上第一台数控机床诞生以来,数控技术经过几十年的发展已日趋完善,已由最初的硬件数控(NC),经过计算机数控(CNC),发展到今天以微型计算机为基础的数控(MNC)、直接数控(DNC)和柔性制造系统(FMS)等,现在正朝着更高的水平发展。但随着市场全球化的发展,市场竞争空前激烈,对制造商所产生的产品不但要求价格低、质量好,而且要求交货时间短,售后服务好,还要满足用户特殊的需要,即要求产品具有个性化。而传统的数控系统是一种专用封闭式系统,它越来越不能满足市场发展的需要。传统数控系统的缺点如下:(1)系统硬件和软件结构都是专用的,各厂家的主板、伺服电路板专门设计,厂家之间产品无互换性,软件也无可移植性、无可伸缩性;(2)各种数控系统都具有专用复杂的内部结构,一旦数控系统发生故障,往往要找生产厂家来维修,很不方便,而且大大提高了维修费用;(3)升级和进一步开发困难,市场上难以找到可替换的配件,致使部件损坏不能及时修复而导致整个设备不能正常运行;(4)与通用计算机不兼容,致使专用封闭式数控系统的发展一般滞后5年左右。1.3.2 开放式数控系统的概念和特征从目前研究来看开放式数控系统体系结构还没有统一、明确的概念,实现技术还处于百家争鸣的阶段,美国电气电子工程师协会给出的开放式数控系统的定义是:能够在多种平台上运行,可以和其他系统相互操作,并能给用户提供一种统一风格的交互方式。一般来说,对于开放式数控系统都强调五个方面的性能特征:(1) 即插即用(plug&play):数控功能采用模块化的结构且各模块具有即插即用的能力,以满足具体控制功能要求。(2) 可移植性(portability):功能模块可运行于不同的控制系统内。(3) 可扩展性(expandability):功能相似、接口相同的模块之间可相互替换,有随技术进步而更新硬软件的可能。(4) 可缩放性(scalability):控制系统的大小(模块的数量与实现)可根据具体的应用增减,成为规模化系列产品。(5) 互操作性(interoperability):模块之间能相互协作(交换数据),容易实现和其他自动化设备互连。因此,一个完全开放的数控系统应该是:以分布式控制原则,采用系统、子系统和模块分级式的控制结构,其构造应该是可移植的和透明的;系统的拓补结构和性能应是可缩放的,以便根据需要可方便实现重构、编辑,实现一个系统多种用途。即可实现CNC、PLC、RC (Robot Cont roll)和CC(Cell Cont roll)等控制功能;系统中各模块相互独立,在此平台上、系统厂、机床厂及最终用户都可很容易地把一些专用功能和其它有个性的模块加入其中,进行系统开发设计时,允许各模块进行独立开发,为此要有方便的支撑工具,各模块接口协议应明确,具有一种较好的通信和接口协议,以便各相对独立的功能模块通过通信实现信息交换,通过信息交换满足实时控制要求;同时使来自不同供应商的模块之间具有相互操作性。只有这样才能保证机床厂、用户对系统作补充、扩展或者修改。1.3.3 开放式数控系统的优点正是开放式数控系统的特性,使其具有传统数控系统无法比拟的优点,成为数控技术发展的方向。开放式数控系统的优点主要有:(1) 向未来技术开放。由于软、硬件接口都遵循公认的标准协议,只需少量的重新设计和调整,新一代的通用软硬件资源就可能被现有系统所采纳、吸收和兼容。这将使系统的开发费用大大降低而系统性能与可靠性将不断改善,并处于长生命周期。(2) 标准化的人机界面,标准化的编程语言,方便用户使用。(3) 向用户开放。通过更新产品、扩充功能、提供可供选择的硬软件产品的各种组合以满足用户特殊应用要求,给用户提供一个方法,从低级控制器开始,逐步提高,直到达到所要求的性能为止。另外,用户自身的技术能方便地融入,创造出自己的产品。(4) 可减少产品品种,便于批量生产、提高可靠性和降低成本,增强了市场响应能力和竞争能力。1.3.4 开放式数控系统结构的分类就结构形式而言,基于PC的开放式数控系统主要有3种9:(1) PC嵌入NC型。该类型系统是把PC嵌入到NC内部,PC与NC之间用专用的总线连接。PC将实现用户接口、文件管理以及通信功能等,NC卡将负责机床的运动控制和开关量控制。这种数控系统通常由厂家选用PC的功能部件,将其集成到CNC中,PC与CNC之间采用专用的总线进行快速数据传输。这种数控系统的优点既继承了制造商多年来积累的数控软件技术,又利用了计算机丰富的软件资源。但这种数控系统尽管具有一定的开放性。但由于它的NC部分仍然是传统的数控系统,其体系结构还是不开放的。因此,用户无法介入数控系统的核心。(2) NC嵌入PC型。以PC机作为系统的核心,把运动控制卡插入到PC机的扩展槽中完成数控系统的功能,软件的通用性好,一般PC机处理各种非实时任务,运动控制卡处理实时任务。这种运动控制卡通常选用高速DSP作为CPU,具有很强的运动控制和PLC控制能力。它本身就是一个数控系统,可以单独使用。(3) 软件(SOFT)型。CNC功能全部由应用软件来实现,硬件部分仅是PC与伺服驱动和外部I/O之间的标准化通用接口。该系统具有较好的开放性,但由于控制系统运行于非实时的操作系统Windows上,系统的实时性要求处理就比较困难,开发难度大。其典型产品有美国MDSI公司的Open CNC等。本系统着眼于经济型数控机床控制系统的设计,选择NC嵌入PC型进行开放式数控系统的开发研究。以PC+运动控制器为控制系统核心,系统的控制轴数为4轴,联动轴数为3轴,驱动原件为伺服电动机,选用的运动控制卡是MPC07。第二章 数控系统的实现2.1 数控系统硬件的实现2.1.1 数控系统硬件综述数控系统由I/O装置、CNC装置、驱动控制装置和机床电器逻辑控制装置四部分组成,从总体看它是几个部分通过I/O接口的互连,以单微处理器结构为例如图2-1所示。CPU总 线EPROMCOMSROM或磁泡存储器读带机读带机接口纸带穿孔机穿孔机和电传机接口电传机机床I/O接口MDI/CRT接口数控面板CRT位置控制速度控制单元MPLC接口 图2-1 数控系统结构框图 CNC装置是数控系统的控制核心,其硬件和软件控制着各种数控功能的实现,它与数控系统的其他部分通过接口相连。CNC装置与通用计算机一样,是由中央处理器(CPU)及存储数据与程序的存储器等组成。存储器分为系统控制软件程序存储器(ROM),加工程序存储器(RAM)及工作区存储器(RAM)。 CNC系统对机床进行自动控制所需的各种外部控制信息及加工数据都是通过输入设备送入CNC装置的存储器中,作为控制的依据。一般输入CNC系统的有关零件加工程序、控制参数和补偿数据因输入设备而异,有多种输入方式:纸带输入、键盘输入及计算机通信输入等。而CNC系统的工作过程状态和数据一般通过显示器和各种指示灯开向用户显示。驱动控制装置用以控制各个轴的运动,其中进给轴的位置控制部分常在数控装置中以硬件位置控制模块或软件位置调节器实现,即数控装置接收实际位置反馈信号,将其与插补计算出的命令位置相比较,通过位置调节作为轴位置控制给定量,再输出给伺服驱动系统。2.1.2 嵌入式系统硬件结构嵌入式数控系统必须包含一个可编程计算部件,也可以包含多个,构成多CPU系统。嵌入式处理器或控制器种类很多,比较常用的有ARM、嵌入式X86、MCU等,处理器是整个系统运算和控制的中心,它的架构越来越趋向由于采用RISC指令集Harvard架构。如图2-2所示,一般嵌入式处理器中集成CLD控制器,它提供薄膜晶体管液晶屏(TFT)显示器的接口,通过这个接口可以直接驱动液晶屏显示。内存单元 内存FLASH串口USB嵌入式可编程计算部件线总PLC进给轴接口主轴接以太网接传感器接口I/O主轴驱动单元伺服单元显示接 图2-2 嵌入式系统硬件结构图平台通过USB主控制器实现对USB设备的支持和控制。处理器中也可能集成了USB客户端控制器,一般通过这个接口进行上位机与平台间的应用软件调试。串口用来实现上、下位机通信,在有些伺服驱动装置中也提供串口连接,因此也可通过串口与驱动连接。进给轴接口是数控系统和进给伺服系统的桥梁,现阶段常用的伺服控制系统,进给控制接口一般有串行式接口、脉冲式接口、模拟式接口等。主轴控制接口数控系统与主轴驱动单元,它包含两个部分:主轴速度控制输出和主轴编码器输入。数控系统内集成的PLC主要完成主轴转速的S代码,刀具功能的T代码和控制主轴正反转与起停、主轴换挡、冷却液开关、卡盘松紧等M代码。传感器接口用来检测机床的位置信息,实现各种控制算法的计算输入。2.1.3 NC嵌入PC式结构数控系统的硬件组成硬件结构是CNC 系统工作的基础。嵌入式数控的硬件结构必须全面支持开放式系统的互操作性、移植性、互换性、可扩展性等开放理念,有利于系统的集成、更新、维护和向新技术迁移。因此,嵌入式体系结构硬件应该是以总线和网络为基础的模块化拓扑结构。硬件结构的开放化设计主要包括两个方而,即模块的划分与总线的选择。“NC嵌入PC”式结构,它由开放体系结构运动控制卡+ PC机构成。这种运动控制卡通常选用高速DSP作为CPU,具有很强的运动控制和PLC控制能力。它本身就是一个数控系统,可以单独使用。它开放的函数库供用户在Windows平台下自行开发构造所需的控制系统。因而这种开放结构运动控制卡被广泛应用于制造自动化控制各个领域。“NC嵌入PC”式结构框图如图2-3所示:PC机 输入任务 输出显示DPRAM 运动控制卡(MPC07) 编码器输入 伺服输出 图2-3 NC嵌入PC式结构框图NC嵌入PC的开放式数控系统旨在突破传统数控系统壁垒,建立一种基于PC平台的人机交互性较好、扩展性较好、廉价、易以维护的开放数控系统。通过可视的界面,采用普通PC加运动控制,直接对机床各运动进行控制和监控,实现数控机床的三轴联动。本设计中,将NC嵌入PC式结构框图进一步细化,采用以下数控系统硬件结构。如图2-4所示:主轴变频器PCI 总线主轴控制单元伺服驱动器伺服电机 运动控制器光电编码器PC机主板 伺服电机伺服驱动器键盘硬盘软盘显示器 光电编码器伺服电机伺服驱动器 光电编码器通用数字量输入输出图2-图2-4“NC嵌入PC”式数控系统硬件结构硬件结构的优点在于:将工业PC 机的引入大大简化了数控系统的开发,便于数控系统的技术更新,保持与 PC 技术的同步发展;模块化的硬件结构,保证了模块功能的相对独立控制性和系统整体的可扩展性,也提高了系统的开放性和可重构性;多处理器结构,消除了单处理器结构对CPU 性能的强依赖性以及控制过程中的“瓶颈”现象,为实现数控系统高速度、高精度、多功能和高可靠性提供了坚实基础。2.1.4 MPCO7运动控制卡简介MPC07控制卡是基于PC机PCI总线的步进电机或数字式伺服电机的上位控制单元,它与PC机构成主从式控制结构:PC机负责人机交互界面的管理和控制系统的实时监控等方面的工作(例如键盘和鼠标的管理、系统状态的显示、控制指令的发送、外部信号的监控等等);MPC07卡完成运动控制的所以细节(包括脉冲和方向信号的输出、自动升降速的处理、原点和限位等信号的检测等等)。MPC07卡采用先进的控制芯片,具有梯形升降速曲线,最高输出频率可达1.0MHz,无编码器反馈端口,主要适用于步进电机控制系统,也可用于无编码器反馈的数字式交流伺服系统。MPC07控制卡作为开发运动控制系统的平台,其结构是开放的。该卡插在PC机PCI扩展槽内使用,同时使用控制卡的数量和各卡上的控制轴数可方便的配置;MPC07卡提供了功能强大的运动控制函数库,并可以充分利用PC机现有的资源来开发完美的运动控制系统。MPC07控制卡的结构示意图如下:脉冲发射光电隔离长线驱动PC机CPU脉冲方向运动控制智能ICMPC07 指令 报警行程减速原点PC接口光电隔离 运动控制函数库 理想位置实际位置状态等 光电隔离通用I/O 图2-3 MPC07结构示意图 PCI总线 图2-5 MPC07结构示意图MPC07控制卡主要特征有:开放式结构、使用简便、功能丰富、可靠性高等。MPC07的特征体现在硬件和软件两个方面:在硬件方面采用PC机的PCI总线方式,适用范围广,卡上无需进行任何条线设置,所以资源自动配置,在Windows98、Windows2000及WindowsXP操作系统中支持即插即用,使用非常方便;MPC07的接线方式采用DB37型插头,所以的输入、输出信号均用光电隔离,提高了控制卡的可靠性和抗干扰能力;在软件方面提供了丰富的运动控制函数库,以满足不同应用要求。用户只需根据控制系统的要求编制人机界面,并调用MPC07运动函数库中的指令函数,就可以开发出既满足要求又成本低廉的多轴运动控制系统。基于 MPC07运动控制器的典型运动控制系统由以下几部分组成:(1) MPC07运动控制器、转接板及其连接电缆;(2) 具有 PCI 插槽的 PC 机或工控机,安装有 Windows2000 / XP操作系统(不同型号的控制器支持的操作系统可能不同);(3) 步进电机或数字式伺服电机;(4) 电机驱动器;(5) 驱动器电源;(6) 直流开关电源,为转接板提供+24V电源。 图2-6采用MPC07运动控制器组成的控制系统示意图本设计中,采用伺服驱动器,故伺服电机到驱动器的连线还包括反馈回路的连线。MPC07的主要技术指标:项 目 MPCO7SP主接口 PCI3.3V控制轴数4通用数字输入DCV24光电耦合16点通用数字输出24点,最大500mA集电极开路输出专用输入每轴4点(正限位、负限位、原点、减速),报警(共用)脉冲输出最大频率1M脉冲输出规格每轴梯形加减速脉冲输出方式脉冲/方向输出(Pulse/DIR)或双脉冲输出(CW/CCW)脉冲输出计数器每轴32bit符号数±2147483647变速运动中变速度2.2 数控系统软件的实现2.2.1 数控系统软件综述CNC装置由软件和硬件组成,硬件为软件的运行提供了支持环境。同一般计算机系统一样,由于软件和硬件在逻辑上是等价的,所以在CNC装置中,由硬件完成的工作原则上也可以由软件来完成,但软件、硬件各有其不同的特点。硬件处理速度较快,软件设计灵活,适应性强,但处理速度较慢,因此在CNC系统中,软件、硬件的分配比例通常由其性能价格比决定。目前四种典型CNC装置的软件、硬件界面关系如下:输入预处理插补运算位置控制伺服控制速度控制程序位置检测硬件软件第一种硬件软件第二种硬件硬件软件第三种硬件软件第四种 图2-7四种典型软硬件界面2.2.2 CNC系统的软件结构及控制CNC系统是一个专用的实时多任务计算机系统,在它的控制软件中,融会了当今计算机软件技术中的许多先进技术,其中多任务并行处理、前后台软件结构和中断型软件结构三个特点又最为突出。1. 多任务并行处理CNC系统通常作为一个独立的过程控制单元用于控制各种对象,它的系统软件必须完成管理和控制两大任务。系统的管理部分包括输入、I/O处理、显示和诊断。系统的控制部分包括译码、刀具补偿、速度处理、插补和位置控制。在许多情况下管理和控制的某些任务必须同时进行。例如,管理软件的显示模块必须与控制软件同时进行。而当控制软件运行时,其本身的一些处理模块也必须同时进行。如为保证加工的连续性,即刀具在各程序段间不停刀,译码、刀具补偿和速度处理模块必须同时进行,而插补又必须与位置控制同时进行。下面给出CNC系统的任务分解图和任务并行处理关系图(见图2-5),双箭头表示两个模块之间有并行处理关系7: 输入 管理 I/O处理 显示 CNC系统 诊断 输入 译码刀具补偿速度处理 译码 插补 控制 刀具补偿 显示 控制 速度处理 位置控制 插补 诊断 I/O 位置处理(a) 任务分解图 (b) 任务并行处理插补显示初始化 4ms 背景程序位控 I/O处理 输入插补准备诊断 中断优先级从高到底 16ms (c) CPU分时共享图0ms 4ms 8ms 12ms 16ms 插补 位控背景 程序(d) 各任务占用CPU时间示意图 图2-8 CNC装置的多任务并行处理所谓并行处理是指计算机在同一时刻或同一时间间隔内完成两种或两种以上性质 相同或不同的工作。并行处理最显著的优点是提高了运算速度。对单CPU装置,采用分时来实现多任务的并行处理,其方法是:在一定的时间片内,根据系统各任务的实时性要求程度,规定它们占用CPU的时间,使它们按规定顺序和规则分时共享系统的资源。因此,在采用资源分时共享并行处理技术的CNC装置中,首先要解决各任务占用CPU时间(资源)的分配原则。该原则解决如下两个问题:一是各任务何时占用CPU,即任务的优先级分配问题;二是各任务占用CPU的时间长度,即时间片的分配问题。一般地,在单CPU的CNC装置中,通常采用循环调度和优先抢占调度相结合的方法来解决上述问题,图2-8(c)所示为CNC装置多任务分时共享CPU时间分配图。为了简单起见,假定某CNC装置软件功能仅分为三个任务:插补运算、位置控制和背景程序。这三个任务的优先级从上到下逐步下降,即插补运算的最高,位置控制的的其次,背景程序(主要包括实时性要求相对不高的一些子任务)的最低。系统规定:插补运算任务每4ms执行一次,位置控制每8ms执行一次,两个任务都由定时中断激活,当插补运算和位置控制都不执行时便执行背景程序。系统的运行顺序是:在完成初始化后,自动进入背景程序,在背景程序偶那个采用循环调度的方式,