工程技术科技咨询导报COM接口的集合,提供了统一的方法以访问赵祥,李著信,萧德云。故障诊断技术的研存储在不同信息源中的数据。但是,由于究现状与发展趋势。机床与液压。清华大OLEDBAPI是为了给尽可能多的不同应用学,解放军后勤工程学院,2002(4提供最佳功能而设计的,因此不符合使用简便这一要求。
2系统总体结构2.1系统模块总体划分结合专家系统结构和工作的特点,以及我们所要实现的目标,我们把系统划分为六个模块,分别为:系统管理模块、知识库管理模故障诊断专家系统结构仪器仪表故障诊断专家系统总体设计分析王荣基赵岩(锦州石油化工公司知识库内容的修改,实现对与现代仪器仪表具有相似特征的设各的故障诊断。这就对系统在总体设计上提出了新的要求。
1系统总体架构分析1.1系统方案的分析选择根据知识表示的形式的不同,专家系统可以分为不同的类型。大致可以分为基于规则的产生式系统、基于故障树表示的系统、基于逻辑表示的系统、基于语义网络表示的系统、基于框架表示的系统以及基于其它知识表示的专家系统。根据我们要实施诊断的对象的特点和系统所要达到的要求,经过认真分析,我们决定采用基于规则的产生式专家系统。这是因为:从诊断对象来说,现代仪器仪表中很多仪器仪表除了有自身特殊的故障现象外,它们大多数故障现象都具有一致性或相似性,尤其是物理故障方面。我们可以把这些共同的故障现象集中到一起,放在一个通用库里面,而每台设各自身特有的故障现象放到具体的库里面。这样就缩小了知识库的体积,减少了故障诊断时知识库的搜索次数,提高了效率。
从产生式系统本身来说,基于规则的产生式故障诊断专家系统是目前使用最广、成就最多的一种方式,其技术已经相当成熟。从产生式表示法的特点来看,其自然性特点,符合人们的思维习惯,既直观又便于进行推理;模块化特点使规则库与推理机相对独立,每条规则都具有相同的形式,使规则便于封装并不断扩充;有效性特点可以把专家系统中需要的多方面知识用统一的知识模式有效的表示出来,使所设计的知识库架构具有一定的通用性。
在推理策略方面,我们选用正向推理和模糊推理策略。这是因为,我们在与领域专家的协作中,尽量把产生式规则简单化、细小化,尽量避免需要多重推理的情况出现。这样也使得采用正向推理策略可以达到很高的效率。
基于以上原因,我们选择基于规则的产生式专家系统,采用正向推理和模糊推理策略来实现对设备的故障诊断。
系统总体设计分析系统主要分为软件和硬件两部分。其中软件部分为系统的主要部分,主要包括:人机界面的设计、系统管理、对知识库和数据库的搜索和管理、数值计算和故障诊断、诊断解释和帮助功能。硬件部分主要实现在诊断过程中所需要的数据的采集,通过GPIB卡和被诊断对象组成。其总体结构如。
显示了系统的总体结构,同时也很好的说明了系统的工作流程。
本系统是基于Wndows操作系统平台设计的。软件部分采用McroSoft公司的Visual C++.net集成开发环境来实现。C++语言是一种面向对象程序设计语言,具有很好的面向对象特性和强大的数据处理能力。Visual C++.net集成开发环境使用C++语言进行软件开发,是目前被认为最好的软件开发的工具之一。它提供了代码的自动生成和可视化的开发环境,简化了程序员的编程工作,实现了直观、可视的程序设计风格。除此之外,VisualC++.net具有强大的数据库操作能力,可以很容易的芫成对数据库的各种操作。
在数据库端,为了和整个项目统一,我们出的一款关系型数据库管理系统软件,它是创建面向大型联机事物处理、数据仓库和电子商务的一个心形平台,支持芫全集成的XML环境、分析服务中的新的数据开采特性,以及元数据服务中增强的知识库技术,在稳定性、规模和操作简单化方面都得到了加强。SQLServer2000是一种基于图形的管理工具,可以实现集中式管理和建立支持多客户的应用程序,并支持多个不同开发平台和建立企业级的应用开发。
在数据库的访问方面,我们采用目前比较流行的ADO(ActiveXDataObject,ActiveX数据对象)数据库访问技术。它是Microsoft开发数据库应用程序的面向对象的新接口。针对数据库的访问,微软曾经提供了一个通用的解决方案OLEDB,它是一组块、故障诊断模块、诊断解释模块、查询模块和帮助模块。模块的划分和排列充分反映了专家系统的工作过程和我们进行诊断的操作过程。其中每个模块又分别通过包含各自的子模块来实现它们的功能。
2.2各模块功能介绍在故障诊断的过程中,我们将根据专家系统工作流程的不同时刻来对具体模块进行操作。各模块具体功能如下:系统管理模块:主要实现故障诊断前的准备工作。包括用户登录、用户管理、修改密码和数据库配置等功能。
知识库管理模块:主要实现对知识库的管理和维护,以使知识库不断芫善。主要包括对故障知识、结论知识、规则知识、排故知识和事例知识的管理和知识库的搜索、备份等。其中对知识的管理包括对知识的增加、删除、编辑、更新和定位等操作。
故障诊断模块:主要实现对指定设备的故障诊断工作。包括诊断参数设定、测试参数获取、故障诊断和仪表检定功能。其中诊断参数设定包括选择要进行故障诊断的仪器、环境参数设置和其它参数设置等。
诊断解释模块:主要实现对诊断结果的解释,以使诊断过程更加透明,诊断结果更加可信。包括:诊断解释、原理知识和经验指导等功能模块。
查询模块:主要实现对设备和诊断记录的查询。包括仪器查询功能和诊断记录查询功能。
帮助模块:主要包括关于系统的简单信息和诊断系统的使用帮助。专家系统的知识库和推理机是相互独立的。所以我们可以单独的对知识库进行管理和维护;对仪器设备和诊断记录等进行管理查询。实践证明,芫全独立的知识库和推理机并不能达到最好的效果。