数控原理与编程
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2章 数控系统

2.1 数控系统的基本原理与结构

2.1.1 数控系统的主要功能

数控系统的功能是指它满足不同控制对象各种要求的能力,通常包括基本功能和选择功能。

1.基本功能

基本功能为数控系统基本配置的功能,即必备的功能,主要包含以下功能。

(1)控制功能

控制功能是指CNC装置控制各运动轴的功能,其功能的强弱取决于能控制和能同时控制(联动)的坐标轴数。CNC系统的坐标轴可以是移动轴(XYZ)、回转轴(ABC)、附加轴(UVW)。通过轴的联动可以完成轮廓轨迹的加工。一般数控车床只需二轴控制、二轴联动;一般数控铣床需要三轴控制、三轴联动或二轴半轴联动;一般加工中心为多轴控制。控制轴数越多,特别是联动控制的轴数越多,要求CNC系统的功能就越强,同时CNC系统也就越复杂,编制程序也越困难。

(2)准备功能(G功能)

准备功能是指令机床动作方式的功能,包括基本移动、平面选择、坐标设定、刀具补偿、固定循环等指令。一个CNC装置的准备功能丰富与否是其功能强弱的主要标志之一。

(3)插补功能

插补功能是数控系统实现零件轮廓(平面或空间)加工轨迹运算的功能。一般CNC系统仅具有直线和圆弧插补,而现在较为高档的数控系统还具有抛物线、椭圆、极坐标、正弦、螺旋线及样条曲线插补等功能。

(4)进给功能

进给功能就是数控机床进给速度的控制功能。数控系统的进给速度的控制功能主要有以下三种形式。

① 进给速度。控制刀具相对工件的运动速度,单位为mm/min(inch/min)。

② 同步进给速度。实现切削速度和进给速度的同步,单位为mm/r(inch/min)。

③ 进给倍率(进给修调率)。操作面板上设置了进给倍率开关,倍率可以从0~200%之间变化,每档间隔10%。使用倍率开关不用修改程序就可以改变进给速度,并可以在试切零件时随时改变进给速度或在发生意外时随时停止进给。

(5)主轴功能

主轴功能是指主轴切削速度、周向位置控制功能。数控系统的主轴功能主要有以下几种。

① 主轴转速。主轴转速的控制功能,单位:r/min。

② 恒线速度控制。刀具切削点的切削速度为恒速的控制功能,单位:m/min。该功能可以保证车床和磨床加工工件端面质量和不同直径的零件的加工具有相同的切削速度。

③ 主轴定向控制。该功能使主轴在圆周方向的某一位置准确停止,有自动换刀功能的机床必须选取有这一功能的CNC装置。

④ C轴控制。主轴周向任意位置控制的功能。

⑤ 主轴修调率。人工实时修调预先设定的主轴转速,功能与进给修调率相同。

(6)辅助功能(M功能)

辅助功能是用于指令机床辅助操作的功能。一般是开关量的控制,它用M指令代码表示。

(7)刀具管理功能

刀具管理功能是实现对刀具几何尺寸和刀具寿命的管理功能。加工中心都应具有此类功能,即:

① 刀具几何尺寸管理。管理刀具半径和长度,供刀具补偿功能使用。

② 刀具寿命管理。管理时间寿命,当刀具寿命到期时,CNC系统将提示更换刀具。

③ 刀具类型管理。用于标识刀库中的刀具和自动选择加工刀具。

(8)字符图形显示功能

CNC系统配置有显示器,通过软件和硬件接口实现字符和图形的显示。通常可以显示程序、参数、各种补偿量、坐标位置、故障信息、人机对话编程菜单、零件图形及刀具实际移动轨迹的坐标等。

(9)自诊断功能

自诊断功能是指CNC自动实现故障预报和故障定位的功能。一般的CNC系统或多或少都具有自诊断功能,尤其是现代的CNC系统,这些自诊断功能主要用软件来实现。具有此功能的CNC系统,可以在故障出现后迅速查明故障的类型及部位,便于及时排除故障,减少故障停机时间。

通常不同的CNC装置所设置的诊断程序不同,可以包含在系统程序之中,在系统运行过程中进行检查,也可以作为服务性程序,在系统运行前或故障停机后进行诊断,查找故障的部位,有的CNC装置可以进行远程通信诊断。

2.选择功能

(1)补偿功能

① 刀具半径和长度补偿功能。实现按零件轮廓编制的程序控制刀具中心轨迹的功能,以及刀具磨损或更换时(刀具半径变化),可对刀具半径或长度作相应的补偿。该功能由G指令实现。

② 传动链误差。包括螺距误差补偿和反向间隙误差补偿功能。即事先测量出螺距误差和反向间隙,并按要求输入到CNC装置相应的储存单元内,在坐标轴运行时,对螺距误差进行补偿;在坐标轴反向时,对反向间隙进行补偿。

③ 非线性误差补偿功能。对诸如热变形、静态弹性变形、空间误差,以及由刀具磨损所引起的加工误差等,采用AI、专家系统等新技术进行建模,利用模型实施在线补偿。

(2)固定循环功能

所谓固定循环功能是指数控系统实现典型加工循环的功能。在数控加工过程中,有些加工工序,如钻孔、攻丝、镗孔、深孔钻削和切螺纹等,所需完成的动作循环十分典型,数控系统事先将这些典型的固定循环用G代码进行定义,在加工时使用这类G代码,可大大简化编程工作量。

(3)通信功能

通信功能是指CNC与外界进行信息和数据交换的功能。通常CNC系统都是具有RS232C等串行接口,可与外部计算机进行通信,传送零件加工程序,有的还备有DNC接口,以利于实现直接数控,更高档的系统还可与MAP(制造自动化协议)相连,以适应FMS、CIMS等大制造系统集成的要求。现在一般新生产的数控系统多支持基于TCP/IP协议的通用网卡。

(4)人机交互图形编程功能

为了进一步提高数控机床的编程效率,对于NC程序的编制,特别是较为复杂零件的NC程序都要通过计算机辅助编程,尤其是利用图形进行自动编程,以提高编程效率。因此,对于现代CNC系统一般要求具有人机交互图形编程功能。有这种功能的CNC系统可以根据零件图直接编制程序,即编程人员只需送入图样上简单表示的几何尺寸就能自动地计算出全部交点、切点和圆心坐标,生成加工程序。有的CNC系统可根据引导图和显示说明进行对话式编程,并具有自动工序选择、刀具和切削条件的自动选择等智能功能。

2.1.2 CNC装置的硬件体系结构

CNC装置从它的硬件组成结构来看,若按其中含有CPU的多少来分,可分为单机系统和多机系统。

1.单机系统

如图2-1所示,整个CNC装置只有一个CPU,它集中控制和管理整个系统资源,通过分时处理的方式来实现各种NC功能。CPU通过总线与存储、输入/输出控制等各种接口相连,构成CNC系统。

其优点是投资小、结构简单、易于实现;缺点是系统功能受到CPU字长、数据宽度、寻址能力和运算速度等因素的限制,不易进行功能的扩展和提高,处理速度低、数控功能差。现在这种结构已被多机系统的主从结构所取代。

图2-1 单CPU结构的CNC装置硬件框图

2.多机系统

多CPU结构的CNC装置中有两个或两个以上CPU构成处理部件,有集中的操作系统,资源共享。系统中的某些功能模块自身也带有CPU。

多机系统的特点如下。

① 运算速度快,性价比高;

② 适应性强,扩展容易;

③ 可靠性高;

④ 硬件易于规模生产。

根据部件间的相互关系多机系统的结构又分为以下几种。

(1)主从结构

在该系统中只有一个CPU(通常称为主CPU)对系统的资源(存储器,系统总线等)有控制和使用权,而其他带有CPU的功能部件(通常称之为智能部件),则无权控制和使用系统资源,它只能接受主CPU的控制命令或数据,或向主CPU发出请求信息以获得所需的数据。像这种只有一个CPU处于主导地位,其他CPU处于从属地位的结构,称之为主从结构,如图2-2所示。

图2-2 主从式多机系统结构

(2)多主结构

系统中有两个或两个以上带CPU的模块部件对系统资源有控制或使用权。模块之间采用紧耦合,有集中的操作系统,通过仲裁器来解决总线争用问题,通过公共存储器进行交换信息。

(3)分布式结构

系统有两个或两个以上带CPU的功能模块,各模块有自己独立的运行环境,模块间采用松耦合,且采用通信方式交换信息。

2.1.3 CNC系统软件结构

CNC系统软件是一个典型而又复杂的实时系统,它的许多控制任务,如零件程序的输入与译码、刀具半径的补偿、插补运算、位置控制,以及精度补偿等都是由软件实现的。从逻辑上讲,这些任务可看成一个个功能模块,模块之间存在着耦合关系;从时间上来讲,各功能模块之间存在一个时序配合问题。在设计CNC系统软件时,如何组织和协调这些功能模块,使之满足一定的时序及逻辑关系,就是CNC系统软件结构要考虑的问题。

1.CNC装置软件和硬件的功能界面

CNC装置是由软件和硬件组成的,硬件为软件的运行提供支持环境。在信息处理方面,软件与硬件在逻辑上是等价的,即硬件能完成的功能从理论上讲也可以用软件来完成,但是,硬件和软件在实现这种功能时各有不同的特点。硬件处理速度快,但灵活性差,实现复杂控制的功能困难;软件设计灵活,适应性强,但处理速度相对较慢。

因此,哪些功能应由硬件来实现,哪些功能应由软件实现,即如何合理确定软件硬件的功能分担是CNC装置结构设计的重要任务。这就是所谓的软件和硬件的功能界面划分的概念。通常功能界面划分的准则是系统的性能价格比。图2-3是数控系统功能界面的几种划分方法。

图2-3 软件和硬件的功能界面

上面四种功能界面是CNC装置在不同时期不同产品的划分,其中后面两种是现在的CNC系统常用的两种方案。由图可知,划分方案从Ⅰ至Ⅳ,软件所承担的功能越来越多,硬件承担的功能越来越少。这主要是因为计算机技术在数控领域的广泛应用,并且随着计算机技术的发展,计算机的运算处理能力不断增强,使软件的运行效率大大提高,这就为用软件实现数控功能提供了技术上的支持;另一方面,随着数控技术的发展,人们对数控功能的要求也越来越高,若用硬件来实现这些功能不仅结构复杂,而且柔性差,有时甚至不可能,而用软件实现则具有较大的灵活性。因而用相对较少且标准化程度高的硬件,配以功能丰富的软件模块构成CNC系统是当今数控技术发展的趋势。

2.CNC装置的软件系统特点

CNC系统是典型的实时控制系统。CNC装置的系统软件则可看成是一个专用实时操作系统,其应用领域是工业控制领域(多任务性、实时性)。

(1)多任务并行处理

所谓任务就是可并发执行的程序在一个数据集合上的运行过程。并行处理是指系统在同一时间间隔或同一时刻内完成两个或两个以上任务处理的方法。

CNC的功能可定义为CNC的任务。CNC装置的系统软件必须完成管理和控制两项任务。管理任务主要承担系统资源管理和系统各子任务的调度,负责系统的程序管理、显示、诊断等子任务;控制任务主要完成CNC的基本功能:译码、刀具补偿、速度预处理、插补运算、位置控制等任务。CNC系统在工作中这些任务不是顺序执行的,而需要多个任务并行处理。

① 当机床正在加工时(执行控制任务),显示器要实时显示加工状态(管理任务)。控制任务与管理任务的并行。

② 当加工程序送入系统(输入)时,显示器实时显示输入内容(显示)。管理任务之间的并行。

③ 为了保证加工的连续性,译码、刀具补偿、速度预处理、插补运算、位置控制必须同时不间断的执行,控制任务之间的并行。

(2)实时中断处理

实时性是指某任务的执行有严格的时间要求,即必须在系统的规定时间内完成,否则将导致执行结果错误和系统故障。

实时性任务从各任务对实时性要求的角度看,基本上可分为强实时性任务和弱实时性任务。

1)强实时性任务

① 实时突发性任务。任务的发生具有随机性和突发性,是一种异步中断事件,往往有很强的实时性要求,如故障中断(急停、机械限位、硬件故障等)、机床PLC中断等。

② 实时周期性任务。任务是精确地按一定的事件间隔发生的,如插补运算、位置控制等。为保证加工精度和加工过程的连续性,这类任务处理的实时性是关键。在执行任务的过程中,除系统故障外,不允许被其他任何任务中断。

2)弱实时性任务

任务的实时性相对较弱,只需要在某一段时间内得以运行即可。在系统设计时,它们或被安排在背景程序中,或根据重要性设置为级别较低的优先级,由调度程序进行合理的调度,如CRT显示、加工程序编辑、插补预处理、加工状态的动态显示,加工轨迹的静态模拟仿真及动态显示等。

中断技术是计算机响应外部事件的一种处理技术,特点是能按任务的重要程度和轻重缓急对其进行响应,而CPU也不必为其开销过多的时间。

为了满足CNC装置实时任务的要求,软件系统采用基于实时中断技术的任务调度机制,根据外界的实时信息以足够快的速度进行任务调度,即在CPU空闲时,若同时有多个任务请求执行,优先级别高的任务将优先执行;在CPU正在执行某任务时,若另一优先级更高的任务请求执行,CPU将立即终止正在执行的任务,转而响应优先级别更高的任务的请求。

3.CNC系统软件结构模式

软件结构模式是指系统软件的组织管理方式。即系统任务的划分方式、任务调度机制、任务间的信息交换机制以及系统集成方法等。结构模式的功能是组织和协调各个任务的执行,使之满足一定的时序配合要求和逻辑关系,以满足CNC系统的各种控制要求。目前,CNC系统软件的结构模式有如下几种。

(1)前后台型结构模式

这种模式将CNC系统软件划分成两部分:前台程序和后台程序。

前台程序完成强实时性任务,包括:插补运算、位置控制、故障诊断等任务,它是一个实时中断服务程序,采用优先抢占调度机制。

后台程序(也称背景程序)完成弱实时性任务,包括显示、加工程序的编辑和管理、系统的输入和输出、插补预处理(译码、刀补处理、速度预处理)等。它是一个循环运行的程序,采用顺序调度机制。

前台和后台程序之间以及内部各子任务之间的信息交换是通过缓冲区实现的,如图2-4所示为前后台程序运行关系图。

前后台型结构模式的特点是实时性差,例如当系统出现故障时,有时可能要延迟整整一个循环周期(最坏的情况)才能做出反应。早期的CNC系统大都采用这种结构,仅适用于控制功能较简单的系统。

(2)中断型结构模式

这种结构是将除了初始化程序之外,整个系统软件的各个任务模块分别安排在不同级别的中断服务程序中,然后由中断管理系统(由硬件和软件组成)对各级中断服务程序实施调度管理,其管理的功能主要通过各级中断程序之间的相互通信来解决。整个软件就是一个大的中断管理系统。该模式的软件结构如图2-5所示。

图2-4 前后台程序运行关系图

图2-5 中断型软件系统结构图

一般在中断型结构模式的CNC软件体系中,控制CRT显示的模块为低级中断(0级中断),只要系统中没有其他中断级别请求,总是执行0级中断,即系统进行CRT显示。其他程序模块,如译码处理、刀具中心轨迹计算、键盘控制、I/O信号处理、插补运算、终点判别、伺服系统位置控制等,分别具有不同的中断优先级别。开机后,系统程序首先进入初始化程序,进行初始化状态的设置、ROM检查等工作。初始化后,系统转入0级中断CRT显示处理。此后系统就进入各种中断的处理,整个系统的管理是通过每个中断服务程序之间的通信方式来实现的。

该结构中任务的调度采用的是优先抢占调度。各级中断服务程序之间的信息交换是通过缓冲区来进行的。

中断型结构模式的优点是实时性好,由于系统的中断级别较多(最多可达8级),可将强实时性任务安排在优先级较高的中断服务程序中;缺点是模块间的关系复杂,耦合度大,不利于对系统的维护和扩充。20世纪80年代至90年代初的CNC系统大多采用的是这种结构。

(3)基于实时操作系统的结构模式

实时操作系统(Real Time Operating System,RTOS)是操作系统的一个重要分支,它除了具有通用操作系统的功能外,还具有任务管理、多种实时任务调度机制(如优先级抢占调度、时间片轮转调度等)、任务间的通信机制(如邮箱、消息队列、信号灯等)等功能。由此可知,CNC系统软件完全可以在实时操作系统的基础上进行开发。基于实时操作系统的结构模式的优点如下。

① 弱化功能模块间的耦合关系。CNC各功能模块之间在逻辑上存在着耦合关系,在时间上存在着时序配合关系。为了协调和组织它们,前述结构模式中,需用许多全局变量标志和判断分支结构,致使各模块间的关系复杂。在本模式中,设计者只需考虑模块自身功能的实现,然后按规则挂到实时操作系统上,而模块间的调用关系、信息交换方式等功能都由实时操作系统来实现,从而弱化了模块间的耦合关系,基于实时操作系统软件结构如图2-6所示。

图2-6 基于实时操作系统软件结构图

② 系统的开放性和可维护性好。从本质上讲,前述结构模式采用的是单一流程加中断控制的机制,一旦开发完毕,系统将是完全封闭的(对系统的开发者也是如此),若想对系统进行功能扩充和修改将是困难的。在本模式中,系统功能的扩充或修改,只需将编写好的任务模块挂到实时操作系统上(按要求进行编译)即可。因而,采用该模式开发的CNC系统具有良好的开放性和可维护性。

③ 减少系统开发的工作量。在CNC系统软件开发中,系统内核(任务管理、调度、通信机制)的设计开发往往是很复杂的,而且工作量也相当大。当以现有的实时操作系统为内核时,即可大大减少系统的开发工作量,缩短开发周期。