该结构模式的CNC系统的软件分为前台程序和后台程序。前台程序是指实时中断服务程序,实现插补、伺服、机床监控等实时功能。这些功能与机床的动作直接相关。后台程序是一个循环运行程序,完成管理功能和输入、译码、数据处理等非实时性任务,也叫背景程序,管理软件和插补准备在这里完成。后台程序运行中,实时中断程序不断插入,与后台程序相配合,共同完成零件加工任务。图1所示为前后台软件结构中,实时中断程序与后台程序的关系图。这种前后台型的软件结构一般适合单处理器集中式控制,对CPU的性能要求较高。程序启动后先进行初始化,再进入后台程序环,同时开放实时中断程序,每隔一定的时间中断发生一次,执行一次中断服务程序,此时后台程序停止运行,实时中断程序执行后,再返回后台程序。
图1
前后台软件结构
美国A-B7360
CNC软件是一种典型的前后台型软件。其结构框图如图2所示。该图的右侧是实时中断程序处理的任务,主要的可屏蔽中断有10.24ms实时时钟中断、阅读机中断和键盘中断。其中阅读机中断优先级最高,10.24ms实时时钟中断优先级次之,键盘中断优先级最低。阅读机中断仅在输入零件程序时启动了阅读机后才发生,键盘中断也仅在键盘方式下发生,而10.24ms中断总是定时发生的。左侧则是背景程序处理的任务。背景程序是一个循环执行的主程序,而实时中断程序按其优先级随时插入背景程序中。
当A-B7360
CNC控制系统接通电源或复位后,首先运行初始化程序,然后,设置系统有关的局部标志和全局性标志;设置机床参数;预清机床逻辑I/O信号在RAM中的映象区;设置中断向量;并开放10.24ms实时时钟中断,最后进入紧停状态。此时,机床的主轴和坐标轴伺服系统的强电时断开的,程序处于对“紧停复位”的等待循环中。由于10.24ms时钟中断定时发生,控制面板上的开关状态随时被扫描,并设置了相应的标志,以供主程序使用。一旦操作者按了“紧停复位”按钮,接通机床强电时,程序下行,背景程序起动。首先进入MCU总清(即清除零件程序缓冲区、键盘MDI缓冲区、暂存区、插补参数区等),并使系统进入约定的初始控制状态(如G01、G90等),接着根据面板上的方式进行选择,进入相应的方式服务环中。各服务环的出口又循环到方式选择例程,一旦10.24ms时钟中断程序扫描到面板上的方式开关状态发生了变化,背景程序便转到新的方式服务环中。无论背景程序处于何种方式服务中,10.24ms的时钟中断总是定时发生的。
图2 7360 CNC软件总框图
在背景程序中,自动/单段是数控加工中的最主要的工作方式,在这种工作方式下的核心任务是进行一个程序段的数据预处理,即插补预处理。即一个数据段经过输入译码、数据处理后,就进入就绪状态,等待插补运行。所以图2中段执行程序的功能是将数据处理结果中的插补用信息传送到插补缓冲器,并把系统工作寄存器中的辅助信息(S、M、T代码)送到系统标志单元,以供系统全局使用。在完成了这两种传送之后,背景程序设立一个数据段传送结束标志及一个开放插补标志。在这两个标志建立之前,定时中断程序尽管照常发生,但是不执行插补及辅助信息处理等工作,仅执行一些例行的扫描、监控等功能。这两个标志的设置体现了背景程序对实时中断程序的控制和管理。这两个标志建立后,实时中断程序即开始执行插补、伺服输出、辅助功能处理,同时,背景程序开始输入下一程序段,并进行新一个数据段的预处理。在这里,系统设计者必须保证在任何情况下,在执行当前一个数据段的实时插补运行过程中必须将下一个数据段的预处理工作结束,以实现加工过程的连续性。这样,在同一时间段内,中断程序正在进行本段的插补和伺服输出,而背景程序正在进行下一段的数据处理。即在一个中断周期内,实时中断开销一部分时间,其余时间给背景程序。
一般情况下,下一段的数据处理及其结果传送比本段插补运行的时间短,因此,在数据段执行程序中有一个等待插补完成的循环,在等待过程中不断进行CRT显示。由于在自动/单段工作方式中,有段后停的要求,所以在软件中设置循环停请求。若整个零件程序结束,一般情况下要停机。若仅仅本段插补加工结束而整个零件程序未结束,则又开始新的循环。循环停处理程序是处理各种停止状态的,例如在单段工作方式时,每执行完一个程序段时就设立循环停状态,等待操作人员按循环启动按钮。如果系统一直处于正常的加工状态,则跳过该处理程序。
关于中断程序,除了阅读机和键盘中断是在其特定的工作情况下发生外,主要是10.24ms的定时中断。该时间是7360
CNC的实际位置采样周期,也就是采用数据采样插补方法(时间分割法)的插补周期。该实时时钟中断服务程序是系统的核心。CNC的实时控制任务包括位置伺服、面板扫描、机床逻辑(可编程应用逻辑PAL程序)、实时诊断和轮廓插补等都在其中实现。