CNC系统是一个实时多任务系统,由于CNC装置本身就是一台计算机,所以在CNC系统的控制软件设计中,采用了许多计算机软件结构设计的思想和技术。这里主要介绍多任务并行处理、前后台软件结构和中断型软件结构。
1.多任务并行处理
CNC装置的软件构成包括管理软件和控制软件两大部分。在多数情况下,CNC装置进行数控加工时,要完成多种任务。管理软件和控制软件的某些工作必须同时进行。例如,为使操作人员能及时了解CNC装置的工作状态,管理软件中的显示模块,必须与控制软件中其它模块同时运行。当在插补加工运行时,管理软件中的零件程序输入模块必须与控制软件中的相关模块同时运行。而当控制软件运行时,其本身的一些处理模块也必须同时运行。例如,为了保证加工过程的连续性,即刀具在各程序段之间不停刀,译码、刀具补偿和速度处理模块必须与插补模块同时运行,而插补程序又必须与位置控制程序同时进行。为此,数控加工的多任务常采用并行处理的方式来实现,即计算机在同一时刻或同一时间间隔内完成两种或两种以上性质相同或不相同的工作。
图1所示为各模块间多任务的并行处理。图中双箭头表示两个模块之间存在并行处理关系。
图1 任务的并行处理
2.前后台型软件结构
前后台型软件结构适合于单微处理器CNC装置。在这种软件结构中,前台程序是一个实时中断服务程序,承担了几乎全部的实时功能,实现与机床动作直接相关的功能,如插补、位置控制、机床相关逻辑和监控等。后台程序是一个循环执行程序,承担一些实时性要求不高的功能,如输入、译码、数据处理等插补准备工作,管理程序一般也在后台运行。在后台程序循环运行的过程中,前台的实时中断程序不断地定时插入,二者密切配合,共同完成零件的加工任务。
图2 前后台型软件结构
3.中断型软件结构
中断型软件结构没有前后台之分,整个软件是一个大的中断系统。在执行完初始化程序之后,整个系统软件的各种任务模块分别安排在不同级别的中断程序中,系统通过响应不同的中断来执行相应的中断处理程序,完成数控加工的各种功能。其管理功能主要通过各级中断服务程序之间的相互通讯来解决。
中断优先级共分8级,0级最低,7级最高,除了第4级为硬件中断完成报警功能外,其余均为软件中断。