可重构数控系统模块化设计的研制与开发

Posted 山一数控

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可重构数控系统模块化设计的研制与开发相关的知识,希望对你有一定的参考价值。

可重构数控系统模块化设计的研制与开发

数控技术无疑是现代先进制造技术中最重要的技术基础,从某种意义上说,数控技术的水平已成为衡量一个国家制造业水平的重要标志之一。出于技术垄断及独占市场等原因,各个厂家生产的数控系统在体系结构上大多是封闭的,即组成系统的硬件模块和软件模块是专用的、互不兼容的,系统各模块间的交互方式、通讯机制也各不相同,因此造成了不同厂家控制系统的相对独立彼此封闭。不同的数控厂家开发的软硬件不能互相替换缺乏兼容性,阻碍了数控系统的升级换代,造成了人力、物力和财力的巨大浪费,同时也降低了数控机床生产者对市场和用户的快速响应能力。

  为从根本上解决这个问题,提高数控系统的开放性就变得非常重要,为此人们提出了一种全新的数控系统概念一一模块化、可重构、可扩充的数控系统。i数控机床控制系统的硬件模块可重构近年来,随着PC机性能和质量的提高,数量的增加,价格的下降以及人们对PC机熟悉程度的深化,使基于PC的CNC系统具有更广阔的应用前景;而PC机上形形色色的应用开发与通讯等软件,更有利于CNC系统的扩展与集成。

  本文提出的可重构数控系统由一台PC机和一些加装在PC机总线上的控制卡组成,系统通过各自控制卡对伺服驱动等外部设备进行控制。PC机是一种标准的可重构系统其固有硬件CPU、Bios、存储器、软硬盘驱动器、串行/并行端口及中断、定时、显示、键盘控制器件等可通过设备驱动程序的安装和硬件插卡的方法很方便地进行可重构。PC机的总线如:PCI/ISA总线具有统一的标准,而各厂家生产的控制卡都满足总线的统一的标准用户可利用PC机的开放式总线将CNC的不同的控制卡或I/O板等插入PC机中,只需通过编制相应的硬件设备驱动程序来实现其功能,而不必对上层的应用软件进行修改。也就是说用户可通过设备驱动程序来屏蔽CNC系统中不同硬件设备间的差异从而使CNC系统控制软件的开发独立于硬件设备使得原始设备制造商(OEM)或最终用户将不必受由CNC制造厂家提供硬件的约束。

  所示为可重构数控系统的硬件配置结构框图虚线框内是标准PC机的配置。系统的硬件平台主要由标准PC机和基于PCI/ISA总线的多种通用轴伺服控制模块I7o模块人机界面交互模块轨迹插补模块编译译码模块刀补预处理模块插卡组成,体现了可重构数控系统的硬件标准化、通用化的特征。

  可重构数控系统硬件结构2数控机床控制系统的软件模块可重构21公用组件对象模型(COM摘介要对数控机床控制系统的软件模块进行可重构,首先应具有一种较好的通信和接口标准Microsoft提出的COM组件对象模型河满足这一需求。

  COM允许应用程序在终端用户计算机上运行时共享数据和程序代码。COM是编写可被别的应用程序使用的应用程序所必须遵守的规范。该规范详细提供编译器如何输出要进行通信的应用程序的可执行文件,操作系统如何支持该通信的详细情况,以允许COM独立于语言甚至独立于平台,以便用VB编写的COM应用程序能容易地和由ava或C++编写的应用程序一起工作。COM还是一种以组件为发布单元的对象模型这种模型使各软件组件可以用一种统一的方式进行交互。COM既提供了组件之间进行交互的规范,也提供了实现交互的环境,因为组件对象之间交互的规范不依赖于任何特定的语言,所以,作为不同语言协作开发的一种标准。COM表现出了极强的适应能力,因此,这两年伴随着网结的发展,COM得到了展示的机会。经过这几年软件发展过程COM成为了事实上的组件化软件的模型标准。

  22数控机床控制系统的软件模块的划分合理的模块划分,是开发软件模块的首要步骤。

  数控系统软件模块库中的各模块以界面的方式开放,通过接口参数和界面信息的提示用户可掌握模块的启动、结束和运作。不同模块的内部为黑箱封装,外部接口开放,并在此基础上实现新系统的构建。因此如何定义出合理的数控系统软件模块使模块的外部接口易于标准化、规范化,内部易于进行黑箱封装是我们开发数控系统软件模块库的关键步骤。

  目前尽管数控系统从系统的设计方法到系统的实现方式干差基本原理和软件的组成都是类似的。在对现有的数控系统和用户需求进行仔细而全面分析的基础上同时,在总结现有系统控制结构的共有特征,并对其进行适当的归类和抽象的基础上;I将数控系统划分为以下几个基本的功能模块。

  人机交互界面模块此模块主要芫成在系统运行前和运行中系统参数的修改和设定如菜单的管理涯序的编辑参数的设定和文件的管理等工作。

  编译译码模块:该模块主要根据输入的数控加工程序的语法规则对用户编写的零件程序进行语法、语义检查并进行译码工作;将数控源代码中给出的各种加工信息进行分离提取,变成各种状态和数据。再将处理的结果存入缓冲区等待其它模块的调用。

  刀补预处理模块该模块主要芫成插补前的准备工作,即对编译译码后的零件加工信息进行刀具长度或半径的静态补偿,确定刀补后刀具中心的运动轨迹。

  轨迹插补模块负责加减速的控制、插补、终点判别等工作,向位置控制器输出通过轨迹运算后的进给量。

  轴伺服控制模块在由I/O及插补运算得到的信息的前提下,通过精插补控制机床执行机构按NC指令指定的路径和速度运动。

  I/O模块负责控制器的输入和输出包拮机床检测信号及位置和相关反馈信息的输入、控制指令的输出等X所示的模块间具有互操作性、可移植性和可扩展性,因而可作为数控软件模块库的基本模块的划分。

  可重构数控系统软件模块结构23数控系统软件模块的工作过程描述了一般数控系统组件的工作流程。从图中可以看出每个数控组件都必须芫成一些基本功能,如数控组件注册、组件对象创建、接口指针引用以及组件对象卸载等。

  对象和接口,客户通过这些GUID值来创建COM对象并与对象交互。COM库通过系统注册表来获知组件程序的位置及组件的其他信息。系统注册表是一个全操作系统范围内公用的信息仓库,客户程序和组件程序都可以对系统注册表进行访问。组件程序把所实现的COM对象的信息以及接口信息都保存到系统注册表中,来进行组件的注册。

  (2)组件对象的创建:客户程序要使用COM组件,并不直接创建COM对象,而是调用COM库的函数里来芫成创建工作。而COM库也不直接创建COM对象,而是通过COM对象的类厂对象来真正创建COM对象。是通过类厂创建COM对象的示意图。类厂是COM对象的生产基地,对应每一个COM类,都有一个类厂专门用于该COM类的对象创建操作。

  数控组件工作流程图⑶指针引用在DllGetClassObectO函数中通过调用QuryInterface成员函数可以得到组件对象的接口指针并将接口指针保存在参数“(4)组件卸载:当组件程序满足以下两个条件:一、组件中的对象数为0二、类厂的锁计数器为0组件可被卸载。

  3总束语由于PC机的PCI/ISA总线具有统一的标准,而各厂家生产的控制卡都满足总线的统一的标准,本文提出的可重构数控系统可通过PC机的PCI/ISA标准总线和控制卡的设备驱动程序实现系统跨硬件平台的可移植性。通过对该数控系统软件结构进行合理的模块化分解和规范化的数控组件模块库的定义,为后继的系统开发莫定了较好的基础,采用COM规范构建可重构数控系统能够很好地解决软件重用的问题并具有良好的可持续开发性能。根据上述方法,可初步实现数控系统软硬件模块的可重构。可以解决长期困扰我国的数控系统硬件可靠性较差以及专用控制器开发水平低的问题。数控系统的开发制造就变成了以软件技术的研究和开发为主体,辅以少量控制卡的开发制造,主要硬件设备采用通用的PC机。这样就可以发挥中国的智力优势,有效提升我国数控系统的技术水平与市场竞争力。

(完)


以上是关于可重构数控系统模块化设计的研制与开发的主要内容,如果未能解决你的问题,请参考以下文章

设计模式之美 设计原则与思想:规范与重构30 | 理论四:如何通过封装抽象模块化中间层等解耦代码?

重构linux系统

网页搜索核心模块架构重构

设计模式之美学习-重构

前沿技术模块化可重构激光加工系统

模块化的设计任由搭配---让工作更轻松