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

来源:互联

点击:1704

A+ A-

所属频道:新闻中心

关键词:数控

    0 引言

      近年来,国内的数控产业发展态势良好,用户对产品的复杂度、加工精度、加工效率要求越来越高,对投资成本的控制愈加严格。一些多任务机床如车铣复合机床、双刀架的车床及多工位的铣槽机床等逐渐成为数控机床用户的首选。目前此类机床基本由机床公司或机床用户联合数控厂家进行定制开发,这种专机具有精简高效的特点。但是,这种的定制周期一般很难得到有效的控制,甚至某些定制任务会因旧软件框架的开放性不足而失败;部分定制成功的系统由于过于精简,功能固定、柔性不足,为机床用户后续的产品调整以及数控厂家的系统维护带来了极大的麻烦。另外,部分机床用户通过投入大量资金购买国外高档数控系统来应付复杂加工的要求,这对国内的制造业,尤其是国防工业有很大不利因素。

      国外的多功能机床应用形式多样,一些国外高档数控系统厂家如Siemens840D或Fanuc30得提出了通道控制或路径控制的概念。多通道控制中,通道与笛卡尔坐标空间是一一对应的。多通道数控系统与多任务数控系统的区别在于,一般多通道数控系统是针对同一个零件的多个工序在同一台数控系统上的加工,加工时通道间一般具有时间或距离上的关联性:而多任务数控系统则可以完成不同工艺的多个工件在同一台数控机床上的加工任务,任务间一般不具有关联性。多任务多通道数控系统其特点在于:

      (1)加工范围广:能够完成传统功能单一的数控系统所不能完成的任务,比如双刀架(双主轴)数控车等;

      (2)加工效率高:能够在符合加工工艺的前提下,将传统串行的工序并行化,比如同时进行车端面与铣键槽的工作;

     (3)加工精度高:能够在不更换夹具的情况下,先后完成粗车、精车以及磨削加工;

     (4)可重组性高:通过搭配不同结构的数控机床,能够在一台多功能数控系统上进行合理的配置后实现不同的加工控制,甚至可以实现在线测量任务与在线搬运任务,类似于三坐标测量机与机器手功能的复合;

      (5)用户投资少:与传统的多个机床完成同一多工位的加工方案和FNIS相比,其机床占地面积及用户投资也减少了。

      多任务数控系统软件的设计关键在于多任务数控系统中数据层的映射关系,人机界面的清晰及友好,解释器中对多通道代码符号的辨识,在核心控制层中对多任务、多通道的控制调度等。本文主要从系统软件设计的角度介绍多任务数控系统的几个重要的方面。文章第二部分介绍了软件的整体设计,具体包括多任务数控模块的层次,以及轴组件及PMC组件数据库的建立与映射;模块设计部分包括多任务界面模块设计、解释器扩充设计以及多任控制状态切换设计。最后,文章第三部分通过对一个多工位的双主轴交换的切削的在线仿真与实际加工验证该设计方案的正确性。1 数控软件方案设计

      1.1 整体设计

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

      (1)架构层次设计

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

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

      (2)数据映射关系

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

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

      1.2 模块设计

      (1)界面模块布局设计

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

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

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

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

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

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

      (3)任务及通道模块控制设计

      任务及通道的控制器设计是整个系统设计的关键部分之一。如何在系统中能充分协调整个系统的任务,使之既能实现串行控制也能实现并行控制是控制的关键所在。在基于PC式的数控系统中,采用线程结合信号量的方式实现对各个任务间的同步控制和任务间相隔一段时间或距离的异步控制。其中:

      泣践程的单位对干通道为最小单元,这样可以保证线程的粒度适中,使单个线程的周期空间及时间较小,从而是加工能得到较高的实时;

      区信号量分任务内部与任务外部两种,任务内部用于协调同一任务内部的通道间信号以及该任务自身的控制模式如自动、手动等任务外部用于协调流水线的信号,其主要完成任务间的联合控制。

      任务的状态控制是设计中关键,从实际的控制角度出发,使用状态机的方法来对其状态进行有效控制。状态机如图4所示。

    图4 状态机

      以任务作为控制方式的基本单元,以通道作为线程的控制单元,任务内部的状态切换由用户手动或PLC完成,通道之间的协调由线程和信号量内部控制。在单个任务正常运行的时候,同时监视该任务内的各激活通道的信号,如果有通道的信号已经到达,则请求对应的通道,切换到等待通道信号状态,在准备就绪后,唤醒对应的通道,使之加入运行队列。

    2 加工验证

      为了验证整个设计,根据上述设计方案,在WinCE系统平台下编程实现了一种多任务的数控系统软件,并进行了加工验证与仿真,如图5所示。

    由于多工位加工的复杂性,对编程人员的要求相对较高,而且碰撞、过切等情况发生的概率便相应增加,因此在该软件设计中,考虑了与实际加工同步进行的三维加工在线仿真来进行干涉检查和安全预警。图5便是整个设计的软件界面图,其正在进行一个多工位的双主轴交换的切削加工,通过加工的仿真,进一步验证了按照上述思路所设计的数控系统软件能够完成这种多任务、多通道的加工。

    3 结束语

      本文从软件整体结构及模块设计两个方面介绍了一种在一台数控系统中实现多任务、多通道数控功能的数控系统软件的整体设计方案。在软件整体结构方面介绍了整个系统的架构以及多任务和多通道中关键数据的组织关系;在模块方面介绍了用户界面HMI块、解释器模块及任务及通道控制模块的设计。最后结合一个多工位的双主轴交换的切削加工对所设计的软件进行了在线仿真与实际验证。与传统的数控系统相比,其复合加工的效率和精度更高,而且成本更低,灵活性更强,为单数控装置实现复合功能提供了有效的技术验证。


    (审核编辑: 智汇胡妮)

    声明:除特别说明之外,新闻内容及图片均来自网络及各大主流媒体。版权归原作者所有。如认为内容侵权,请联系我们删除。