第5章 计算机数控装置
5.1 概述 5.2 CNC装置的硬件结构 5.3 CNC装置的软件结构 5.4 CNC装置的插补原理 5.5 刀具半径补偿原理 5.6 数控装置中的可编程 序控制器 5.7 开放式数控系统 CNC装置的组成 CNC装置的功能 单机或主从结构模块的功 多主结构的CNC装置硬件 CNC装置软件和硬件的功能界面 CNC装置的软件系统特点 CNC装置软件结构模式
5.1 概述 5.2 CNC装置的硬件结构 5.3 CNC装置的软件结构 5.4 CNC装置的插补原理 5.5 刀具半径补偿原理 5.6 数控装置中的可编程 序控制器 5.7 开放式数控系统 数控多轴联动的实现方法 插补的概念及分类 脉冲增量插补算法 数字增量插补算法 控制信号的产生 刀具半径补偿的概念 刀具半径补偿的常用方法 C功能刀具半径补偿的转接形式和过渡方式
5.1 概述 计算机数控系统,简称CNC(Computer Numerical Control),EIA(美国电子工业协会)所属的数控标准化委员会对其定义为:“CNC是用一个存储程序的计算机,按照存储在计算机内的读写存储器中的控制程序去执行数控装置的部分或全部功能,在计算机之外的唯一装置是接口。” 数控系统(CNC系统)是由数控程序、I/O设备、数控装置(CNC装置)、可编程控制器(PLC)、主轴驱动装置、进给伺服系统共同组成的一个完整的系统,其核心是数控装置。
CNC系统组成
从自动控制的角度来看,CNC系统是一种位置(轨迹)、速度(还包括电流)控制系统,其本质上是以多执行部件(各运动轴)的位移量、速度为控制对象并使其协调运动的自动控制系统,是一种配有专用操作系统的计算机控制系统。 CNC系统是在NC(Numerical Control)基础上发展起来的,其部分或全部功能通过软件来实现。只要更改控制程序,无需更改硬件电路,就可以改变控制功能。因此相对于硬线数控系统而言,CNC在通用性、灵活性、使用范围诸方面具有更大的优越性。目前在计算机数控系统中所用的计算机已不再是小型计算机,而是微型计算机,用微机控制的系统称为MNC系统,亦统称为CNC系统。
CNC系统的核心是完成数字信息运算、处理和控制的计算机,即计算机控制装置(CNC装置)。CNC装置是CNC系统的指挥中心,其主要功能是正确识别和解释数控加工程序,进行各种零件轮廓几何信息和命令信息的处理,并将处理结果分发给相应的单元。CNC装置将处理的结果按两种控制量分别输出,一类是连续控制量,送往驱动控制装置;另一类是离散的开关控制量,送往机床电器逻辑控制装置。两类信息组合在一起控制机床各组成部分实现各种数控功能。
5.1.1 CNC装置的组成 从外部特征看,CNC装置是由硬件(通用硬件和专用硬件)和软件(专用)两大部分组成的。通过系统控制软件和硬件的配合,合理地组合、管理数控系统的程序输入、数据处理、插补运算和信息输出,控制执行部件,使装备按照操作者的要求,有条不紊地进行工作。
1. CNC装置硬件的基本组成 如图所示为CNC装置硬件的基本组成。它一方面具有一般微型计算机的基本结构;另一方面又具有数控机床完成特有功能所需的功能模块和接口单元。。 程序存储器 (ROM/EEPROM) 通信接口 主轴控制接口 输入/输出接口 数据存储器 (RAM) MDI接口 PLC接口 CRT或LCD接口 位置控制接口 纸带阅读机接口 CPU
中央处理单元实施对数控系统的运算和管理;存储器用于储存系统软件(控制软件)和零件加工程序,并将运算的中间结果以及处理后的结果储存起来;它一般包括存放系统程序的ROM或EEPROM和存放用户程序和中间数据的RAM两部分;输入/输出接口用来在数控装置和外部对象之间交换信息;键盘/CRT接口完成手动数据输入和将信息显示在CRT上;位置控制部分是CNC装置的一个重要组成部分,它包括对主轴驱动的控制和对进给坐标的控制,以便完成速度控制和位置控制。
2. CNC装置软件的基本功能 CNC装置在上述硬件基础上必须编写相应的系统软件来指挥和协调硬件的工作,两者缺一不可。 从本质特征来看,CNC装置软件是具有实时性和多任务性的专用操作系统; 从功能特征来看,该操作系统由CNC管理软件和CNC控制软件两部分组成。
主要完成系统中一些实时性要求较高的关键控制功能 主要为某个系统建立一个软件环境,以协调各软件模块之间的关系,并处理一些实时性不太强的软件功能
3. CNC装置硬件、软件的相互关系 CNC装置的系统软件在系统硬件的支持下,合理地组织、管理整个系统的各项工作,实现各种数控功能,使数控机床按照操作者的要求,有条不紊地进行加工。 CNC装置的硬件和软件构成了CNC装置的系统平台 硬件 操作系统 管理软件 应用软件 控制软件 数控加工程序 口 被控设备 机 床 机器人 测量机 ...... 接
该平台有以下两方面的含义: 1. 该平台提供CNC装置的必备功能; 2 该平台有以下两方面的含义: 1. 该平台提供CNC装置的必备功能; 2. 在该平台上可以根据用户的要求进行功能设计和开发。 CNC装置平台的构筑方式就是CNC装置的体系结构。体系结构为系统的分析、设计和建造提供框架。
5.1.2 CNC装置的功能 1.控制功能 控制功能是指CNC装置能控制的轴数以及能同时控制(即联动)的轴数。控制轴包括:移动轴和回转轴;基本轴和附加轴。一般数控机床至少需要两轴控制、两轴联动,在具有多刀架的机床上则需要两轴以上的控制轴。数控镗床、铣床、加工中心等需要三轴或三轴以上的联动控制轴。控制轴数越多,特别是联动控制轴数越多,其功能也越强,同时CNC装置就越复杂,编程也就越困难。
2.准备功能 准备功能亦称G代码功能,其作用是指令机床的动作方式。包括的指令有:基本移动、程序暂停、平面选择、坐标设定、刀具补偿、基准点返回、米英制转换、子程序调用等 3.固定循环功能 在数控加工过程中,有些加工工序,如钻孔、攻螺纹、镗孔、深孔钻削和切螺纹等,所需完成的动作循环十分典型,而且多次重复进行,数控装置事先将这些典型的固定循环用G代码进行定义,在加工时可直接使用这类G代码完成这些典型的动作循环,可大大简化编程工作。 4. 插补功能 所谓插补功能是数控系统实现零件轮廓(平面或空间)加工的轨迹运算功能。一般CNC装置仅具有直线和圆弧插补,而现在较为高档的数控装置还备有抛物线、椭圆、极坐标、正弦线、螺旋线以及样条曲线插补等功能。
5. 进给功能 进给功能是指数控系统对进给速度的控制功能,用F代码直接指令各轴的进给速度。 (1)切削进给速度:刀具相对工件的运动速度,一般进给量为1mm/min~24m/min。在选用系统时,该指标应该和坐标轴移动的分辨率结合起来考虑,如24m/min的速度是在分辨率为1μm时达到的。 (2)同步进给速度:进给轴每转的进给量,单位为mm/r。只有主轴上装有位置编码器的机床才能指令同步进给速度。 (3)进给倍率(进给修调率):人工实时修调进给速度。即通过面板的倍率波段开关,在0~200%之间对预先设定的进给速度实现实时调整。使用倍率开关不用修改程序就可以改变进给速度。
6. 主轴功能 是指数控装置对主轴的控制功能,主要有以下几种: (1)切削速度控制:即对主轴转速控制的功能,单位为r/min; (2)恒线速度控制:刀具切削点的切削速度为恒速的控制功能。如端面车削的恒速控制; (3)主轴定向控制:指主轴在径向(周向)的某一位置准确停止的控制功能,常用于换刀。 (4)切削倍率(主轴修调率):实现人工实时修调切削速度的功能。即通过面板的倍率波段开关,在0~200%之间对预先设定的主轴速度实现实时修调。
7. 辅助功能 即M指令功能,用于指令机床辅助操作的功能,如规定主轴的起、停、转向、冷却泵的接通和断开、刀库的起、停等。 8. 刀具管理功能 即实现对刀具几何尺寸和刀具寿命、刀具号管理的功能。加工中心都应具有此功能,刀具几何尺寸是指刀具的半径和长度,这些参数供刀具补偿功能使用;刀具寿命一般是指时间寿命,当某刀具的时间寿命到期时,CNC系统将提示用户更换刀具;另外,CNC装置都具有T功能,即刀具号管理功能,它用于标识刀库中的刀具和自动选择加工刀具。
9. 补偿功能 (1)刀具半径和长度补偿功能:该功能按零件轮廓编制的程序去控制刀具中心的轨迹,以及在刀具磨损或更换时(刀具半径和长度变化),可对刀具半径或长度作相应的补偿。该功能由G指令实现。 (2)传动链误差补偿功能:包括螺距误差补偿和反向间隙误差补偿功能,即事先测量出螺距误差和反向间隙,并按要求输入到CNC装置相应的储存单元内。在坐标轴正向运行时,对螺距误差进行补偿;在坐标轴反向运行时对反向间隙进行补偿。 (3)智能补偿功能:对诸如机床几何误差造成的综合加工误差、热变形引起的误差、静态弹性变形误差以及由刀具磨损所带来的加工误差等,都可采用现代先进的人工智能、专家系统等技术建立模型,利用模型实施在线智能补偿,这是数控技术正在发展的技术。
10. 人机对话功能 在CNC装置中配有单色或彩色CRT,通过软件可实现字符和图形的显示,以方便用户的操作和使用。在CNC装置中这类功能有:菜单结构的操作界面;零件加工程序的编辑环境;系统和机床参数、状态、故障的显示、查询或修改画面等。 11. 自诊断功能 一般的CNC装置或多或少都具有自诊断功能,尤其是现代的CNC装置,这些自诊断功能主要是用软件来实现的。具有此功能的CNC装置可以在故障出现后迅速查明故障的类型及部位,便于及时排除故障,减少故障停机时间。 通常不同的CNC装置所设置的诊断程序不同,可以包含在系统程序之中,在系统运行过程中进行自检,也可以作为服务程序,在系统运行前或故障停机后进行诊断,查找故障的部位,有的CNC装置可以进行远程通信诊断。
12. 通信功能 即CNC装置与外界进行信息和数据交换的功能。通常CNC装置都具有RS232C接口,可与上级计算机进行通信,传送零件加工程序,有的还备有DNC接口,以实现直接数控,更高档的系统还可与MAP(制造自动化协议)相连,以适应FMS、CIMS、IMS等大型制造系统的要求。 总之,CNC装置的功能多种多样,而且随着技术的发展,功能越来越丰富。其中的控制功能、插补功能、准备功能、主轴功能、进给功能、刀具功能、辅助功能、自诊断功能、人机对话功能等属于基本功能,而补偿功能、固定循环功能、通信功能等则属于选择功能。
5.2 CNC装置的硬件结构 CNC装置的硬件结构一般分为单(微处理)机结构和多(微处理)机结构。 5.2.1 单机或主从结构模块的功能 单机结构 单(微处理)机结构是指整个CNC装置只有一个CPU,它集中控制和管理整个系统资源,通过分时处理的方式来实现各种数控功能。其优点在于投资小,结构简单,易于实现。但系统功能受到CPU字长、数据宽度、寻址能力和运算速度等因素的限制。现在这种结构已被多(微处理)机系统的主从结构所取代。
主从结构 主从结构系统是指整个CNC装置中有两个或两个以上的CPU,但在该系统中只有一个CPU(通常称为主CPU)对系统的资源(系统存储器,系统总线)有控制和使用权,而其它带有CPU的功能部件(通常称之为从CPU),则无权控制和使用系统资源,它只能接受主CPU的控制命令或数据,或向主CPU发出请求信息以获得所需的数据。只有一个CPU处于主导地位,其他CPU处于从属地位的结构,因而称之为主从结构。 从硬件的体系结构来看,单机结构与主从结构极其相似,因为主从结构的从CPU模块与单机结构中相应模块在功能上是等价的,只是从模块的能力更强而已。
1.计算机主板和系统总线(母板) (1) 计算机主板 它是CNC装置的核心,目前CNC装置普遍采用了基于PC机的系统体系结构,即CNC装置的计算机系统在功能上完全与标准的PC机一样,各硬件模块也均与PC机总线标准兼容。但CNC装置的计算机系统与普通的商用PC机在结构上略有不同,从系统的可靠性出发,它的主板与系统总线(母板)是分离的,即系统总线是一单独的无源母板,主板则做成插卡形式,集成度更高,即所谓的ALL-IN-ONE主板。各功能模块的组成原理与普通微型计算机的原理一样。 计算机主板的主要作用是对输入到CNC装置中的各种数据、信息(零件加工程序、各种I/O信息等)进行相应的算术和逻辑运算,并根据其处理结果,向其他功能模块发出控制指令,传输数据,使用户的指令得以执行。
(2)系统总线(母板) 它是由一组传送数字信息的物理导线组成的,是计算机系统内部(CNC装置内部)进行数据或信息交换的通道,从功能上,它可分为三组: ① 数据总线:它是模块间数据交换的通道,线的根数与数据宽度相等,它是双向总线; ② 地址总线:它是传送数据存放地址的总线,与数据总线结合,可以确定数据总线上数据的来源或目的地,它是单向总线。 ③ 控制总线:它是一组传送管理或控制信号的总线(如数据的读、写、控制、中断、复位、I/O读写及各种确认信号等),它是单向总线。
2.显示模块(显示卡) 在CNC装置中,CRT显示是一个非常重要的功能,它是人机交流的重要媒介,它给用户提供了一个直观的操作环境,可使用户能快速地熟悉适应其操作过程。 显示卡的主要作用是:接收来自CPU的控制命令和显示用的数据,经与CRT的扫描信号调制后,产生CRT显示器所需要的画面。
3.输入/输出模块(多功能卡) 该模块也是标准的PC机模块,一般不需要用户自己开发。它是CNC装置与外界进行数据和信息交换的接口板,即CNC装置中的CPU通过该接口可以从外部输入设备获取数据,也可以将CNC装置中的数据输送给外部设备。 一般输入/输出设备有:纸带阅读机、磁盘驱动器、录音机、磁带机、打印机、纸带穿孔机等。
4.电子盘(存储模块) 在计算机领域所用的存储器有三类: (1)磁性存储器:如软磁盘、硬磁盘,它们都是可随机读写的; (2)光存储器:如光盘; (3)半导体存储器件,又称电子存储器件:如RAM、ROM、FLASH等。 若按其读写性能来分,它又可分为三类: (1)只读存储元件(ROM,PROM和EPROM):其特点是只能读出其存放的数据,而不能随时修改它们。它用于固化调试通过了的软件和系统固有的参数。 (2)易失性随机读写存储元件(RAM):其特点是可以随时对其进行读写操作,一旦掉电其信息将会全部丢失。。 (3)非易失性读写存储元件:其特点是可以随时对其进行读写操作,即使掉电信息也不会丢失。
5.设备辅助控制接口模块 CNC装置对设备的控制分为两类:一类是对各坐标轴的速度和位置控制的“轨迹控制”;另一类是对设备动作控制的“顺序控制”。对数控机床而言,“顺序控制”是指在数控机床运行过程中,以CNC内部和机床各行程开关、传感器、按钮、继电器等开关量信号状态为条件,并按预先规定的逻辑顺序对诸如主轴的起停、换向,刀具的更换,工件的夹紧、松开,液压、冷却、润滑系统的运行等进行控制。 在CNC装置中实现顺序控制的模块是设备辅助控制接口模块。设备辅助控制接口模块主要接收来自操作面板、机床上的各行程开关、传感器、按钮、强电柜里的继电器以及主轴控制、刀库控制的有关信号,经处理后输出去控制相应器件的运行。
通过对以上信号进行分析可知,CNC装置与被控设备之间要交换的信息有三类:开关量信号、模拟量信号和脉冲量信号。然而上述信号一般不能直接与CNC装置相联,需要一个接口(即设备辅助控制接口)对这些信号进行变换处理,其主要作用是:
(1)对上述信号进行相应的转换,以满足CNC装置输入输出的要求。输入时,必须将被控设备有关的状态信息转换成数字形式,以满足计算机对输入输出信号的要求;输出时,应满足各种有关执行元件的输入要求。信号转换主要包括电平转换、数字量与模拟量的相互转换、数字量与脉冲量的相互转换以及功率匹配等。 (2) 阻断外部的干扰信号进入计算机,在电气上将CNC装置与外部信号进行隔离,以提高CNC装置运行的可靠性. 由此可知,设备辅助控制接口的功能必须能完成上述两个任务:即电平的转换和功率放大、电气隔离。
目前,设备辅助控制接口的实现方式有以下几种: (1) 简单I/0接口板,如图所示,在该接口电路中,光电隔离器件起电气隔离和电平转换作用;调理电路对输人信号进行整形、滤波等处理。而信号间的互锁、联锁、延时控制,则由后续的继电器逻辑来实现,其柔性较差,体积庞大。
(2)PLC(Programable Logic Controller)控制 这种控制是目前CNC装置用得最广泛的方式。 PLC一般分为两类: 一类是CNC系统的生产厂家为实现数控机床的顺序控制,而将CNC和PLC综合起来设计,称为内装型PLC(Built-in Type) (或称集成式、内含式); 另一类是在输入/输出接口技术规范、输入/输出点数、程序存储容量以及运算和控制功能上均能满足数控机床控制要求的独立型PLC(Stand-alone Type)。
环行分配器的功能是将指令脉冲,按步进电机要求的通电方式(如四相八拍、五相十拍等)进行分配,使之按规定的方式通电和断电,从而控制步进电机旋转。 数字/脉冲变换的功能是将CPU送来的进给指令(数字量)变换成相应频率(与进给速度相适应)的指令脉冲量 6.位置控制模块 脉冲整形的功能是调整输出脉冲的占空比,提高脉冲波形的质量 步进电机控制接口的原理框图 A . 系统总线 数字接口 数字/脉冲变换 脉冲整形 环形分配 功率放大 …... B E 光电隔离
(2)闭环位置控制模块 闭环控制系统所使用的驱动电机通常是直流伺服电机、交流伺服电机,位置控制模块的结构要比开环的复杂
7.功能接口模块 该模块是实现用户特定功能要求的接口板,所有增加的功能,必须在CNC装置中增加相应的接口板才能实现。
5.2.2 多主结构的CNC装置硬件 多主结构 该结构是指整个CNC装置中有两个或两个以上的CPU,也就是系统中的某些功能模块自身也带有CPU,并且在系统中有两个或两个以上带CPU的功能部件对系统资源有控制或使用权。功能部件之间采用紧耦合(即均挂在系统总线上,集中在一个机箱内),有集中的操作系统,通过总线仲裁器(由软件和硬件组成)来解决总线争用问题,通过公共存储器来进行信息交换。
多主CNC装置的结构形式(模块化结构) CRT/MDI 通讯模块 (CPU) 自动编程模块 主存储器模块 CNC插补模块 PLC功能模块 操作面板,图形 显示模块(CPU) CRT/MDI 通讯模块 (CPU) 自动编程模块 主存储器模块 CNC插补模块 PLC功能模块 位置控制模块 主轴控制模块 I/O单元 伺服放大器 及电动机 主轴放大器
2. 多主结构CNC装置的典型结构 多主结构的CNC装置通常采用共享总线和共享存储器两种典型结构实现模块间的互连与通信。
(1)共享总线结构 这种结构以系统总线为中心,把CNC装置内各功能模块划分成带有CPU或DMA器件(直接数据存取控制器)的各种主模块和不带CPU或DMA器件的从模块(RAM/ROM、I/O模块)两大类。所有的主、从模块都插在配有总线插座的机柜内,共享标准系统总线。 局部存储器 局部I/O 局部总线 CPU1 总线仲裁 全局存储器 全局I/O 系统总线 CPU2 CPU3
共享总线结构具有结构简单、系统组配灵活、成本相对较低、可靠性高等优点。其缺点是:由于总线是系统的“瓶颈”,一旦系统总线出现故障,将使整个系统受到影响;而且由于使用总线要经总裁,使信息传输效率降低。 局部存储器 局部I/O 局部总线 CPU1 总线仲裁 全局存储器 全局I/O 系统总线 CPU2 CPU3
(2)共享存储器结构 这种结构是面向公共存储器来设计的,即采用多端口存储器来实现各主模块之间的互连和通信,每个端口都配有一套数据、地址、控制线,以供端口访问,由专门的多端口控制逻辑电路解决访问之间的冲突。
26k零件程序 16k插补控制程序 16k控制程序 56k系统程序 2k CRTC
5.3 CNC装置的软件结构 5.3.1 CNC装置软件和硬件的功能界面
如前所述,CNC装置是由软件和硬件组成的,硬件为软件的运行提供支持环境。在信息处理方面,软件与硬件在逻辑上是等价的,即硬件能完成的功能从理论上讲也可以用软件来完成。但是,硬件和软件在实现这些功能时各有不同的特点:硬件处理速度快,但灵活性差,实现复杂控制的功能困难;软件设计灵活,适应性强,但处理速度相对较慢。因此,哪些功能应由硬件来实现,哪些功能应由软件实现,即如何合理确定软件硬件的功能分担是CNC装置结构设计的重要任务。这就是所谓的软件和硬件的功能界面划分的概念。通常功能界面划分的准则是系统的性能价格比
这四种功能界面是CNC装置在不同时期不同产品的划分。其中后面两种是现在的CNC系统常用的两种方案。由图可知,划分方案从Ⅰ至Ⅳ,软件所承担的任务越来越多,硬件承担的任务越来越少。这主要是由于计算机技术在数控领域的广泛应用,并且随着计算机技术的发展,计算机的运算处理能力不断增强,使软件的运行效率大大提高,这就为用软件实现数控功能提供了技术上的支持;另一方面,随着数控技术的发展,人们对数控功能的要求也越来越高,若用硬件来实现这些功能不仅结构复杂,而且柔性差,有时甚至不可能,而用软件实现则具有较大的灵活性。因而用相对较少且标准化程度高的硬件,配以功能丰富的软件模块构成CNC系统是当今数控技术发展的趋势。
5.3.2 CNC装置的软件系统特点 CNC系统是一个专用的实时多任务系统,其中的CNC装置通常作为一个独立的过程控制单元用于控制各种对象,它的系统软件必须完成管理和控制两大任务。多任务并行处理和多重实时中断是CNC装置软件结构的两大特点。
一、多任务并行处理 1. CNC装置的多任务性 例如,机床进行切削加工时,为了使操作人员能及时地了解CNC系统的工作状态,管理软件中的显示模块必须与控制软件同时运行;当在插补加工运行时,管理软件中的零件程序输入模块必须与控制软件同时运行;当控制软件运行时,其本身的一些处理模块也必须同时运行;如为了保证加工过程的连续性,即刀具在各程序段之间不停刀,译码、刀具补偿和速度处理模块必须与插补模块同时运行,而插补又必须与位置控制同时进行。
2. 多任务并行处理 并行处理是指软件系统在同一时刻或同一时间间隔内完成两个或两个以上任务处理的方法。采用并行处理技术的目的是为了提高CNC系统的资源的利用率和系统的处理速度。 并行处理的实现方式和CNC装置的硬件结构密切相关。在CNC装置中常采用的并行处理的方法有:
(1)资源分时共享并行处理:对单CPU装置,采用“分时”来实现多任务的并行处理,其方法是:在一定的时间长度(通常称为时间片)内,根据系统各任务的实时性要求程度,规定它们占用CPU的时间,使它们按规定顺序和规则分时共享系统的资源。因此,在采用“资源分时共享”并行处理技术的CNC装置中,首先要解决各任务占用CPU(资源)时间的分配原则。该原则解决如下两个问题:其一是各任务何时占用CPU,即任务的优先级分配问题。其二是各任务占用CPU的时间长度,即时间片的分配问题。一般地,在单CPU的CNC装置中,通常采用循环调度和优先抢占调度相结合的方法来解决上述问题的。图5-13 为CNC装置多任务分时共享CPU时间分配图。
假定某CNC装置软件将其功能仅分为三个任务:位置控制、插补运算和背景程序。这三个任务的优先级从上到下逐步下降,即位置控制优先级最高,插补运算其次,背景程序(主要包括实时性要求相对不高的一些子任务)相对最低。系统规定:位置控制任务每4ms执行一次,插补运算8ms执行一次,则两个任务都由定时中断激活。当位置控制和插补运算都不执行时便执行背景程序,正因为如此才称其为“背景”程序。系统的运作是:在完成初始化后,自动进入背景程序,在背景程序中采用循环调度的方式,轮流反复地执行各个子任务。优先级高的任务(如位置控制或插补运算任务)可以随时中断背景程序的运行。同样位置控制也可中断插补运算的运行,因为在这里位置控制任务的优先级最高。
0ms 4ms 8ms 12ms 16ms 位置控制 插补运算 背景程序
各个任务在运行中占用CPU时间如图(b)所示。在图中,粗实线表示任务对CPU的中断请求;两粗实线之间的长度表示该任务的执行周期;不同颜色深度的阴影部分表示各个任务占用CPU的时间长度。由图可以看出: 1.在任何一个时刻只有一个任务占用CPU; 2.从一个时间片(如8ms或16ms)来看,CPU并行地执行了三个任务。 因此,资源分时共享的并行处理只具有宏观上的意义,即从微观上来看,各个任务还是顺序执行的。
(2)并发处理和流水处理:在多CPU结构的CNC装置中,根据各个任务之间的关联程度,可采用以下两种策略来提高系统处理速度。 ① 如果任务之间的关联程度不高,则可将这些任务分别安排一个CPU,让其同时执行,即所谓的“并发处理”; ② 如果各个任务之间的关联程度较高,即一个任务的输出是另一个任务的输入,则可采取流水处理的方法来实现并行处理。 流水处理技术是利用重复的资源(CPU),将一个大的任务分成若干个子任务(任务的分法与资源重复的多少有关),这些子任务是彼此关联的,然后按一定的顺序安排每个资源执行一个任务,就像在一条生产线上分不同工序加工零件的流水作业一样。
当CNC系统处在NC工作方式时,其数据的转换过程将由零件程序输入、插补准备(包括译码、刀具补偿和速度处理)、插补运算和位置控制四个子过程组成。如果每个子过程的处理时间分别为Δt1、Δt2、Δt3、Δt4,那么一个程序段的数据转换时间t1=Δt1+Δt2+Δt3+Δt4。如果以顺序方式处理每个零件程序段,即第一个程序段处理完以后再处理第二个程序段,依此类推,这种顺序处理时的时间—空间关系如图所示。从图中可以看出,如果等待第一个程序段处理完之后才开始对第二个程序段进行处理,那么在两个程序段的输出之间将有一个时间长度为t1的间隔。同样,在第二个程序段与第三个程序段的输出之间也会有时间间隔,依此类推。
而对于重叠的执行方式,是指当现行程序段尚未执行完毕,就去取后续指令。因为在取出第N1条指令执行时,存储器已经空闲,可以提前去取第N2条指令。这样,第N1条指令的执行周期便与第N2条指令的取指周期重叠,使其相应的操作并行执行。指令重叠执行方式的时间—空间关系如图所示。从图中可以看出两个程序段之间有一个时间间隔为t2=Δt1+Δt2 +Δt3的时间间隔。以上两种指令执行方式反映在电动机上就是电动机的时转时停,反映在刀具上就是刀具的时走时停,这都是加工工艺所不允许的。消除这种现象的办法就是使用流水处理技术。
流水执行方式是重叠执行方式的引申,它仍基于并行重叠工作原理,但重叠程度进一步提高。它是将一条指令的执行过程分解为多个子过程(程序输入、插补准备、插补运算、位置控制),每个子过程由独立的功能部件完成,从而构成一条流水线。指令流水执行方式的时间—空间关系如图。指令序列1、2、3、4相继进入流水线,当第N1条指令的指令序列1从程序输入站流出进入插补准备站时,第N2条指令的指令序列1立即进入程序输入站……经过流水处理后,虽然一条指令的执行速度并没有提高,但提高了指令序列的执行速度。亦即从时间Δt4开始,每个程序段的输出之间不再有间隔,从而保证了电动机和刀具工作的连续性。
二、实时性和优先抢占调度机制 实时性是指某个任务的执行有严格的时间要求,即必须在系统的规定时间内完成,否则将导致执行结果错误和系统故障。 1 二、实时性和优先抢占调度机制 实时性是指某个任务的执行有严格的时间要求,即必须在系统的规定时间内完成,否则将导致执行结果错误和系统故障。 1. 实时性任务的分类 CNC装置是一个专用的实时计算机系统。该系统的各个任务或强或弱都具有实时性要求。从各个任务对实时性要求的角度来看,它们基本上可分为强实时性任务和弱实时性任务,强实时性任务又可分为实时突发性任务和实时周期性任务。
(1)实时突发性任务:是指任务的发生具有随机性和突发性,是一种异步中断事件,有很强的实时性要求,主要包括故障中断(急停,机械限位,硬件故障等)、机床PLC中断、硬件(按键)操作中断等。 (2)实时周期性任务:是指任务精确地按一定时间间隔发生,包括插补运算、位置控制等任务;这类任务处理的实时性是保证加工精度和加工过程的连续性关键,在任务的执行过程中,除系统故障外,不允许被其它任何任务中断。 (3)弱实时性任务:这类任务的实时性要求相对较弱,它们只需要保证在某一段时间内得以运行即可。这类任务在系统设计时,或被安排在背景程序中,或根据它们的重要性将其设置成不同的优先级(级别较低),再由系统调度程序对它们进行合理的调度。这类任务主要包括:CRT显示、零件程序的编辑、加工状态的动态显示、加工轨迹的静态模拟仿真及动态显示等。
2. 优先抢占调度机制 为了满足CNC装置实时任务的要求,系统的调度机制必须具有能根据外界的实时信息以足够快的速度(在系统规定的时间内)进行任务调度的能力。优先抢占调度机制就是能满足上述要求的调度技术,它是一种基于实时中断技术的任务调度机制。众所周知,中断技术是计算机系统响应外部事件的一种处理技术,其特点是它能按任务的重要程度、轻重缓急对其及时响应,而CPU也不必为其开销过多的时间。 优先抢占调度机制的功能有两个:其一是优先调度,在CPU空闲时,当同时有多个任务请求执行时,优先级高的任务将优先得以满足,例如,当位置控制、插补运算两个任务同时请求执行时,则位置控制的要求将首先得到满足;其二是抢占方式,在CPU正在执行某个任务时,若另一优先级更高的任务请求执行,CPU将立即终止正在执行的任务,转而响应优先级高的任务的请求。例如,当CPU正在执行插补程序时,若此时位置控制任务请求执行,CPU首先将正在执行任务的现场保护起来(断点保护),然后转入位置控制任务的执行,执行完毕后再恢复到中断前的断点处,继续执行插补任务。
5.3.3 CNC装置软件结构模式 所谓结构模式是指系统软件的组织管理方式,即系统任务的划分方式、任务调度机制、任务间的信息交换机制以及系统集成方法等。结构模式要解决的问题是如何组织和协调各个任务的执行,使之满足一定的时序配合要求和逻辑关系,以满足CNC装置的各种控制要求。 1. 前后台型结构模式 该模式将CNC系统软件划分成前台程序和后台程序两部分;前台程序主要完成插补运算、位置控制、故障处理等实时性很强的任务,它是一个实时中断服务程序。后台程序(又称背景程序)主要完成显示、零件加工程序的编辑管理、系统的输入/输出、插补预处理(译码、刀补处理、速度预处理)等弱实时性的任务,它是一个循环运行的程序。后台程序在运行过程中,不断地定时被前台实时中断程序打断;前后相互配合来完成零件的加工任务。其缺点是实时性较差。
这种结构采用的任务调度机制是优先抢占调度和顺序调度。前台程序的调度是优先抢占式的;前后和后台程序内部各子任务采用的是顺序调度。前台和后台程序之间以及内部各子任务之间的信息交换是通过缓冲区实现的。 这种结构在前台和后台程序内无优先级等级,也无抢占机制,因而,实时性差。例如,当系统出现故障时,有时可能要延迟整整一个循环周期(最坏的情况)才能做出反应。所以该结构仅适用于控制功能较简单的系统。 前台程序 插补运算 位置控制 故障处理 …… 后台程序 译码 刀补处理 速度预处理 输入输出 显示 中断执行 循环执行
图5-16 中断型软件系统结构图 初始化 中断管理系统(软件+硬件) 0级中断服务程序 1级中断服务程序 2级中断服务程序 n级中断服务程序 …… 2. 中断型结构模式 这种结构是将除了初始化程序之外,整个系统软件的各个任务模块分别安排在不同级别的中断服务程序中,然后由中断管理系统(由硬件和软件组成)对各级中断服务程序实施调度管理。整个软件就是一个大的中断管理系统。
该结构中任务的调度采用的是优先抢占调度。各级中断服务程序之间的信息交换是通过缓冲区进行的。 由于系统的中断级别较多(最多可达8级),可将强实时性任务安排在优先级较高的中断服务程序中,因此这类系统的实时性好。但模块的关系复杂,耦合度大,不利于对系统的维护和扩充。20世纪80年代至90年代初的CNC系统大多采用的是这种结构。
3. 基于实时操作系统的结构模式 实时操作系统(PTOS)是操作系统的一个重要分支,它除了具有通用操作系统的功能外,还具有任务管理、多种实时任务调度机制(如优先级抢占调度、时间片轮转调度等)、任务间的通信机制(如邮箱、消息队列、信号灯等)等功能。由此可知,CNC装置软件完全可以在实时操作系统的基础上进行开发。 目前,采用该模式开发的方法有两种:① 在商品化的实时操作系统下开发CNC装置软件,国外有些著名厂家采用了这种方式;② 将通用PC机操作系统(DOS、WINDOWS)扩充扩展成实时操作系统,然后在此基础上开发CNC装置软件。目前国内有些生产厂家就是采用的这种方法。采用这种方法的优点在于DOS、WINDOWS是得到普遍应用的操作系统,扩充扩展相对较容易。