CNC系统的控制软件结构特点
CNC系统是一个专用的实时多任务计算机系统,在它的控制软件中融合了当今计算机软件
技术中的许多先进技术,其中最突出的是多任务并行处理和多重实时中断。下面分别加以介绍。
1、多任务并行处理
(1) CNC系统的多任务性。CNC系统通常作为一个独立的过程控制单元用于工业自动化生产
中,因此它的系统软件必须完成管理和控制两大任务。系统的管理部分包括输入、I/O处理、显
示和诊断。系统的控制部分包括译码、刀具补偿、速度处理、插补和位置控制。在许多情况下,
管理和控制的某些工作必须同时进行。例如,当CNC系统工作在加工控制状态时,为了使操作人
员能及时地了解CNC系统的工作状态,管理软件中的显示模块必须与控制软件同时运行。当CNC系
统工作在NC加工方式时,管理软件中的零件程序输入模块必须与控制软件同时运行。而当控制软
件运行时,其本身的一些处理模块也必须同时运行。例如,为了保证加工过程的连续性,即刀具
在各程序段之间不停刀,译码、刀具补偿和速度处理模块必须与插补模块同时运行,而插补又必
须与位置控制同时进行。
下面给出CNC系统的任务分解图(图3-10(a))和任务并行处理关系图(图3-10(b))。在图3-10(b)
中,双向箭头表示两个模块之间有并行处理关系。
(2) 并行处理的概念。并行处理是指计算机在同一时刻或同一时间间隔内完成两种或两种以
上性质相同或不相同的工作。并行处理最显著的优点是提高了运算速度。拿n位串行运算和n位并
行运算来比较,在元件处理速度相同的情况下,后者运算速度几乎提高为前者的n倍。这是一种资
源重复的并行处理方法,它是根据“以数量取胜”的原则大幅度提高运算速度的。但是并行处理
还不止于设备的简单重复,它还有更多的含义。如时间重叠和资源共享。所谓时间重叠是根据流
水线处理技术,使多个处理过程在时间上相互错开,轮流使用同一套设备的几个部分。而资源共
享则是根据“分时共享”的原则,使多个用户按时间顺序使用同一套设备。
目前在CNC系统的硬件设计中,已广泛使用资源重复的并行处理方法,如采用多CPU的系统体系
结构来提高系统的速度。而在CNC系统的软件设计中则主要采用资源分时共享和资源重叠的流水线
处理技术。
(3) 资源分时共享。在单CPU的CNC系统中,主要采用CPU分时共享的原则来解决多任务的同时
运行。一般来讲,在使用分时共享并行处理的计算机系统中,首先要解决的问题是各任务占用CPU
时间的分配原则,这里面有两方面的含义:其一是各任务何时占用CPU;其二是允许各任务占用CPU
的时间长短。
在CNC系统中,对各任务使用CPU是用循环轮流和中断优先相结合的方法来解决。图3-10(c)是
一个典型CNC系统各任务分时共享CPU的时间分配图。
系统在完成初始化以后自动进入时间分配环中,在环中依次轮流处理各任务。而对于系统中一
些实时性很强的任务则按优先级排队,分别放在不同中断优先级上,环外的任务可以随时中断环内
各任务的执行。
每个任务允许占有CPU的时间受到一定限制,通常是这样处理的,对于某些占有CPU时间比较多
的任务,如插补准备,可以在其中的某些地方设置断点,当程序运行到断点处时,自动让出CPU,待
到下一个运行时间里自动跳到断点处继续执行。
(4) 资源重叠流水处理。当CNC系统处在NC工作方式时,其数据的转换过程将由零件程序输入、
插补准备(包括译码、刀具补偿和速度处理)、插补、位置控制4个子过程组成。如果每个子过程的处
理时间分别为
,那么一个零件程序段的数据转换时间将是
如果以顺序方式处理每个零件程序段,即第一个零件程序段处理完以后再处理第二个程序段,依
此类推,这种顺序处理时的时间空间关系如图3-11(a)所示。从图上可以看出,如果等到第一个程序
段处理完之后才开始对第二个程序段进行处理,那么在两个程序段的输出之间将有一个时间长度为t
的间隔。同样在第二个程序段与第三个程序段的输出之间也会有时间间隔,依此类推。这种时间间
隔反映在电机上就是电机的时转时停,反映在刀具上就是刀具的时走时停。不管这种时间间隔多么
小,这种时走时停在加工工艺上都是不允许的。消除这种间隔的方法是用流水处理技术。采用流水
处理后的时间空间关系如图3-11(b)所示。
流水处理的关键是时间重叠,即在一段时间间隔内不是处理一个子过程,而是处理两个或更多
的子过程。从图3-11(b)可以看出,经过流水处理后从时间
开始,每个程序段的输出之间不再有
间隔,从而保证了电机转动和刀具移动的连续性。
从图3-11(b)中可以看出,流水处理要求没一个处理子程序的运算时间相等。而在CNC系统中
每一个子程序所需的处理时间都是不相等的,解决的办法是取最长的子程序处理时间为处理时间间
隔。这样当处理时间较短的子程序时,处理完成之后就进入等待状态。
图3-11 资源重叠流水处理
在单CPU的CNC装置中,流水处理的时间重叠只有宏观的意义,即在一段时间内,CPU处理多个
子程序,但从微观上看,各子程序分时占用CPU时间。
2、实时中断处理
CNC系统控制软件的另一个重要特征是实时中断处理。CNC系统的多任务性和实时性决定了系
统中断成为整个系统必不可少的重要组成部分。CNC系统的中断管理主要靠硬件完成,而系统的中
断结构决定了系统软件的结构。其中断类型有外部中断、内部定时中断、硬件故障中断以及程序性
中断等。
(1) 外部中断。主要有纸带光电阅读机读孔中断、外部监控中断(如紧急停、量仪到位等)和
键盘操作面板输入中断。前两种中断的实时性要求很高,通常把这两种中断放在较高的优先级上,
而键盘和操作面板输入中断则放在较低的中断优先级上。在有些系统中,甚至用查询的方式来处
理它。
(2) 内部定时中断。主要有插补周期定时中断和位置采样定时中断。在有些系统中,这两种
定时中断合二为一。但在处理时,总是先处理位置控制,然后处理插补运算。
(3) 硬件故障中断。它是各种硬件故障检测装置发出的中断,如存储器出错、定时器出错、
插补运算超时等。
(4) 程序性中断。它是程序中出现的各种异常情况的报警中断,如各种溢出、清零等。
评论
查看更多