最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能装备

一种面向多任务多通道的数控系统软件设计

发布时间:2014-06-27 作者:吴卫东 周会成 周向东 
关键字:吴卫东 周会成 周向东 
本文针对日益增长的复合加工需求,提出了一种在一台数控装置中实现多任务、多通道数控加工的数控系统软件设计方案,建立了数控软件的总体框架和数据关系,分析了数控软件的界面模块、解释器模块和任务及通道控制模块的设计要点。通过在总体框架中增加任务及通道层,在数据映射中关联通道结构,在界面中规划布局,在解释器扩充多个通道间的协调指令,在任务及通道控制中利用状态机控制的方式,完成了整个设计方案。该方案为单数控装置实现复合功能提供了有效的技术验证。


1 数控软件方案设计

  1.1 整体设计

  为了让机床厂家或机床用户在一台多功能数控系统上进行合理的配置,实现对不同结构的机床正确控制,就需要系统具有开放性和柔性。因此,软件整体设计阶段要考虑支持多任务结构的合理架构以及与多任务数据流有关的关键数据关系,这可为软件设计中的模块间接口和数据结构设计作支撑。

  (1)架构层次设计

  架构设计主要考虑两点,首先是软件系统的平台方案,其次是软件层次及模块划分。从多任务控制的角度需要着重考虑平台的多线程控制能力,从降低传统系统多任务定制的复杂角度关注系统的开放性。因此可供选择的方案有Windows  NT与MFCWinCE与wxWidgets(Python)或RTLinux与MFC人机交互的优良性和跨操作系统平台移植的可行性免度考虑选择WinCE与wxWidgets方案。软件层次按照开放式的软件结构特点,通过数据交互层,使应用层与核心控制层分离,该系统的整体框架如图1所示。与一般的开放式数控系统结构相比,其特点在于从应用层到核心控制层,每层中都必须考虑多任务相关的相关模块及接口。特别是应用层界面的显示配置模块、参数设置中增加通道参数;数据层中增加任务、通道数据;核心控制层增加了任务管理与通道管理模块,在线程管理中增加了对任务及通道的统一管理模块。

系统的整体框架
图1 数控软件系统的整体框架

  用户通过人机界面选择某个通道的C代码文件,同时后台的程序管理器从数据库中取出相应的G代码文件送到解释器,解释后的程序送到工艺过程优化器,进行专家系统的辅助加工工艺过程分析,以及对坐标点的平滑处理后,根据系统分析得到的数据启动实时线程管理器控制各对应任务、硬件扫描层和PLC控制层。在任务管理层中统一管理当前所有任务的通道轴及PLC信号。这样可以保证多个通道的工作模式能够得到一致控制。

  (2)数据映射关系

  为了使多通道的控制的运动数据与逻辑数据能得到正确的映射,使多刀架、多主轴的系统得到有效控制,保证数控软件的数据流的正确性,需要设计与通道有关的数据元素的关系。这里主要考虑与任务相关的数据关系。其中涉及任务、通道、运动(逻辑)组件和物理设备等。具体关系如图2所示。

  该数据组织关系中,任务作为所有控制单元的总体数据结构,其以通道和PLC作为基本单元,而通道含有伺服轴及主轴的相关信息,PLC属于PMC组件中的相关信息,通过运动控制单元轴组件及逻辑控制单元PMC组件,最后映射到各个物理设备,这样完成了从任务到具体设备之间的元素关系的建立和相应的索引路径。

  1.2 模块设计

  (1)界面模块布局设计

  多任务数控系统软件相比于传统的数控系统软件,界面有很大的区别,比如任务、通道视窗的布局显示,以及在动态加工仿真过程的图像窗口的控制等。

  在总体设计上,对于多任务的加工显示,采用多标签结合轮换的方式设计(考虑到以后与WEE的方式兼容)。其中每个标签对应一个任务,每个任务内的通道视窗不同,用户可以通过分屏切换的方法选择某一通道。每个G代码文件以通道为单位,同一个加工任务采用相同的加工控制方式:多任务的加工仿真是通过在系统软件中预留特定的视窗来显示缩略视图及局部视图。各个控件添加通道及任务作为其属性成员,从控制方式(自动、手动、MDA),加工状态(修调量、G代码状态、M代码状态、报警显示)的单个控件元素到一个标签式局部控件容器,各个标签的成员及属性由参数管理中的用户参数灵活配置。

  另外,在应用层设计中,还考虑二维或三维的零件切削仿真和测量监测过程仿真两个功能。仿真的接口通过设备虚拟层实现。采用模型驱动的方式,利用硬件抽象层的虚拟设备接口直接驱动模型。

  (2)解释器模块扩展指令设计

  传统的解释器是单任务的,对于多任务、多通道式的解释器,其主要的设计在于如何设计能够满足协调多个任务之间正确工作的指令,然后设计解释译码程序。对于解释器而言,一般与一个特定的轨迹是对应的,因此设计中将通道与c代码对应,而任务与任务之间则保持相对独立的关系。相对单通道数控系统而言,正确设计多个通道之间的协调指令是相对较复杂的。

  用户编程接口是指用户程序的指令符号标记,其符号的定义要求首先保证在解释译码时能简洁快速地实现多通道的配置,其次是与原编程指令兼容,然后是直观易懂。因此需要对解释器宏指令进行扩充,增加用户的轴命名规则,轴动态配置及增加CALL,子功能等调用宏指令。通过该宏指令,可以对扩展的子功能进行调用。设计的扩展子功能包括通道轴动态配置指令(配置/释放),轴同步标志信号指令(启动德待停止定时)。例如通道间的等待指令定义为WAITS[markNOchNO],在本通道内设置markNOchNO所指示的信号量,同时等待通道chNO,markNO所指示的信号量,如果该信号量置位则继续,否则阻塞本通道G代码。用户的编程格式如表1所示。

数控软件