节点文献

开放式数控系统软件故障自诊断、自愈合的研究

Software Fault Self-diagnosis and Self-healing of Open CNC System

【作者】 袁修华

【导师】 王义强;

【作者基本信息】 吉林大学 , 机械制造及其自动化, 2011, 博士

【摘要】 数控技术集机械制造、计算机、自动控制、电气控制、检测于一体,是各种先进制造技术的基础。数控系统正在向高速高精化、网络化、智能化和复合化的方向发展,数控系统的功能越来越强大,计算量越来越大,软件规模不断膨胀,软件的可靠性也越来越难保证。传统的数控系统软件开发方法是将应用程序分割成文件、模块或类,然后编译并链接这些组成部分,最终生成“铁板”块状的数控系统应用程序。当外部环境发生变化时,数控系统软件很难适应环境变化。在数控系统工作时,软件失效是由软件模块的输入值和运行状态组合导致的,没有故障前兆,因此软件故障很难在线捕捉和定位。目前,常用的故障检测方法是在软件模块中设定一些阀值,当软件模块中的参数超过阀值的设定范围时,则提示故障。软件故障代码定位常采用内存信息转储和打印中间结果技术,缺陷代码定位好坏取决于程序人员的直觉和经验,难以实现快速、自动化的故障定位。当前,传统的修复方式是维护人员修改或开发新的功能模块,编译链接生成新的应用软件,最后将新的应用软件重新部署到数控系统,重新部署的步骤包括“停止数控系统—执行修复程序—重新启动数控系统”。数控系统软件修复技术是一种静态、封闭的修复技术,既费时又费力,并且不能根据外部需求动态修改应用软件。本文以提高数控系统软件可靠性为目的,在国内外开放式数控系统和软件可靠性研究现状的基础上,开展了开放式数控系统组件装配技术、软件故障在线检测、软件故障自动定位和软件自愈合等方面的研究工作,主要研究内容、采用方法和结论如下:(1)基于组件的开放式数控系统。研究了开放式数控系统的体系结构和基于COM组件的功能模块;分析了开放式数控系统平台Windows + RTX的实时性,典型的PC机(主频2.4 GHZ、内存512 M )上RTX子系统的中断延迟时间为4 ~ 15μs,满足数控系统的实时性要求;建立了开放式数控系统多目标优化的组件装配模型,采用遗传算法选择组件最优的装配方案,并进行了插补组件装配仿真实验;实验结果表明遗传算法具有全局搜索能力,可以简单、快速地装配出高性能、高可靠的数控系统。(2)数控系统软件故障在线检测方面的研究。提出了基于人工智能技术的数控系统软件故障预判断、预处理技术;在虚拟轴研抛机床上进行了基于RBF神经网络和模糊数学的NURBS插补实验,分析了NURBS插补过程中的速度/加速度、插补精度、神经网络预测精度、实时性和故障预判断、预处理等方面的性能;实验结果表明,在保证加工要求的前提下,基于RBF神经网络和模糊数学的NURBS插补模块实现了插补过程中的故障预判断、预处理,为软件故障在线检测提供了新途径;在数控系统现场故障数据的基础上,建立了基于支持向量机的数控系统故障模型,并对比了基于最小二乘法的数控系统故障模型;对比分析发现,基于支持向量机的数控系统故障模型具有更高的精确度,并且相关性和一致性均优于基于最小二乘法的数控系统故障模型;因此,基于支持向量机的数控系统故障模型更加精确可靠,为客观地评估数控系统可靠性奠定了基础。(3)数控系统软件故障自定位方面的研究。建立了数控系统软件监控器,提出基于相似路径集和BP神经网络的缺陷代码定位的新方法。当数控系统工作时,软件监控器实时监测并保存功能模块的输入值、输出值和执行轨迹。当数控系统软件出现故障时,定位缺陷代码的步骤如下:根据功能模块的源代码生成控制流图,根据监控器保存的执行轨迹生成功能模块的失效路径;使用相似路径算法,生成数控系统功能模块的相似路径集;采用由失效路径和相似路径集组成的学习样本来训练BP神经网络,用虚拟路径作为BP神经网络的样本输入来预测失效路径中有向边的故障可疑度,可疑度最大的有向边即为缺陷代码。进行了NURBS插补模块的故障定位实验,实验表明基于相似路径集和神经网络的故障定位方法可以快速、准确地定位数控系统软件故障代码,避免了定位故障代码依赖于程序人员的直觉和经验,为实现快速、自动化的软件故障定位提供了新途径。(4)数控系统软件自愈合方面的研究。研究了数控系统组件修复方法;提出了数控系统组件热插拔技术,解决了组件动态替换中的对象透明引用、状态迁移和请求重定向等主要问题,并在java2平台上进行了NURBS插补组件热插拔应用实例研究。研究结果表明,开放式数控系统自愈合技术可以实现软件自身的在线、快速的修复,为数控系统动态适应环境变化和延长软件寿命提供了理论支持。

【Abstract】 Numerical control technique is basis for advanced manufacturing technology, which covers mechanical manufacture, computer, automatic control, and sensor detection. Nowadays, the CNC system is moving toward hi-speed, hi-precise, intelligence, network, and composite. The more powerful in the CNC function, the larger computational complexity as well as the increasing software scale make the software reliability more and more important. The traditional software development process of CNC system involves in three stages. Firstly, the software is segmented into file, module and class. Then, all source code is compiled and linked. Finally, the massive application program can be obtained. Under the circumstances, CNC system was difficult to adapt oneself to the external environmental changes.During the working of CNC system, the input value of function module together with their running state may lead to the software failure, which is hard to detect and locate. Currently, the traditional method of fault detection is to set the threshold value in function module. If the parameter in function module is not to fall within the threshold value, it will indicate the occurrence of software failure. Dumping memory information and checking intermediate result are usually the methods of choice to locate software fault, which largely depends on intuition and experience of programmer. Therefore, it fails to achieve the rapid and automatic fault location. Moreover, the traditional method of repairing CNC system involves in the following stages. Firstly, the function module is modified or afresh by the maintainer. Then the application program can be obtained through all compiling and linking the source code. Finally the new application program can be deployed in the CNC system. This CNC system repairing method is static, closed and rather time-consuming.The aim of this study is to improve the software reliability of CNC system. Based on the research status of software diagnosis and CNC system, we carried out the study of component assembly, software fault detection, software fault location and software self-healing. The main research contents, methods and conclusions are shown as follows.(1) Open CNC system based on component: the architecture of open CNC system and COM component were established. The real-time of CNC system based on“windows + RTX”platform was analyzed, and tests of interrupt were done on PC computer, whose main frequency is 2.4 GHz and main memory is 512 M. The interrupt response time of RTX subsystem was delayed from 4μs to 15μs, which indicated that the“Windows + RTX”platform could meet the real-time request. The multi-object optimal module of component assembly was constructed, and the optimal assembly scheme was generated by genetic algorithm. In addition, the assembly experiment of interpolation components was carried out. The experiment result show that genetic algorithm have a capability of global searching, which enable to construct a high performance open CNC system simply and quickly.(2) On-line fault detection of CNC software: software fault prejudgment and pretreatment of CNC system was proposed. The experiment of interpolation based on ANN and fuzzy math was carried out on virtual axis machine tool, and interpolation performance was analyzed. The experiment result show that the interpolation based on ANN and fuzzy math can realize the fault prejudgment and pretreatment, which provide a new way for on-line fault detection of CNC software. The fault module of CNC system was built based on the support vector machine (SVM), which was compared with the conventional fault module of CNC system based on least square method. We find that the fault module of CNC system based on SVM have higher precision, and its consistency and correlation is better than that based on least square method, which can lay the foundation for objectively evaluating the reliability of CNC system.(3) Fault location of CNC software: the monitor of CNC system was constructed, and the fault location based on similar path set and BP ANN was proposed. During the CNC system working, the monitor can monitor and save the executive information of function module, such as input, output, running track, etc. If the software of CNC system fails, the process of fault location will execute the following steps: firstly, the control flow graph was generated according to the source code of software module, and the failed path was generated through analyzing the fault information recorded by monitor; then the similar path set was obtained by similar path algorithm, and the BP ANN was trained by learning sample that composed of similar paths and failed path; After that, the fault suspicious of directed edge was predicted by inputting virtual path into the BP ANN; finally, directed edges were arranged in order of fault suspicious, and the directed edge with largest fault suspicious was fault edge. The experiment on fault location of NURBS interpolation was carried out, and the obtained experiment result show that the proposed method enable to locate fault code quickly and accurately, which can avoid the rely on the experience of programmer and provide a new way to locate software fault automatically.(4) Software self-healing of CNC system: the repair of component was studied, and the component hot-swapping was proposed. We solved the technical problems in the process of component hot-swapping, such as transparent citation of object, state transition, request redirection, et al. The experiment about component hot-swapping of NURBS interpolation was carried out on Java2 platform. The experiment result show that the proposed method enables to replace components diametrically under the premise of normal working of CNC system, and it also provide a new theoretical basis for CNC system in adapting environmental changes and prolonging service life.

  • 【网络出版投稿人】 吉林大学
  • 【网络出版年期】2012年 04期
节点文献中: 

本文链接的文献网络图示:

本文的引文网络