机床厂故障诊断专家系统设计课程_第1页
机床厂故障诊断专家系统设计课程_第2页
机床厂故障诊断专家系统设计课程_第3页
机床厂故障诊断专家系统设计课程_第4页
机床厂故障诊断专家系统设计课程_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要基于WEB的机床故障诊断系统研究的要紧目的是使得用户在机床设备发生故障后,能够借助本系统快速诊断出故障的缘故,找到排除故障的方法,有效的缩短因设备故障而造成的设备停机时刻。同时关于机床制造商来讲,能够通过故障诊断系统减少小故障、常见故障维修的问题,减少维修人员的出差次数,降低了售后技术支持费用,增强产品的市场竞争力。本文设计并实现了一个基于WEB的故障诊断专家系统,该系统能够提升机床厂维修人员解决问题的效率。对快速恢复生产有重要的作用。系统编程采纳java语言,适用性强,理论上能在许多终端机上运行。该系统能够快速解决机床的故障问题,系统中分为一般用户系统和治理员用户系统,分不能进行不同类型的操作。论文以无锡开源机床生产的机床为研究对象,首先介绍了故障诊断技术和专家系统的进展历史,列出了该机床厂常见机床信息和故障类型,其次研究了故障诊断专家系统的结构,组成专家系统的各个部分成分及其功能,然后设计解决方案,构建出系统的总体框架,最后完成数据库的设计,实现系统的各个功能模块。关键词:专家系统故障诊断机床故障数据库java

AbstractThemainpurposeoftheresearchofMachinetoolfaultdiagnosissystembasedonWEBistomaketheuserofthemachinetoolequipmentcanquicklydiagnosethefaultreasonswhenmachinetoolgoeswrong.Andtheusercanfindawaytosolvethefaults,throughthesystemwecaneffectiveshortenequipment’sdowntimeduetoequipmentfaults.Formachinetoolmanufacturers,theycanreducemanysmallandeasyfaultsduetoexpertdiagnosissystem,alsotheycanreducethenumberofmaintenancepeople,reducetheafter-saletechnicalsupportcosts,thesystemcanimprovethecompetitivenessofproducts.ThispaperdesignedandrealizedafaultdiagnosisexpertsystembasedonWEBservices,thesystemcanimprovetheefficiencyofsolvingmachinetools’problems.Andhasanimportanteffecttoquicklyrestoreproduction.ThissystemusestheJavalanguage,soitcanrunonmanyterminalsintheory.Thesystemcanquicklysolvetheproblemofmalfunctionofthemachinetools.Thesystemisdividedintoordinaryusersandadministratorusers,theycangofordifferenttypesofoperations.Thispaperisbasedonwuxikaiyuanmachinetoolplant,atfirstitintroducesthedevelopmenthistoryoffaultdiagnosistechnologyandexpertsystem,liststhecommonmachinetools’informationandfaulttypes,thenwestudythestructureoffaultdiagnosisexpertsystem,differentpartsoftheexpertsystemandtheirfunctions,atlastwedesignthesolutionsofthesystemandbuildthesystem'sframework,finallywecompletedthedesignofthedatabase,andrealizeseachfunctionofthemoduleinthesystem.Keyword:faultdiagnosis;expertsystem;machinetoolfaults;database;javalanguage;

目录前言 1第一章绪论 21.1故障诊断技术现状、进展及分类 21.1.1故障诊断技术进展的过程 21.1.2故障诊断技术进展现状 31.1.3故障诊断方法按诊断方法的原理能够分为: 31.2专家系统的进展 41.3国内外研究现状 51.4课题的研究意义和研究内容 51.4.1本课题研究意义 51.4.3本课题研究的内容 61.5本文结构 6第二章无锡开源机床厂机床的类型及常见故障 72.1开源机床厂常见的机床 72.2机床常见故障 72.2.1按发生故障部位 72.2.2按故障发生频率 72.2.3按发生的故障性质分类 72.2.4无锡开源机床厂机床故障 7第三章故障诊断专家系统总体设计架构 73.1系统的总设计思想 73.1.1专家系统的结构 73.1.2故障诊断专家系统的优点 73.1.3专家系统的建立步骤 73.2系统的总体设计 73.2.1系统的功能结构图和流程图 7第四章java语言的简介 74.1组成 74.2优势 74.3语言特点 7第五章数据库设计 75.1数据库环境的建立 75.1.1安装mySQL数据库 75.1.2安装mySQL治理软件NavicatformySQL 75.2数据库需求分析 75.2.1本系统的用户分为治理员用户和一般用户 75.2.2数据库概念结构设计 7第六章系统操作界面设计与实现 76.1登录模块设计与实现 76.2一般用户操作模块设计与实现 76.3治理用户操作模块设计与实现 7第七章系统实现的若干问题解决 77.1添加struts包实现动态action动作。 77.1.1struts 77.1.2历史库添加机床故障历史信息实例: 77.2治理员和一般用户分不在两种不同的界面登录: 7第八章结论与展望 78.1论文总结 78.2课题展望 7参考文献 7致谢 7前言专家系统能够汇合和治理来自不同渠道、学科和众多专家的经验,适和用来解决大量知识和经验才能解决的问题。目前,专家系统在各行各业运用的特不良好,本文研究机床故障方面的专家系统。通过研究故障诊断专家系统的设计方法,采纳myeclispse开发工具,使用NavicatforMySQL来连接治理数据库,设计开发出基于WEB的故障诊断专家系统。通过不同的用户,设置了不同的登录界面,一般用户能够实现故障的查询,翻阅机床故障历史纪录,治理员用户能够实现知识库、历史库等信息的增加、删除、查询。本系统侧重的功能是故障查询模块,因此不涉及职员信息治理等模块,该系统能提供故障查询,机床历史故障信息查询等功能。并能对知识库部分进行有效的治理,保证软件的能够与时俱进。由于本课题研究的是机床厂故障诊断,因此有必要介绍一下故障诊断这门技术的进展历史和现状,而课题研究的内容是机床厂故障诊断专家系统,因此在开篇部分分不从故障诊断技术的进展和专家系统的进展两个方面来分析。

第一章绪论1.1故障诊断技术现状、进展及分类1.1.1故障诊断技术进展的过程故障诊断技术是现代生产进展的产物,早在20世纪60年代末,美国国家宇航局(NASA)就创立了美国机械故障预防小组MFPG(MachineryFaultPreventionGroup)。其后,由于诊断技术应用所产生的巨大的经济效益,从而得到快速的进展。如美国Bechtel电力公司开发了火电厂机械设备诊断用专家系统(SCOPE,1987);美国Radial公司也在现在开发了汽轮发电机组振动诊断用的专家系统(Turbomac1987);美国西屋电气公司(WHEC)首先将网络技术应用于汽轮故障诊断,建立故障诊断中心,将分布在各地电站的多台机组实行远程诊断;美国Bently公司对旋转机械故障诊断及传感器的研究都进行了比较深入的研究。当故障诊断技术在美国迅速进展的同时,在西欧国家也得到了相应的进展。英国在1971年成立了机械保健中心(MechanicalHealthMonitoring),促进了各类机械工厂机械设备性能检测和维修水平的提高;法国电力部门从1978年起就在汽轮发电机组上安装了振动监测装置,20世纪90年代又提出了监测与振动支援站的设想;还有瑞士的ABB公司、德国的西门子公司、丹麦的B&K公司等都开发了有关诊断系统及信号监测装置。在亚洲,日本针对汽轮发电机组寿命监测和故障诊断进行了专门多研究,1987年东芝电气公司开发了大功率汽轮机轴系诊断系统,20世纪90年代又开发了机器寿命诊断的专家系统;日立公司于1982年开发了汽轮组寿命诊断装置,并逐步形成了一套完整的机器寿命诊断方法;三菱公司在20世纪80年代也研制了能自动进行异常征兆监测并能诊断其缘故的诊断系统[1]。由上述分析可知,各国家有关故障诊断技术的研究和诊断系统的研制大多是从汽轮发电机开始,其缘故:1)电力系统对国民经济建设和人民生活均十分重要,阻碍面广;2)在连续生产系统中,发电机、空气压缩机差不多上动力源,假如一台机组产生故障,不仅阻碍其本身效率的发挥,还会阻碍整个生产系统的正常运行;3)汽轮发电机组的生产过程是连续的旋转过程,振动信号拾取和信号处理的处理的方法相对其他方法而言比较成熟,在生产条件下容易实现。1.1.2故障诊断技术进展现状近十年来,国内外故障诊断方法与技术的进展要紧集中在三个方面,一是故障诊断策略与模式的研究,如分布式监测诊断模式、基于internet的远程分布式监测诊断模式等;二是智能诊断方法与技术的研究,如基于行为的神经网络诊断方法、基于多智能体(即多代理)的诊断方法等;三是故障特征分析与特征量提取的研究,如小波分析和时频分析方法的应用[2]。1.1.3故障诊断方法按诊断方法的原理能够分为1).频域诊断法应用频谱分析技术,依照频谱特征变化,判不机器的运行状态及故障形成的缘故。2).时域分析法应用时刻序列模型及有关的特性函数,判不机器工况状态的变化。3).统计分析法应用概率统计模型及其有关的特性函数,实现机器的工况状态监视与故障诊断。4).非平稳信号分析法机械设备的测试信号常常是非平稳的,可应用Wigner分部、小变换和时—频分析等方法进行研究并提取特征量,判不故障性质。5).信息理论分析法应用基于信息理论建立的某些特性函数,如Kull-back信息数、J散度等机器运行过程中的变化,进行机器的工况状态分析与故障诊断。6).人工智能方法如模式识不、人工神经网络、专家系统等。由于人工智能技术的进展而提出来的诊断方法。随着计算机和网络技术的进展,分布式人工智能方法的提出,近年来又提出多代理协作诊断方法等[2]。1.2专家系统的进展专家系统是一个智能计算机程序系统,其内部含有大量的某个领域专家水平的知识与经验,能够利用人类专家的知识和解决问题的方法来处理该领域问题。也确实是讲,专家系统是一个具有大量的专门知识与经验的程序系统,它应用人工智能技术和计算机技术,依照某领域一个或多个专家提供的知识和经验,进行推理和推断,模拟人类专家的决策过程,以便解决那些需要人类专家处理的复杂问题,专家系统是一种模拟人类专家解决领域问题的计算机程序系统[2]。1965年,f.a.费根鲍姆等人在总结通用问题求解系统的成功与失败经验的基础上,结合化学领域的专门知识,研制了世界上第一个专家系dendral,能够推断化学分子结构。20多年来,知识工程的研究,专家系统的理论和技术不断进展,应用渗透到几乎各个领域,包括化学、数学、物理、生物、医学、农业、气象、地质勘探、军事、工程技术、法律、商业、空间技术、自动操纵、计算机设计和制造等众多领域,开发了几千个的专家系统,其中许多在功能上已达到,甚至超过同领域中人类专家的水平,并在实际应用中产生了巨大的经济效益[3]。专家系统的进展差不多历了3个时期,正向第四代过渡和进展。第一代专家系统(dendral、macsyma等)以高度专业化、求解专门问题的能力强为特点。但在体系结构的完整性、可移植性等方面存在缺陷,求解问题的能力弱。第二代专家系统(mycin、casnet、prospector、hearsay等)属单学科专业型、应用型系统,其体系结构较完整,移植性方面也有所改善,而且在系统的人机接口、解释机制、知识猎取技术、不确定推理技术、增强专家系统的知识表示和推理方法的启发性、通用性等方面都有所改进。第三代专家系统属多学科综合型系统,采纳多种人工智能语言,综合采纳各种知识表示方法和多种推理机制及操纵策略,并开始运用各种知识工程语言、骨架系统及专家系统开发工具和环境来研制大型综合专家系统。在总结前三代专家系统的设计方法和实现技术的基础上,已开始采纳大型多专家协作系统、多种知识表示、综合知识库、自组织解题机制、多学科协同解题与并行推理、专家系统工具与环境、人工神经网络知识猎取及学习机制等最新人工智能技术来实现具有多知识库、多主体的第四代专家系统[3]。1.3国内外研究现状近十年来,不管在理论上依旧在系统开发方面,故障诊断专家系统的研究工作都有了较大的进展。最初人们研制出来的专家系统,几乎都只能用于实验室,有些系统只是到了近几年才在性能上有所扩展,并有效的应用到实际中。认识到这一点后,人工智能领域和工程领域的研究人员转而降低研究对象的复杂程度,去研制一些基础问题和简单系统及复合系统的诊断专家系统。随着各种技术储备的增加,人们最终会开发出能直接为工程领域服务的高性能的故障诊断专家系统。我国对专家系统的研究开发起步较晚,大约开始于七十年代末,但其进展速度是比较快的。八十年代初,我国专家系统研究从最初的医疗农业领域,逐步渗透到交通领域、地质勘探、气象预报等领域,到了八十年代中期,我国专家系统的应用领域迅速扩大,在数学、物理、化学、工程、机械、经济、教育、军事等领域先后有一批专家系统问世。随着数控机床的广泛应用,其故障诊断专家系统的研制开发越来越受到人们的普遍重视[4]。1.4课题的研究意义和研究内容1.4.1本课题研究意义我国企业现有数控设备的利用率和完好率普遍偏低,除了由于普遍存在的生产任务不足的缘故外,维修力量不够和编程能力不够成为开工不足的要紧缘故,分不占34.8%和17.6%。阻碍数控设备的完好率的要紧缘故是维修力量不足,占42.5%[5]。基于WEB的机床故障诊断系统研究的要紧目的是使得用户在机床设备发生故障后,能够借助本系统快速诊断出故障的缘故,找到排除故障的方法,有效的缩短因设备故障而造成的设备停机时刻。同时关于无锡机床制造商来讲,能够通过使用本系统减少小故障、常见故障维修问题,减少维修人员的出差次数,降低了售后技术支持费用,增强产品的市场竞争力。1.4.3本课题研究的内容1.讨论了世界先进的故障诊断技术及专家系统的进展趋势,研究无锡开源机床厂的故障类型,并以故障树的方式表现出来。2.运用NavicatforSQL建立系统信息的数据库。3.在MyEclipse中编写程序,设计出一般用户登录模块、治理员登录模块、历史库治理模块、知识库治理模块、故障查询模块等。4.在设计的网页上进行各种操作,实现用户对各种故障进行查询,治理员同时能够对历史库和知识库的治理。5.定期对系统进行相关问题检测,并提出改善改进。1.5本文结构全文共分八部分:第一章:绪论本章介绍了故障诊断技术进展历史及现状,然后引出专家系统的进展历史,研究了国内外专家系统的进展状况,介绍了课题来源,研究内容和意义。第二章:无锡开源机床厂机床的类型及常见故障本章介绍了无锡开源机床厂的机床类型,研究了故障的类型,并用故障树的方法分析归纳出来。第三章:故障诊断专家系统总体设计架构分析故障诊断专家系统的总体设计框架,从潜在客户需求入手,分析出系统各个模块的功能的结构图,并画用户流程图。第四章:java语言的简介本章介绍了java语言的特点及其优势。第五章:数据库设计本章介绍本论文采纳的MySQL数据库,构建了本系统的E-R图模型,并依照E-R图导入数据表格。第六章:系统操作界面设计与实现本章显示本系统运行的界面,分不进行治理员用户和一般用户的操作,治理员能够对知识库、历史库等进行增加、删除、修改等操作,一般用户能够查询故障缘故,查询机床的故障历史。第七章:系统采纳的若干技术本章介绍了struts技术,如何实现增加、删除等操作,以及不同用户的登录问题。第八章:结论与展望总结本论文研究成果,对论文相关方面提出一些设想。

第二章无锡开源机床厂机床的类型及常见故障2.1开源机床厂常见的机床该公司要紧生产的类型要紧是数控磨床,在数控磨床方面的技术比较先进,该公司的生产的机床类型如下:数控无心磨床MKS10100

\o"WX1010型针阀自动无心磨床"WX1010型针阀自动无心磨床

\o"WX1013型芯轴沟道无心磨床"WX1013型芯轴沟道无心磨床

\o"MK2115数控内圆磨床"MK2115数控内圆磨床

\o"M2116数控内圆磨床"M2116数控内圆磨床

\o"WX1012型连杆专用无心磨床"WX1012型连杆专用无心磨床

\o"WX1016型气门杆无心磨床"WX1016型气门杆无心磨床

\o"数控内外圆复合磨床MK2710"数控内外圆复合磨床MK2710

MK1150/1型宽砂轮无心磨床

MK1150/3型数控宽沙轮无心磨床

MK11200/1型宽砂轮无心磨床

\o"WX1010型针阀自动无心磨床"WX1010型针阀自动无心磨床

\o"WX1012型连杆专用无心磨床"WX1012型连杆专用无心磨床

\o"WX1016型气门杆无心磨床"WX1016型气门杆无心磨床

\o"MGD2110B高精度内圆磨床"MGD2110B高精度内圆磨床

\o"MB2120半自动内圆磨床"MB2120半自动内圆磨床

\o"MK2120B数控内圆磨床"MK2120B数控内圆磨床

\o"MK28100数控立式内圆磨床"MK28100数控立式内圆磨床2.2机床常见故障随着现代社会的进展进步,机床的功能结构越来复杂,所出现的故障类型也是多种多样,对这些故障类型进行合理的分类有助于我们解决机床的故障。2.2.1按发生故障部位机床发生故障部位通常分为机械系统故障、电气系统故障、液压/气动系统故障。电气系统故障又可分为强电线路故障与数控系统故障。强电线路故障一般是由各种继电器、接触器线路故障与爱护线路及各种传感器故障造成的;数控系统故障要紧是由于其硬件和软件故障形成的。机械系统故障表现在运动失效和精度超差两个方面。运动失效大多是减速箱、丝杠螺母副、导轨副等故障造成的;而精度超差又可分为几何精度超差、传动精度超差、运动精度超差和位置精度超差。液压/气动系统故障的出现一般是由机械电气引起的故障、液压/气动传动与操纵故障造成的。液压传动与操纵故障又可体现在驱动部分的故障、执行部分的故障、操纵部分的故障和辅助部分的故障等[5]。2.2.2按故障发生频率数控机床的故障发生频率在其使用期内是不相同的。由于机床在运行中有一种固有的特性曲线叫“浴盆曲线”[6],如图2-1所示。因此也可将故障类型分为初期故障、偶发故障和磨损故障。图2-1设备使用失效的“浴盆曲线”使用初由于机床各部位需要磨合,操作人员也要熟悉机床而故障失效率高一点,中期机床趋于稳定,因故障而发生的失效率低,超过损耗失效期后,机床各个部位老化退化,因而故障概失效率又增加。初期故障是设备使用初期的故障,故障频率较高,一般无规律可循。在那个时期,电气、液压和气动系统故障频率约占整个初始故障的90%[6],为此,要加强对机床的检测,勤记录,定期对机床进行机电调整,以保证设备各种运行参数处于技术规范之内。偶发故障是在正常运转时期,由于操作和维护不良而造成的。现在,各类元器件器质性的故障较为少见,但不排除偶发故障的产生,因此,在那个时期内要坚持做好设备运行记录,以备排除故障时参考。磨损故障是由于年久失修和磨损而产生的故障,故障频率较高,故障性质属于渐发性。例如橡胶件的老化,轴衬和液压缸的磨损,限位开关接触灵敏度以及某些电子元器件品质因素下降等。2.2.3按发生的故障性质分类按性质可分为系统性故障和随机性故障。系统性故障通常是指只要满足一定的条件或超过某一设定的限度,工作中的数控机床必定会发生的故障。如:机床加工因切削量过大达到某一极限值时必定会发生过载或超温报警。随机性故障通常是指数控机床在同样的条件下工作时只偶然发生一次或两次的故障。这类故障的发生往往与安装质量、组件排列、参数设定、元器件品质、操作失误与维护不当,以及工作环境阻碍等诸因素有关。由于其具有偶发性,进行缘故分析与故障诊断较其它故障困难得多。2.2.4无锡开源机床厂机床故障此处用故障树的方法表示出来,如图2-2、2-3、2-4、2-5、2-6、2-7所示:图2-2机床故障总体结构的故障树图2-3无心磨床故障树图2-4内圆磨床的故障树图2-5超精机机床故障树图2-6电气部分故障树

图2-7液压部分的故障此处利用故障树的分析方法,特不直观,明了,能够清晰了解各个机床不同部位或不同类型的所有故障。

第三章故障诊断专家系统总体设计架构随着数控机床技术的不断进步和计算机语言的迅猛进展,各行各业对专家系统的应用越来越多,尤其是在制造企业中。充分利用现有的有利条件,开发机床的专家系统,是特不可行的。专家系统有助提高机床厂解决问题的能力,增加企业的生产效率,从而产生经济效益。3.1系统的总设计思想关于机床故障诊断的查询是基于web的故障诊断系统,本系统功能侧重于故障的查询,知识库的更新,因此该系统的用户模块结构相对简单。知识库、历史库模块的功能相对复杂,能够进行增加、删除、修改等操作。3.1.1专家系统的结构专家系统的结构是指专家系统各组成部分的构造方法和组织形式。不同类型的专家系统,其功能和结构上也不尽相同。专家系统一般由知识库及其治理系统、推理机、综合数据库、知识猎取机制、解释机构和人机接口六部分组成。1).知识库及其治理系统知识库是以一致的形式存储知识的机构,用于存储某领域专家的经验性知识、原理性知识、相关的事实、可行操作与规则等。解决知识、猎取和知识表示问题是建立知识库的关键问题。2).知识猎取机制知识猎取机制的建立,实质上是设计一组程序,把知识送入到知识库,负责维护知识的正确性、一致性和完整性。知识猎取是专家系统知识库是否优越的关键,我们试图建立自动知识猎取机制,实现专家系统的自动学习功能,不断地扩充和修改知识库中的内容。3).综合数据库综合数据库又称全局数据库或“黑板”等,它用于存储领域或问题的初始数据(信息)、推理过程中得到的中间结果或状态以及系统的目标结果,包含了被处理对象的一些问题描述、假设条件、当前事实等。4).推理机推理机是专家系统中实现基于知识推理的部件,是基于知识的推理在计算机中的实现,是专家系统的核心部分。推理机用于经历所采纳的规则和操纵策略的程序,完成依据一定的知识规则从已有的事实推出结论的近似专家的思维过程,保证整个专家系统能够以逻辑方式协调地工作。5).解释机构解释机构能够向用户解释专家系统的行为,包括解释推理结论的正确性以及系统输出其它候选解的缘故。这是专家系统区不于其它软件系统的要紧特征之一,解释机构实际上也是一组计算机程序,通常采纳预置文本法和路径跟踪法。当用户有询问需求时,解释机构能够跟踪和记录推理过程,把解答通过人机交互接口输出给用户。6).人机接口接口又称界面,是用户与专家系统之间的连接桥梁,它能够使系统与用户进行对话,使用户能够输入必要的数据、提出问题和了解推理过程及推理结果。专家系统则通过接口,要求用户回答提问,并回答用户提出的问题,进行必要的解释[6]。3.1.2故障诊断专家系统的优点1).故障诊断专家系统能够高效率、准确、周到、迅速和不知疲乏地进行工作。2).故障诊断专家系统解决实际问题时不受周围环境的阻碍,也不可能遗漏不记得。3).专家系统能促进各领域的进展,它使各领域专家的专业知识和经验得到总结和精炼,能够广泛有力地传播专家的知识、经验和能力。专家系统能汇合多领域专家的知识和经验以及他们协作解决重大问题的能力,它拥有更渊博的知识、更丰富的经验和更强的工作能力。4).研究专家系统能够促进整个科学技术的进展。专家系统对人工智能的各个领域的进展起了专门大的促进作用,并将对科技、经济、国防、教育、社会和人民生活产生极其深远的阻碍。3.1.3专家系统的建立步骤1).识只是程识只是程也可看作知识猎取时期,在此过程中,要确定所处理问题的特征,明确要建立的专家系统要解决的问题及要用到的相应领域背景知识。这是完成专家系统设计的关键。只有对机床故障诊断特性了解的比较全面,所建立的专家系统的求解能力才能是比较完备的。首先确定数控机床故障诊断专家系统要解决的最终目标,依次逐步分析与该目标相关的诸多因素,然后再逐步分析这些因素。2).概念化过程概念化过程是对识不时期取得的各种因素进行抽象化,找出表达知识的概念,建立“概念化模型”。在建立专家系统时,明确系统中的差不多概念,并建立他们各自的差不多内容及相互联系。3).格式化过程这一过程实际上是设计和组织知识的结构。由于知识库是专家系统的核心,它的结构直接阻碍到专家系统求解问题的有效性,因而格式化过程又是建立专家系统的关键。依照机床故障诊断专家系统在知识库及问题求解方法上的特点,在组织知识库、建立知识库时,首先确定采纳的知识表达方式与推理技术。4).实现为了产生体现数控机床故障诊断知识的各种计算机形式,使这些知识在计算机中发挥有效的作用以产生问题的求解能力,必须把经形式化的知识表示成计算机的内部语言。还要针对系统的要求,建立必要的解释机制和良好的用户界面。5).测试这一时期要紧是验证体现知识的各种规则或知识实体。在建立了数控机床故障诊断专家系统知识库后,知识库中可能会有大量冗余知识或不一致的知识,进而引起专家系统查询功能的低效。测试的要紧目的确实是要确证所建立的数控机床故障诊断专家系统知识库的正确性。6).维护在现在期,扩充、修改知识库中的各种信息,以使数控机床故障诊断专家系统更进一步完善。这一时期与前几个时期有着紧密的联系,如实现时期中的各种知识猎取手段。实际上,以上各个步骤都有紧密的联系,而且为了使数控机床故障诊断专家系统投入有用而日益完善,每一个时期都应重复多次。3.2系统的总体设计本文用了IE扫瞄器,当扫瞄器进行操作时,自动将需要的信息放入一个表单中,当触发动作时,将此表单的信息传递到java类中,通过java类连接MySQL数据,查询数据库中的表单信息,触发的动作名称在struts.xml中定义。采纳struts结构有利于实现jsp的动态命令。系统的工作流程分为:用户首先进入登录首页,分不有治理员用户和一般用户登录,一般用户登录后能够对故障信息进行查询,也能够读取机床的故障历史记录。治理员用户的查询动作也是,治理的模块功能的实现要借助于struts。3.2.1系统的功能结构图和流程图通过用户的需求分析能够做出功能系统的功能结构图,结构模块分为用户登录模块、机床信息模块、历史信息记录模块、故障诊断模块,各个模块下面包含多个子模块,由于时刻关系,有些子模块的功能没有完全实现。依照系统的功能结构图,能够做出系统的流程图。如图3-1、3-2所示:图3-1故障诊断各个功能模块设计图3-2系统的作业流程图

第四章java语言的简介4.1组成Java由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(JavaAPI)平台。Java平台由Java虚拟机(JavaVirtualMachine,简称JVM)和Java应用编程接口(ApplicationProgrammingInterface,简称API)构成。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为差不多部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。Java平台差不多嵌入了几乎所有的操作系统。如此Java程序能够只编译一次,就能够在各种系统中运行。Java应用编程接口差不多从1.1x版进展到1.2版。常用的Java平台基于Java1.4,最近版本为Java1.7。4.2优势与传统程序不同,Sun公司在推出Java之际就将其作为一种开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了宽敞软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。Sun公司对Java编程语言的解释是:Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。4.3语言特点Java不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依靠各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。只是,每次的执行编译后的字节码需要消耗一定的时刻,这同时也在一定程度上降低了Java程序的运行效率。Java语言是简单的Java语言的语法与C语言和C++语言专门接近,使得大多数程序员专门容易学习和使用Java。另一方面,Java丢弃了C++中专门少使用的、专门难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特不地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存治理而担忧。Java语言是面向对象的Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也能够通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查[3]。

第五章数据库设计后台数据库的设计在本系统中占有十分重要的地位,数据库设计的优劣将直接阻碍系统的准确性、工作效率及事实上现效果,合理的设计能提高数据存储效率,保证数据的完整性和一致性。5.1数据库环境的建立5.1.1安装mySQL数据库本课题安装使用的是MySQL数据库,先导出数据库SQL脚本,再导入。5.1.2安装mySQL治理软件NavicatformySQL打开Navicat,在数据库中建立新的数据库名ab,界面如下图5-1所示5-1数据库的操作界面在database“ab”中建立新的表单,此处以知识库的表“kb”为例,如图5-2所示:图5-2知识库表“kb”的信息5.2数据库需求分析通过调查、收集和分析,获得潜在用户对专家系统的要求,设计出模块结构功能图,总结出用户需求信息。5.2.1本系统的用户分为治理员用户和一般用户治理员能够对知识库、历史库、用户信息进行增加、删除、修改等操作,一般用户能够进行故障查询,机床故障历史信息记录查询等操作。历史库的作用是用来存储机床故障的历史记录,包括故障机床的类型,故障机床的名称,故障的缘故,故障发生时刻及修好的时刻,历史库有助于用户对各个机床的工作状态有着清晰的了解。甚至能够从故障发生的频率推断出机床可能发生故障的时刻,从而做出相应的针对措施。知识库的作用是用来支持各种用户故障查询,提供解决故障的方法,是本系统的核心功能部分。治理员能够依照最新的信息及时的更新知识库,保证软件的功能可不能停滞、落伍。机床信息治理时能依照不同的客户及时更新系统的机床类型,清晰了解该客户所拥有的机床类型、数量,或由依照客户的要求,由相关人员依照客户所拥有的机床更新数据库中机床信息。5.2.2数据库概念结构设计1)数据模型是对现实世界数据特性的抽象,也确实是讲,数据模型是用来描述数据、组织数据和对数据进行操作的。数据模型是数据库系统的核心和基础。概念模型是对信息世界建模,概念模型的表示方法有专门多,此处用E-R图来描述概念模型,该系统面向的用户是固定的,要紧为机床的相关人员,构建该系统的E-R图如图5-3所示:图5-3系统的E-R图2)专家系统的实体有:治理员、一般用户、设备、知识库、历史库数据库的表单构建如下:表5.1设备数据表(equipment)名称字段名称类型长度是否主键标识Eidnumber10Y设备名称EnameVarchar50设备数量Enumbernumber5设备来源EsourceVarchar100设备类型EstyleVarchar100购入时刻EdateDatetime购入人编号EbuyidNumber10操作人员职员号eOpidnumber10备注remarkvarchar200使用寿命Eageunmber10表5.2用户登录数据表(user)名称字段名称类型长度是否主键标识Uidnumber10Y用户名Unamevarchar20密码Passwordinteger6电子邮件Emailvarchar30性不Sexvarchar2电话Phoneinteger20申请日期Issuedatedatetime表5.3治理员数据表(administrator)名称字段名称类型长度是否主键治理员登陆名anamevarchar20Y治理员登陆密码apasswordvarchar20表5.4知识库数据表kb名称字段名称类型长度是否主键故障统计countvarchar10Y故障类型kbtypeVarchar50故障现象kbdatailVarchar50解决方法kbsolveVarchar50机床类型kbidvarchar20表5.5故障历史记录表(history)名称字段名称类型长度是否主键故障现象Widvarchar50Y故障缘故WnameVarchar50机床型号WsexVarchar50机床类型Wphonevarchar20故障发生时刻Mbtimedatetime故障解决时刻metimedatetime 在数据库中建立以上的相关表。本系统一共涉及5张表,分不是设备数据表、用户登录数据表、治理员数据表、知识库数据表、故障历史记录表。每张表有多个属性组成,每个属性要依照实际要求设置相应的字段类型,例如故障历史记录的属性,mbtime表示的故障发生的日期,因此字段类型应当选择Datetime。主关键字(primarykey)是表中的一个或多个字段,它的值用于惟一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种唯一关键字,表定义的一部分[7]。

第六章系统操作界面设计与实现6.1登录模块设计与实现所有用户在此界面登录,首页介绍了开源机床厂的进展历史,并有各种机床的常见故障信息及机床简介,以及公司所获的成就、公司擅长生产的产品,有治理员登录链接和一般用户登录链接。如图6-1、6-2、6-3所示图6-1用户登录首页图6-2一般用户登录图6-3治理员用户登录6.2一般用户操作模块设计与实现一般用户能够进行故障查询和历史库信息查询,如图6-4、6-5:图6-4一般用户故障查询6-5机床历史故障信息查询6.3治理用户操作模块设计与实现治理员能够对知识库、历史库、一般用户进行增加、修改、删除的操作,及时更新知识库、故障库的信息,并能够增加登录的一般用户名,如图6-6、6-7、6-8、6-9所示:图6-6知识库的治理操作图6-7历史库的治理操作图6-8对一般用户的添加操作图6-9知识库信息查询第七章系统实现的若干问题解决7.1添加struts包实现动态action动作。7.1.1strutsStruts是由apache开源软件联盟提供,它的目标是希望分离WEB程序的表示层、操纵层和后台功能层,也确实是实现MVC模式。本系统采纳struts2,实例处理流程图如图7-1所示[8]。服务器启动后,依照web.xml加载ActionServlet读取struts-config.xml文件内容到内存[10]。以登录为例:第一次进login.jsp会先实例化Form、把默认值赋给表单元素。输入用户名密码提交表单、提交到action属性的login.action,通过ActionServlet读struts-config.xml文件找到action下的path属性找到.action,通过name属性找form-beans中的form-bean的name属性得到ActionForm的包名类名,先实例化form,把表单的值填充给form,调用form的validate方法验证、ActionErrors返回null表示验证通过,否则失败返回input指定的页面.验证通过会实例化Action,执行Action的execute方法[11]。图7-1实体处理流程图7.1.2历史库添加机床故障历史信息实例:此处历史库添加、删除、修改机床故障历史信息为例,它们的部分代码如下:privatestaticfinallongserialVersionUID=1L;privateStringlid;privateStringlname;privateStringldatail;privateStringlreason;privateStringlbtime;privateStringletime;publicStringgetLid()...在kbadd.java中往数据库中添加操作的代码:publicStringexecute()throwsException{HttpServletRequestrequest=ServletActionContext.getRequest();try{Class.forName("com.mysql.jdbc.Driver");Connectionconn=DriverManager.getConnection("jdbc:mysql://localhost:3306/ab","root","447887");Statementst=conn.createStatement();System.out.println(lid);Stringsql="INSERTINTOhistory(mid,mname,mdatail,mreason,mbtime,metime)VALUES('"+lid+"','"+lname+"','"+ldatail+"','"+lreason+"','"+lbtime+"','"+letime+"')";st.executeUpdate(sql);System.out.println("qerq");mit();System.out.println("name");request.setAttribute("info","添加成功!");st.close();conn.close();}catch(Exceptione){}return"success";}}在kbdelete.java中对数据库进行删除操作的代码:publicStringexecute()throwsException{HttpServletRequestrequest=ServletActionContext.getRequest();try{Class.forName("com.mysql.jdbc.Driver");Connectionconn=DriverManager.getConnection("jdbc:mysql://localhost:3306/ab","root","447887");Statementst=conn.createStatement();Stringsql="deletefromhistorywheremid='"+lid+"'";st.executeUpdate(sql);mit();System.out.println("name");request.setAttribute("info","删除成功!");st.close();conn.close();}catch(Exceptione){}return"success";}}在kbupdate.java中对数据库进行修改的数据如下:publicStringexecute()throwsException{HttpServletRequestrequest=ServletActionContext.getRequest(); Stringmid=request.getParameter("lid");try{Class.forName("com.mysql.jdbc.Driver");Connectionconn=DriverManager.getConnection("jdbc:mysql://localhost:3306/ab","root","447887");Statementst=conn.createStatement();Stringsql="select*fromtb_Knowledgewheremid='"+lid+"'";sql="updatehistorysetmname='"+lname+"',mdatail='"+ldatail+"',mreason='"+lreason+"',mbtime='"+lbtime+"',metime='"+letime+"'wheremid="+request.getParameter("lid");st.executeUpdate(sql);mit();System.out.println("name");request.setAttribute("info","更新成功!");st.close();conn.close();}catch(Exceptione){}return"success";}}列出在kbadd.jsp的部分代码如下,该代码的作用是当用户没有填写机床型号和名称时,弹出提示框提醒用户将必填的信息填完,假如这两项都填完时,系统才能执行kbadd.action动作,该动作是在sturts.xml中定义的。Struts.xml中定义了动作的代码和操作成功和失败的跳转的界面。functionCheck1(){if((document.form.part.value=="")||(document.form.phom.value=="")){alert("机床型号、名称不能为空");document.form.part.focus();returnfalse;}else{document.form.action="lisi.action";document.form.submit();}}7.2治理员和一般用户分不在两种不同的界面登录:治理用户登录成功是跳转到治理员的界面,所有的操作都不再需要权限验证,一般用户的登录操作成功后跳转的是一般用户的操作界面,能够进行一般的查询操作,治理登录和一般用户差不多上验证用户名和密码,若所输入的用户名和密码都正确,才能成功跳转。它们在类.java中的语言处理差不多上类似的,此处举例列出治理登录。Login1.java(治理员)中查询数据库的的语句,如下:publicStringexecute()throwsException{Stringch="fail";try{Class.forName("com.mysql.jdbc.Driver");Connectionconn=DriverManager.getConnection("jdbc:mysql://localhost:3306/ab","root","447887");Statementsm=conn.createStatement();Stringsql="selectidfromadminsterwhereid='"+id+"'andpassword='"

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论