首页 理论教育 CNC系统软件结构与控制优化

CNC系统软件结构与控制优化

时间:2023-06-23 理论教育 版权反馈
【摘要】:图1-10 前后台型软件结构图1-9 任务并行处理CNC系统是一个专用的实时多任务计算机系统,在它的控制软件中,融汇了当今计算机软件技术中的许多先进技术。在这种软件结构中,CNC系统软件由前台程序和后台程序组成。整个零件加工结束则停机。自设立两个标志,到程序段插补完成这段时间中,CNC系统工作最为繁忙。

CNC系统软件结构与控制优化

978-7-111-41817-7-Chapter01-9.jpg

图1-9 任务并行处理

CNC系统是一个专用的实时多任务计算机系统,在它的控制软件中,融汇了当今计算机软件技术中的许多先进技术。其中多任务并行处理、前后台软件结构和中断型软件结构三个特点又最为突出。

1.CNC装置的多任务并行处理

CNC系统软件一般包括管理软件和控制软件两大部分。管理软件包括输入、I/O处理、显示、诊断等;而系统软件包括译码、刀具补偿、速度处理、插补、位置补偿等。在许多情况下CNC的管理和控制工作必须同时进行,即所谓的并行处理。例如:加工控制时必须同步显示系统的有关状态,位置控制与I/O控制同步处理,并始终伴随着故障诊断功能;控制本身的插补、位置控制、预处理之间的并行处理。图1-9所示为任务并行处理图,图中双向箭头表示两个模块之间有并行处理关系。

2.前后台型软件结构

前后台型软件结构(见图1-10)适合于采用集中控制的单处理器CNC系统。在这种软件结构中,CNC系统软件由前台程序和后台程序组成。前台程序为实时中断程序,承担了几乎全部的实时功能,这些功能都与机床动作直接相关,例如位置控制、插补、辅助功能处理、监控、面板扫描及输出等。后台程序主要用来完成准备工作和管理工作,包括输入、译码、插补准备及管理等,通常称为背景程序。背景程序是一个循环运行程序,在其运行过程中实时中断程序不断插入,前后台程序相互配合完成加工任务。程序启动后,运行完初始化程序即进入背景程序环,同时开放定时中断,每隔一固定时间间隔(如10.24ms)发生一次中断,执行一次中断服务程序。就这样,中断程序和背景程序有条不紊地协同工作。

978-7-111-41817-7-Chapter01-10.jpg

图1-10 前后台型软件结构

978-7-111-41817-7-Chapter01-11.jpg

图1-11 背景程序的调度管理功能

前后台型软件在运行过程中的调度管理功能由背景程序完成,见图1-11。其中的框图是一个经过简化的程序框图。系统初始化后等待按下启动按钮。启动按钮按下后,对第一个程序段译码进行预处理,完成轨迹计算和速度计算,得到插补所需要的各种数据,例如刀具中心轨迹的起点和终点坐标、刀具中心的位移量、圆弧插补时圆心的各坐标分量等,并将所得到的数据送插补缓冲存储区保存。若有辅助功能代码(M、S、T),则将其送到系统工作寄存器保存。接下来,将插补缓冲存储区的内容送至插补工作存储区,系统工作寄存器中的辅助功能代码送至系统标志单元,以供使用。完成交换后设置标志(数据交换结束标志、开始插补标志),标志尚未设置之时,尽管定时中断照常发生,但并不执行插补及辅助信息处理等功能,仅执行一些例行的扫描、监控等功能。只有在标志设置之后,实时中断程序才能进行插补、伺服输出、辅助功能处理,同时开始对下一段程序进行译码、预处理。系统必须保证在当前程序插补过程中完成下段程序的译码和预处理,否则将会出现加工中停刀的现象。由上述可见,背景程序是通过设置标志来达到对实时中断程序的管理和控制的。

自设立两个标志,到程序段插补完成这段时间中,CNC系统工作最为繁忙。在这段时间里,中断程序进行本程序段的插补及伺服输出,同时背景程序要完成下一程序段的译码和预处理。亦即在一个插补周期内,实时中断程序占用一部分时间,其余的时间留给背景程序。插补、伺服输出与译码、预处理分时共享(占用)CPU,以完成多任务并行处理,这就是所谓的资源分时共享。

下一程序段的译码预处理时间通常要比本程序段的插补运行时间短,因此在背景程序中还有一个等待插补完成的循环,在等待过程中不断进行CRT显示。本程序段插补加工结束,但整个零件加工未结束,则系统开始新的循环。整个零件加工结束则停机。

定时中断服务程序是系统的核心,除了进行插补和位置控制外,还要完成面板扫描、机床逻辑控制及实时诊断等任务。定时中断服务程序的框图如图1-12所示。

在定时中断服务程序中,首先进行位置控制。对前一插补周期中坐标轴的实际位移增量进行采样,再根据前一插补周期插补得到的位置增量(经过齿隙补偿)算出当前的跟随误差,进而得到进给速度指令,驱动电动机运动。接下来对主控制面板和辅助控制面板进行扫描,设置面板控制状态的系统标志。

机床逻辑处理包括:调用PLC程序执行M、S、T辅助功能及机床逻辑状态监控;处理控制面板的输入信息,对诸如启动、停止、改变工作方式、手动操作、进给率调节作出响应;对例如超程、超温、熔丝熔断、阅读机出错、急停、辅助功能执行状态等进行各种故障的诊断处理。

978-7-111-41817-7-Chapter01-12.jpg

图1-12 定时中断服务程序框图

当插补条件得到满足时,执行插补程序,算出位置增量,作为下一插补周期的位置增量数据。面板输出指扫描和修正控制面板的显示,为操作者指明系统的当前状态。

图1-13是一个CNC系统的前后台型软件的总体框图。该软件设置三种中断:可屏蔽(www.xing528.com)

978-7-111-41817-7-Chapter01-13.jpg

图1-13 前后台型软件的总体框图

10.24ms实时时钟定时中断、光电阅读机中断和键盘中断。其中光电阅读机中断优先级最高,10.24ms定时中断次之,键盘中断最低。10.24ms中断定时发生,而光电阅读机中断在启动阅读机后发生,键盘中断在键盘方式下发生。

CNC系统接通电源或复位后,首先运行初始化程序,然后设置有关标志和参数,设置中断向量,开放10.24ms定时中断。后台程序启动后,先进行MCU(机床控制单元)总清,清零件缓冲区、键盘MDI缓冲区、暂存区、插补参数区等,并使系统进入初始控制状态。系统设有四种工作方式,即自动、单段、键盘和手动方式。其中自动、单段方式在加工中采用;键盘方式主要处理各种键盘命令,例如编辑、输入/输出数据、设定参数等;手动方式主要处理点动、回原点等。按方式选择开关(当10.24ms中断程序扫描到面板上方式选择开关状态的变化时)即可进入相应的方式服务程序中,各方式服务程序的出口又返回到方式选择程序。

3.中断型软件结构

中断型软件结构没有前后台之分,除了初始化程序外,根据各控制模块实时的要求不同,把控制程序安排成不同级别的中断服务程序。整个软件是一个大的多重中断系统,系统的管理功能主要通过各级中断服务程序之间的通信来实现。数控系统中断型软件结构(表1-1)将控制程序分成8级中断程序,其中7级中断级别最高,0级中断级别最低。位置控制被安排在级别较高的中断程序中,其原因是刀具运动的实时性要求最高,CNC装置必须提供及时的服务。CRT显示级别最低,在不发生其他中断的情况下才进行显示。

表1-1 数控系统中断型软件结构

978-7-111-41817-7-Chapter01-14.jpg

为了进行系统管理,系统采取的中断程序间的通信方式有以下几种。

1)表1-1中,第1、2、4级中断设置成软件中断,第6级中断设置成硬件中断,由时钟定时发生,每4ms中断1次。这样每发生两次第6级中断请求发生1次第4级中断(第4级每8ms发生1次)。第6级中断每发生4次,设置1次1级、2级中断请求。这样便将第1级、第2级、第4级、第6级中断联系起来。

2)中断服务程序自身链接系统的第1级中断分成13个口子,每一个口子对应于口状态字的一位,每一位(每一个口子)对应处理一个任务,即第1级中断包括13个子任务。在执行第1级中断各口子的处理时,可以设置口状态字的其他位的请求,如图1-14所示。

978-7-111-41817-7-Chapter01-15.jpg

图1-14 第1级中断请求

如在8号口的处理程序中,可将3号口置1,这样8号口程序一旦执行完,即刻转入3号口处理。

3)设置标志。标志是各程序之间相互通信的得力工具。例如:第4级中断主要完成插补功能,每8ms中断一次。译码、刀具半径补偿等在第1级中断中进行。在第1级中断服务程序中,进行完译码和刀具半径补偿后即刻设置标志。是否开放插补中断程序取决于该标志的设置。在未设置译码、刀具半径补偿完成标志时,CNC装置跳过插补服务程序而继续往下执行。

4.常用的软件设计技术

在加工中,CNC装置需要做多项工作,甚至要求在同一时间间隔完成两项或两项以上的工作。为此,在CNC装置软件设计中,通常采用资源分时共享和资源重叠的流水线处理技术。

对于单微处理器的CNC装置,主要采用对CPU的分时共享(占用)来解决多任务的并行处理,其关键是如何分配占用CPU的时间。一般多采用循环轮流与中断优先相结合的方法来解决各任务对CPU的合理占用,亦即采用前后台型的软件结构形式。

流水线处理指在一段时间间隔内处理两个或多个任务,即时间重叠。显然,流水线处理要求同时处理各任务时,所需的时间应相等。但实际上CNC装置处理各任务所需的时间是各不相同的,因此采用流水线处理时,取最长的任务处理时间作为流水处理的时间间隔。这样一来,在处理时间较短的任务时,处理完成后需进入等待状态。需要指出,这种方法对于多微处理器CNC装置才具有意义。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈