结构模式:指系统软件的组织管理方式,即系统任务的划分方式、任务调度机制、任务间的信息交换机制以及系统集成方法等。
结构模式的功能:组织和协调各个任务的执行,使之满足一定的时序配合要求和逻辑关系,以满足CNC系统的各种控制要求。
1.前后台型结构模式
该模式将CNC系统软件划分成两部分:
前台程序: 主要完成插补运算、位置控制、故障诊断等实时性很强的任务,它是一个实时中断服务程序。
后台程序(背景程序): 完成显示、零件加工程序的编辑管理、系统的输入/输出、插补预处理(译码、刀补处理、速度预处理)等弱实时性的任务,它是一个循环运行的程序,其在运行过程中,不断地定时被前台中断程序所打断,前后台相互配合来完成零件的加工任务。
前后台程序运行关系图
·前后台型结构模式的特点
任务调度机制: 优先抢占调度和循环调度。前台程序的调度是优先抢占式的;前台和后台程序内部各子任务采用的是顺序调度。
信息交换:缓冲区。前台和后台程序之间以及内部各子任务之间的。
实时性差。在前台和后台程序内无优先级等级、也无抢占机制。
该结构仅适用于控制功能较简单的系统。早期的CNC系统大都采用这种结构。
2.中断型结构模式
这种结构是将除了初始化程序之外,整个系统软件的各个任务模块分别安排在不同级别的中断服务程序中,然后由中断管理系统(由硬件和软件组成)对各级中断服务程序实施调度管理。整个软件就是一个大的中断管理系统。
中断型软件系统结构图
·中断型结构模式的特点
任务调度机制:抢占式优先调度。
信息交换:缓冲区。
实时性好。由于中断级别较多(最多可达8级),强实时性任务可安排在优先级较高的中断服务程序中。
模块间的关系复杂,耦合度大,不利于对系统的维护和扩充。
80~90年代初的CNC系统大多采用这种结构。
3.基于实时操作系统的结构模式
实时操作系统(Real Time Operating System RTOS)是操作系统的一个重要分支,它除了具有通用操作系统的功能外,还具有任务管理、多种实时任务调度机制(如优先级抢占调度、时间片轮转调度等)、任务间的通信机制(如邮箱、消息队列、信号灯等)等功能。由此可知,CNC系统软件完全可以在实时操作系统的基础上进行开发。
基于实时操作系统软件结构图
·基于实时操作系统的结构模式的优点
弱化功能模块间的耦合关系
CNC各功能模块之间在逻辑上存在着耦合关系,在时间上存在着时序配合关系。为了协调和组织它们,前述结构模式中,需用许多全局变量标志和判断、分支结构,致使各模块间的关系复杂。
在本模式中,设计者只须考虑模块自身功能的实现,然后按规则挂到实时操作系统上,而模块间的调用关系、信息交换方式等功能都由实时操作系统来实现。从而弱化了模块间的耦合关系。
系统的开放性和可维护性好
从本质上讲,前述结构模式采用的是单一流程加中断控制的机制,一旦开发完毕,系统将是的完全封闭(对系统的开发者也是如此),若想对系统进行功能扩充和修改将是困难的。
在本模式中,系统功能的扩充或修改,只须将编写好的任务模块(模块程序加上任务控制块(TCB)),挂到实时操作系统上(按要求进行编译)即可。因而,采用该模式开发的CNC系统具有良好的开放性和可维护性。
减少系统开发的工作量
在CNC系统软件开发中,系统内核(任务管理、调度、通信机制)的设计开发的往往是很复杂的,而且工作量也相当大。当以现有的实时操作系统为内核时,即可大大减少系统的开发工作量和开发周期。
·基于实时操作系统开发CNC系统的方法
在商品化的实时操作系统下开发CNC系统,国外有些著名CNC系统厂家采用了这种方式。
将通用PC机操作系统(DOS、WINDOWS)扩充扩展成实时操作系统,然后在此基础上开发CNC系统软件。目前国内有些CNC系统的生产厂家就是采用的这种方法。该法的优点在于DOS WINDOWS是得到普遍应用的操作系统,扩充扩展相对较容易,有利于形成具有我国自主版权的数控软件,这是一种适合我国国情的好方法。