CNC系统的软件结构
CNC装置的许多控制任务,如零件程序的输入与译码、刀具半径的补偿、插补运 算、位置控制以及精度补偿等。从逻辑上讲,这些任务可看成是一个个的功能模块, 模块之间存在耦合关系;从时间上来讲,各功能模块之间存在一个时序配合。在许 多情况下,某些功能模块必须同时运行, 同时运行的模块是由具体的加工控制要求 所决定。例如,在加工零件的同时,要求CNC装置能显示其工作状态,如零件程序的 执行过程、参数变化和刀具运动轨迹等,以方便操作者。 这时,在控制软件运行时 管理软件中的显示模块也必须同时运行;在控制软件运行过程中,其本身的一些功 能也必须同时运行。为使刀具运行连续进行, 在各程序段之间无停顿, 则要求译 码、刀具补偿和速度处理必须与插补同时进行。CNC装置各功能模块之间的并行处理 关系如图3-12所示,具有并行处理的两模块之间用双向箭刻或同一时间间隔内完成两种或两种以上性质相同 或不同的工作。 并行处理的优点能提高运行速度。在单CPU的CNC装置中,主要采 用CPU分时共享的原则来解决多任务的同时运行。各任务何时占用CPU及各任务占 用CPU时间的长短,是首先要解决的两个时间分配问题。 在CNC装置中,各任务占 用CPU使用循环轮流和中断优先相结合的办法来解决。图3-15是一个典型的CNC装 置各任务分享CPU的时间分配图
1) CNC
CNC系统有外部中断、 内部定时中断、 硬件故障中断和程序性中断等几种类 型。
(1) 外部中断主要有光电阅读机中断、外部监控中断(如紧急停、量仪到位等) 和键盘、操作面板输入中断。前两种中断的实时性要求很高,将它们放在较高的优 先级上。
(2) 内部定时中断主要有插补周期定时中断和位置采样定时中断。在有些系统 中这两种定时中断合二为一。但在处理时,总是先处理位置控制, 然后处理插补 运算。
图 3-12 并行处理关系
3.2.2 CNC
1. CNC装置软件、
CNC装置的软件结构取决于软件和硬件的分工,也取决于软件本身的工作性质。 硬件为软件运行提供了支持环境。软件和硬件在逻辑上是等价的,由硬件能完成的 工作原则上也可以由软件完成。硬件处理速度快, 但造价高, 软件设计灵活, 适 应性强,但处理速度慢。所以,在CNC装置中,软、硬件的分工是由性价比决定的。
图3-15 CNC装置分时共享CPU的时间分配
在完成初始化任务后,系统自动进入时间分配循环中, 在循环中依次轮流处 理各任务。而对系统中一些实时性很强的任务则按优先级排队,分别处于不同中断 优先级上作为环外任务,环外任务可以随时中断环内任务的执行。每个任务允许占 用CPU的时间受到一定的限制,对于某些占有CPU时间较多的任务,如插补准备(包 括译码、刀具半径补偿和速度处理等)可以在其中的某些地方设置断点,当程序运 行到断点处时,自动让出CPU, 等到下一个运行时间里自动跳到断点处继续执行。
图 3-14 CNC装置软件任务分解
不同的系统软件结构中对这些子程序的安排方式不同, 管理方式亦不同。在单 微处理器数控系统中,常采用前后台型的软件结构和中断型的软件结构。在多微处 理器数控系统中将微处理器作为一个功能单元利用上面的思想构成相应的软件结构 类型,各个CPU分别承担一定的任务,它们之间的通信依靠共享总线和共享存储器进 行协调。在子系统较多时,也可采用相互通信的方法。无论何种类型的结构,CNC装 置的软件结构都具有多任务并行处理和多重实时中断的特点。
3.2CNC系统的软件结构
3.2.1 CNC系统软件概述 CNC系统是一个典型而又复杂的实时控制系统, 能对信息作出快速处理和响应。
一个实时控制系统包括受控系统和控制系统两大部分。受控系统由硬件设备组成, 如电机及其驱动; 控制系统(在此为CNC装置)由软件及其支持硬件组成, 共同完 成数控的基本功能。
图 3-13 三种典型的软、 硬件界面关系
2. 系统软件的内容及结构类型
CNC系统是一个专用的实时多任务系统,CNC装置通常作为一个独立的过程控制 单元用于工业自动化生产中。 因此,它的系统软件包括管理和控制两大部分,如 图3-14所示。管理部分包括输入、I/O处理、通信、显示、诊断以及加工程序的编 制管理等程序; 控制部分包括译码、刀具补偿、速度处理、 插补和位置控制等软 件。数控的基本功能由这些功能子程序实现。 这是任何一个计算机数控系统所必 须具备的,功能增加, 自程序就增加。
在现代CNC装置中,软件和硬件的界面关系是固定的。 早期的NC装置中,数 控系统的全部功能都由硬件来实现,随着计算机技术的发展,计算机参与了数控 系统的工作,构成了计算机数控(CNC)系统,数控工作便由软件来完成。随着产 品、功能要求的不同,软件和硬件界面是不一样的,三种典型CNC装置的软、 硬 件界面关系如图3-13所示。
(3) 硬件故障中断是各种硬件故障检测装置发出的中断。 如存储器出错、定 时器出错、插补运算超时等。
(4) 程序性中断是程序出现的异常情况的报警中断。 如各种溢出、除零等。
3.
1) CNC
数控加工时,CNC装置要完成许多任务,图3-14反映了它的多任务性。在多数 情况下,管理和控制的某些工作必须同时进行。例如,为使操作人员能及时来了 解CNC装置的工作状态,显示模块必须与控制软件同时运行;当在插补加工运行时, 管理软件中的零件程序输入模块必须与控制软件同时运行。而当控制软件运行时, 其本身的一些处理模块也必须同时运行,例如,为了保证加工过程的连续性,即 刀具在各程序之间不停刀,译码、刀具补偿和速度处理模块必须与插补模块同时 运行,而插补程序又必须与位置控制程序同时进行。
4. 实时中断处理
CNC系统软件结构的另一个特点是实时中断处理。CNC系统程序以零件加工为对 象,每个程序有许多子程序,它们按预定的顺序反复执行,各步骤间关系十分密切, 有许多子程序实时性很强,这就决定了中断成为整个系统不可少的重要组成部分。 CNC系统的中断管理主要靠硬件完成, 而系统的终端结构决定了软件结构。