任务及通道的控制器设计是整个系统设计的关键部分之一。如何在系统中能充分协调整个系统的任务,使之既能实现串行控制也能实现并行控制是控制的关键所在。在基于PC式的数控系统中,采用线程结合信号量的方式实现对各个任务间的同步控制和任务间相隔一段时间或距离的异步控制。其中:
泣践程的单位对干通道为最小单元,这样可以保证线程的粒度适中,使单个线程的周期空间及时间较小,从而是加工能得到较高的实时;
区信号量分任务内部与任务外部两种,任务内部用于协调同一任务内部的通道间信号以及该任务自身的控制模式如自动、手动等任务外部用于协调流水线的信号,其主要完成任务间的联合控制。
任务的状态控制是设计中关键,从实际的控制角度出发,使用状态机的方法来对其状态进行有效控制。状态机如图4所示。
以任务作为控制方式的基本单元,以通道作为线程的控制单元,任务内部的状态切换由用户手动或PLC完成,通道之间的协调由线程和信号量内部控制。在单个任务正常运行的时候,同时监视该任务内的各激活通道的信号,如果有通道的信号已经到达,则请求对应的通道,切换到等待通道信号状态,在准备就绪后,唤醒对应的通道,使之加入运行队列。
2 加工验证
为了验证整个设计,根据上述设计方案,在WinCE系统平台下编程实现了一种多任务的数控系统软件,并进行了加工验证与仿真,如图5所示。其中图a为实际的加工机床结构图,图b为最终的软件实现图。
由于多工位加工的复杂性,对编程人员的要求相对较高,而且碰撞、过切等情况发生的概率便相应增加,因此在该软件设计中,考虑了与实际加工同步进行的三维加工在线仿真来进行干涉检查和安全预警。图5便是整个设计的软件界面图,其正在进行一个多工位的双主轴交换的切削加工,通过加工的仿真,进一步验证了按照上述思路所设计的数控系统软件能够完成这种多任务、多通道的加工。
3 结束语
本文从软件整体结构及模块设计两个方面介绍了一种在一台数控系统中实现多任务、多通道数控功能的数控系统软件的整体设计方案。在软件整体结构方面介绍了整个系统的架构以及多任务和多通道中关键数据的组织关系;在模块方面介绍了用户界面HMI块、解释器模块及任务及通道控制模块的设计。最后结合一个多工位的双主轴交换的切削加工对所设计的软件进行了在线仿真与实际验证。与传统的数控系统相比,其复合加工的效率和精度更高,而且成本更低,灵活性更强,为单数控装置实现复合功能提供了有效的技术验证。