随着现代制造业的进步和计算机集成系统的不断成熟,数控系统融合计算机技术正朝着开放化、网络化、智能化的方向发展。具有层次化结构的开放式数控系统以其可扩展、可移植、可互换和可配置等特点,成为当今数控技术发展的趋势。
组件技术具有可重用性和良好的语言无关性,可以实现跨进程、跨平台甚至网络范围内的互操作,较好地解决软件复用技术所面临的问题。由组件来组建开放数控软件,可在较高层次上满足开放式数控系统的要求。因此,本文提出了一个基于组件技术的开放式数控系统体系结构,并对系统的设计、实现、封装、部署等过程进行了详细介绍。
1 系统组件的划分
本文建立的数控系统从逻辑上划分为人机交互服务器(HMI Server)组件、认证服务(Authentica-tion Service)组件、运动控制核心(Motion ControlKernel,以下简称MCK)组件、PLC组件、运动学(Kinematics)组件和人机交互客户端(HMI Client)5个基本组成部分。
a) HMI Client是数控系统的客户端,为用户提供一个与数控系统进行交互的图形或命令行形式的界面,并且可以同时存在多个实例,它不与运动控制组件进行直接交互,而是以HMI Server作为中介。
b) HMI Server组件存在的目的是为HMIClient访问运动控制组件提供一个简单的外观层,降低HMI Client与运动控制组件之间的耦合度,因此,其主要功能是转发请求,并对任何加工数据进行处理,它是Facade设计模式的一个具体应用,满足了软件架构低耦合的要求。
c) MCK组件是整个系统的功能核心,负责完成系统大部分的任务。根据高内聚原则,将该组件进一步细分成8个子组件,每个子组件独立地实现一个特定的功能,这些子组件包括误差补偿(ErrorCompensation)组件、插补(Interpolation)组件、超前读(Look Ahead)组件、NC代码解释器(NC CodeInterpreter)组件、路径规划(Path Planning)组件、位置控制(Position Control)组件、刀具补偿(ToolCompensation)组件和速度规划(Velocity Control)组件。
d) Kinematics组件负责正向计算和逆向运动计算、采用几何方法纠错和刀具偏移量、对工件的动态检测、在联合坐标系和笛卡儿坐标系中进行运动学极限检测等。
e) PLC负责实现机床监控、换刀机构控制、夹具控制、润滑和冷却系统控制、传感器检测等数控系统的辅助控制功能。
2 系统的部署架构
基于CCM的分布式系统,可以通过网络将若干处理器资源组织起来,并通过将系统任务合理地分布于各处理节点上来实现系统功能。相对于运行于单机的系统而言,运行在分布式环境下的系统的运行能力可以随网络结构的扩展而进一步增强,并且可以避免单个节点过载的情况。
对于建立在分布式环境下的系统,系统组件之间的消息传递路径大体分为2种:位于同一节点内的组件之间的消息传递路径通常为PC总线;位于不同节点的组件之间的消息传递路径通常为网络总线。前者的响应延迟较低,因此,可以将有交互并且对交互响应时间要求较为严格的组件放置于同一节点,对交互响应时间并无明确要求的组件则可分布于不同的节点。
由于实现运动控制是系统的主要任务,并且运动控制过程对实时性有一定的要求,因此出于对效率的考虑,将与运动控制相关的组件即MCK、PLC和Kinematics安排在同一节点,称为运动控制节点。运动控制节点上安装了实时操作系统,这就使得数控系统可以根据各项任务对实时性要求的不同,为每个任务分配不同的优先级,从而保证了对关键任务的及时处理。系统的部署架构如图1。
图1 系统的部署架构